Python Programming Fundamentals (Coursera)

Offered by Duke University,
Python Programming Fundamentals (Coursera)

This introductory course is designed for beginners and individuals with limited programming experience who want to embark on their software development or data science journey using Python. Throughout the course, learners will gain a solid understanding of algorithmic thinking, Python syntax, code testing, debugging techniques, and modular code development--essential skills for a successful career in software engineering, development, or data science.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of this course, you will learn to:

  • Gain a stepwise approach to problem-solving using algorithms and programming logic.
  • Apply common functions, conditional statements, and loops to build Python scripts and programs.
  • Work with the VS Code programming environment to enhance coding proficiency.
  • Use testing and debugging strategies to ensure code reliability.
  • Perform logical and mathematical operations on datasets.

In the final week of the course you will apply your new algorithm design and programming skills to a data analysis problem: analyzing heart rate data.

What You Will Learn

  • Utilize a Logical Seven Step framework to create algorithms and programs
  • Create useful test cases and efficiently debug Python code.
  • Master Python basics (conditionals, loops, mathematical operators, data types)
  • Develop a Python Program from scratch to solve a given data science problem.

Syllabus

WEEK 1
Algorithm Design
This week, you will learn best practices for developing code in any language by beginning with an algorithm: a stepwise approach to solving a problem. You’ll then apply the concepts by developing your own algorithms and properly identifying when to use specific data types in Python.

WEEK 2
Translating Ideas into Code
This week, you will learn how to take the logical process of algorithm design and translate an algorithm into functional Python code. You will apply this by correctly identifying proper Python syntax for a given algorithm, and then subsequently by creating your own Python program for a given algorithm.

WEEK 3
Validating Your Code
This week, you will learn different approaches to testing Python code, and methods for debugging code. You will apply this by conducting a code review, identifying opportunities to use asserts to debug code, and generating your own test cases.

WEEK 4
Diving Deeper with Lists
This week, you will learn how to filter and perform operations (logical and mathematical) across a given dataset, and how to create modular code that can be used in discrete pieces. You will apply this by writing your own functions to identify a list item with a given property, and writing a program to calculate a set of conclusions from a given dataset.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Machine Learning: Concepts and Applications (Coursera) Coursera
University of Chicago

Machine Learning: Concepts and Applications (Coursera)

This course gives you a comprehensive introduction to both the theory and practice of machine learning. You will learn to use Python along with industry-standard libraries and tools, including Pandas, Scikit-learn, and Tensorflow, to ingest, explore, and prepare data for modeling and then train and evaluate models using a wide variety of techniques. Those techniques include linear regression with ordinary least squares, logistic regression, support vector machines, decision trees and ensembles, clustering, principal component analysis, hidden Markov models, and deep learning.

Sep 21st 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Sep 21st 2026
5-12 Weeks
Analíticas de Datos con Pandas (Coursera) Coursera
Tecnológico de Monterrey

Analíticas de Datos con Pandas (Coursera)

La analítica de datos ha avanzado considerablemente en los últimos años y ahora existen diversas herramientas que nos permiten realizar tareas o procesos que antes eran complicados de realizar. Gracias a su versatilidad, el lenguaje de programación Python posee una serie de librerías que permiten realizar proyectos de analítica de datos de una forma muy sencilla y una de las librerías más populares es Pandas.

Sep 21st 2026
4 Weeks
Developing AI Applications on Azure (Coursera) Coursera
LearnQuest

Developing AI Applications on Azure (Coursera)

This course introduces the concepts of Artificial Intelligence and Machine learning. We'll discuss machine learning types and tasks, and machine learning algorithms. You'll explore Python as a popular programming language for machine learning solutions, including using some scientific ecosystem packages which will help you implement machine learning.

Sep 21st 2026
5-12 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Sep 14th 2026
5-12 Weeks
Programming for Data Science (Coursera) Coursera
University of Leeds

Programming for Data Science (Coursera)

Explore the basics of programming and familiarise yourself with the Python language. After completing this course, you will be able to write Python programs in Jupyter Notebook and describe basic programming. In this course, you will learn everything you need to start your programming journey. You will discover the different data types available in Python and how to use them, learn how to apply conditional and looping control structures, and write your own functions.

Sep 21st 2026
3 Weeks
C++程序设计 (Coursera) Coursera
Peking University

C++程序设计 (Coursera)

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Sep 21st 2026
5-12 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 21st 2026
3 Weeks