• JetBrains logo
New

Practical Python Programming: From Core Concepts to Data Analysis with NumPy

Master core programming and data manipulation by writing real Python and NumPy code in a professional IDE from day one.

Practical Python Programming: From Core Concepts to Data Analysis with NumPy

  • 4 weeks

  • 6 hours per week

  • Digital certificate when eligible

  • Introductory level

Find out more about how to join this course

  • Duration

    4 weeks
  • Weekly study

    6 hours
  • 100% online

    How it works
  • Unlimited subscription

    $244.99 for a whole yearLearn more

Why learn Python and NumPy?

Python is no longer just a beginner-friendly scripting language; it is the backbone of modern software development, data science, automation, and AI. By pairing Python’s intuitive syntax with NumPy’s fast vector processing, you gain the exact tools used by financial analysts, machine learning engineers, and software developers worldwide.

Learn by coding, not reading

Setting up local environments, understanding array shapes, or mastering multi-dimensional indexing can feel overwhelming through passive video tutorials. This course breaks down programming into bite-sized, practical exercises.

Syllabus

Week 1: Python Setup & Fundamental Syntax

Get comfortable with professional setup, variables, and essential data types. Master string indexing, slicing, formatting with f-strings, and working with lists and nested list structures.

Week 2: Control Flow, Logic & Meeting NumPy

Dive into conditional decision-making (if/elif/else), master for and while loops, and write concise list comprehensions. Build reusable functions with flexible arguments (args, kwargs), and import your first NumPy modules.

Week 3: From Lists to Arrays & Advanced Manipulation

Transition from standard Python lists to high-performance NumPy arrays. Learn array generation, multi-dimensional shapes, broadcasting rules, integer/boolean indexing, partial sorting, and array concatenation.

Week 4: OOP, File Systems & Vectorised Math

Bring it all together with Object-Oriented Programming (classes and methods) and local file handling. Perform advanced text operations using numpy.char, map key-value data with dictionaries, and solve linear algebra and math problems with vectorised operations.

Syllabus

  • Week 1

    Python Setup & Fundamental Syntax

    • Start Coding with Python

      Meet the course structure, set up professional development tools, and run your first Python program while learning how comments make code easier to understand.

    • Working with Values in Python

      Explore variables, common data types, type conversion, assignment, arithmetic, comparisons, and Boolean logic, then apply them in practical coding activities.

    • Building and Formatting Text

      Work with Python strings through concatenation, indexing, slicing, membership checks, escape characters, common methods, and formatted string literals.

    • Organising Data with Lists

      Create and modify Python lists, access individual items, apply common list operations, and use nested lists to represent structured collections of data.

  • Week 2

    Control Flow, Logic & Meeting NumPy

    • Controlling Program Flow

      Use Boolean expressions and conditional statements to make programs respond to different situations, and practise writing clear branches with correct indentation.

    • Repeating Work Efficiently

      Automate repeated actions with for and while loops, build list comprehensions, control execution with break and continue, and avoid infinite loops.

    • Designing Reusable Functions

      Define and call functions, work with parameters and return values, document behaviour, use flexible arguments, and explore the principles of recursion.

    • Structuring Code and Introducing NumPy

      Organise Python code with modules and imports, distinguish imported code from executable scripts, and discover why NumPy is useful for numerical data.

  • Week 3

    From Lists to Arrays & Advanced Manipulation

    • Creating NumPy Arrays

      Move from Python lists to NumPy arrays, explore ndarray properties and data types, and create arrays from lists, empty structures, ranges, and evenly spaced values.

    • Reshaping Data and Broadcasting

      Use tuples to describe dimensions, change array shapes, transpose data, and understand how broadcasting makes operations between compatible arrays possible.

    • Selecting Data from Arrays

      Access and filter NumPy data with indexes, integer arrays, slices, comparisons, and Boolean masks while tracking how each selection affects the result.

    • Reordering and Combining Arrays

      Sort and partially sort values, generate and shuffle samples, join arrays by concatenating or stacking them, and divide arrays into smaller sections.

  • Week 4

    OOP, File Systems & Vectorised Math

    • Modelling Programs with Objects

      Create classes and instances, work with attributes and methods, use constructors and representations, distinguish class and instance variables, and organise code in packages.

    • Reading, Writing, and Exploring Data

      Read and write files with Python, load and save data with NumPy, handle real datasets, and search arrays to locate values and identify maximums.

    • Mapping and Counting Data

      Use dictionaries to organise key-value data, add and retrieve entries, inspect keys and values, and apply NumPy tools to find unique values and frequency counts.

    • Processing Text with Python and NumPy

      Join and transform Python strings, distinguish text from bytes, and apply NumPy string operations across arrays for case changes, checks, encoding, and translation.

    • Fast Array Calculations

      Apply vectorised mathematical operations and reductions to NumPy arrays, then use dot products and matrix multiplication to perform essential linear algebra calculations.

    • Review and Next Steps

      Consolidate the course’s Python and NumPy concepts with a final knowledge check, reflect on the practical skills developed, and identify useful directions for further study.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

  • Available now

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Build clean, functional Python scripts using control logic, custom functions, and object-oriented principles.
  • Harness NumPy to execute high-performance numerical operations and vector math without manual loops.
  • Manipulate, slice, reshape, and filter multi-dimensional datasets using advanced indexing and boolean masks.
  • Work efficiently in a professional JetBrains IDE with real-time feedback and built-in hints.
  • Read, write, and analyze external data files to automate real-world analytical tasks.

Who is the course for?

This course is designed for absolute beginners, aspiring data analysts, and self-taught programmers who want to build a solid Python foundation. If you prefer learning to code by actively solving challenges in a professional editor rather than sitting through long lectures, this course was created for you. No previous programming experience is required. Learners should be comfortable installing software and following step-by-step technical instructions.

You don’t need a deep computer science background to get started. If you want to automate repetitive tasks, analyse complex datasets, or build clean, maintainable software, this learning path is your most direct route.

What software or tools do you need?

You’ll write code directly inside a JetBrains IDE – the exact tool real developers rely on every day. With instant, automated feedback on every script, function, and array operation you write, you’ll build job-ready skills step by step through hands-on practice.

Who developed the course?

JetBrains Academy

JetBrains Academy helps learners build tech skills with developer tools through project-based programming courses, hands-on practice, and in-IDE learning.

Best ValueBest Value - learn more, save more!

Ways to learn

Buy this course

Subscribe & save

Start learning today

Choose the best way to learn for you!

$79/one-off payment

$244.99 for a whole year

Automatically renews

Free

Fulfill your current learning needDevelop skills to further your careerTry this course - with limits
Access to this courseticktick

Limited to 4 weeks

Access to 1,000+ coursescrosstickcross
Learn at your own paceticktickcross
Discuss your learning in commentstickticktick
Certificate when you're eligiblePrinted and digitalDigital onlycross
Continue & Upgrade

Cancel for free anytime

Ways to learn

Choose the best way to learn for you!

Best Value - learn more, save more!

Subscribe & save

$244.99 for a whole year

Automatically renews

Develop skills to further your career

  • Access to this course
  • Access to 1,000+ courses
  • Learn at your own pace
  • Discuss your learning in comments
  • Digital certificate when you're eligible

Cancel for free anytime

Buy this course

$79/one-off payment

Fulfill your current learning need

  • Access to this course
  • Learn at your own pace
  • Discuss your learning in comments
  • Printed and digital certificate when you’re eligible

Start learning today

Free

Try this course - with limits

  • Limited to 4 weeks

Find out more about certificates, Unlimited or buying a course (Upgrades)

Sale price available until 2 November 2026 at 23:59 (UTC). T&Cs apply.

Find out more about certificates, Unlimited or buying a course (Upgrades)

Sale price available until 2 November 2026 at 23:59 (UTC). T&Cs apply.

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Do you know someone who'd love this course? Tell them about it...