Free Course Image Scientific Computing

Free online courseScientific Computing

Duration of the online course: 8 hours and 37 minutes

New

Build in-demand Python skills for data, science and engineering—learn NumPy, SciPy and Jupyter in a free online course with practical exercises.

In this free course, learn about

  • Scientific computing workflow in Python using NumPy and SciPy
  • Using Jupyter Notebook: code vs Markdown cells for notes and LaTeX equations
  • Python core types for computing: int vs float (e.g., 5 vs 5.0) and common data structures
  • Basic operations, control flow (if/elif/else), and writing reusable functions
  • What modules are and how importing packages supports scientific workflows
  • Why NumPy beats Python lists: fast vectorized arrays, memory efficiency, numerical tools
  • Creating NumPy arrays; indexing and slicing (stop index is exclusive) for data selection
  • Matrix multiplication with NumPy (e.g., np.matmul / @ operator) for 2D arrays
  • Array reshaping rules: total number of elements must stay the same
  • Broadcasting basics and benefits: elementwise ops without explicit loops
  • Advanced broadcasting: keepdims=True to preserve dimensions for row/col-wise operations
  • SciPy overview and key modules: linalg, stats, interpolate, optimize, integrate
  • Linear algebra with SciPy: solving Ax=b using scipy.linalg.solve
  • Interpolation, curve fitting, and integration: more points for smoother plots; quad for integrals

Course Description

Scientific computing turns real-world questions into clear, testable answers using code. In this free online course, you will learn how to use Python as a practical tool for analysis, simulation, and problem solving across science, engineering, and data-driven work. Rather than treating programming as an abstract topic, the learning path is designed to help you think computationally: represent data correctly, choose efficient operations, and build reusable workflows that you can apply to new projects.

You will start by setting up a productive environment with Jupyter Notebook, where code, notes, and results live side by side. From there, you will strengthen core Python skills that matter for computation, including variables, data types, and structures, then move into control flows and functions so you can automate repetitive work and express logic cleanly. Along the way, short exercises help you validate concepts immediately and build confidence writing code that is both readable and reliable.

The course then focuses on NumPy, the foundation of modern scientific Python. You will work with arrays, indexing and slicing, reshaping, and array manipulation so you can model datasets and numerical signals efficiently. A key theme is performance and clarity: understanding why array-based computing can outperform basic lists and how vectorized thinking can simplify complex calculations. You will also learn broadcasting, including more advanced patterns, to combine arrays of different shapes without unnecessary loops.

Next, you will explore SciPy and its core modules to extend your toolbox: linear algebra for solving systems, statistics for distributions and hypothesis testing, interpolation for smoother curves and better visualizations, optimization for fitting models to data, and integration for computing areas and accumulated quantities. By the end, you will have a structured, practical workflow for tackling computational tasks in Python and a stronger foundation for further study in data science, machine learning, research computing, and technical roles that value numerical problem solving.

Course content

  • Video class: 1. Introduction to Scientific Computing with Python 14m
  • Exercise: Which Python library is primarily used for efficient array operations and numerical computations in scientific computing?
  • Video class: 2. Exploring Jupyter Notebook 29m
  • Exercise: In Jupyter Notebook, which cell type should you use to write notes and equations (LaTeX-style)?
  • Video class: 3. Python Variable Data Types 25m
  • Exercise: In Python scientific computing, how does Python classify 5 versus 5.0?
  • Video class: 4. Python Variable Data Structures 25m
  • Video class: 5. Basic Python Operations 23m
  • Video class: 6. Python Control Flows 38m
  • Exercise: In Python, which control-flow structure is typically used when you have three or more decision conditions to check (e.g., grading with A, B, C, and Fail)?
  • Video class: 7. Python Functions 33m
  • Exercise: Which statement best describes a Python module in scientific computing workflows?
  • Video class: 8. Numerical Computing with NumPy 29m
  • Exercise: Why is NumPy especially useful compared to basic Python lists when working with engineering/scientific data?
  • Video class: 9. NumPy Arrays 36m
  • Exercise: Which NumPy function is used for matrix multiplication of two 2D arrays?
  • Video class: 10. Indexing 27m
  • Exercise: In NumPy slicing, what does the stop index mean in the syntax start:stop:step?
  • Video class: 11. Array Manipulation 17m
  • Exercise: When reshaping a NumPy array, which rule must be satisfied for the new shape to be valid?
  • Video class: 12. Broadcasting in Python 17m
  • Exercise: What is the main benefit of NumPy broadcasting in scientific computing?
  • Video class: 13. Advanced Broadcasting in NumPy 14m
  • Exercise: In NumPy, why is `keepdims=True` useful when subtracting the mean of each row from a 2D array?
  • Video class: 14. Introduction to SciPy 09m
  • Exercise: Which statement correctly describes SciPy in scientific computing with Python?
  • Video class: 15. The SciPy.LinAlg Module 27m
  • Exercise: Which SciPy function is used to solve a linear system of the form Ax = b?
  • Video class: 16. The SciPy.Stats Module 30m
  • Exercise: In SciPy, which module is highlighted as the main tool for statistical analysis, probability distributions, and hypothesis testing?
  • Video class: 17. The SciPy.Interpolate Module 41m
  • Exercise: In SciPy’s interpolate module, what is a common reason for increasing the number of points (e.g., using np.linspace with 100 instead of 10) before plotting interpolated data?
  • Video class: 18. The SciPy.Optimize Module 47m
  • Exercise: Which SciPy Optimize function is used to fit a model curve to data points (curve fitting)?
  • Video class: 19. The SciPy Integrate Module 27m
  • Exercise: Which SciPy function is used to integrate a single-variable function over a fixed interval (single integration)?

This free course includes:

8 hours and 37 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Programming Languages ( Python, Ruby, Java, C )

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate