- Level Foundation
- Duration 45 hours
- Course by Meta
-
Offered by
About
In this course, you will be introduced to foundational programming skills with basic Python Syntax. You'll learn how to use code to solve problems. You'll dive deep into the Python ecosystem and learn popular modules, libraries and tools for Python. You'll also get hands-on with objects, classes and methods in Python, and utilize variables, data types, control flow and loops, functions and data structures. You'll learn how to recognize and handle errors and you'll write unit tests for your Python code and practice test-driven development. By the end of this course, you will be able to: - Prepare your computer system for Python programming - Show understanding of Python syntax and how to control the flow of code - Demonstrate knowledge of how to handle errors and exceptions - Explain object-oriented programming and the major concepts associated with it - Explain the importance of testing in Python, and when to apply particular methods This is a beginner course for learners who would like to prepare themselves for a career in back-end development or database engineering. To succeed in this course, you do not need prior web development experience, only basic internet navigation skills and an eagerness to get started with coding.Modules
Course Introduction
1
Discussions
- What do you hope to learn?
2
Videos
- Introduction to the Course
- How is Python used in the real world?
2
Readings
- Course syllabus
- How to be successful in this course
Welcome to Python Programming
- Type casting input
1
Assignment
- Knowledge check - Welcome to Python Programming
11
Videos
- Introduction to Programming
- Why Python?
- Environment check for Windows
- Environment check for Mac
- Running code - Command line VS IDE
- Python syntax, spaces matter
- Variables
- Basic data types
- Strings
- Type casting
- User input, console output
9
Readings
- Visual Studio Code
- Installing Python paths (Optional for Windows Users)
- Installing Python paths (Optional for Mac users)
- Required dependencies
- Python syntax cheat sheet
- Commenting code
- Basic Data type and Function Cheatsheet
- Type casting, a deeper look
- Additional resources
Control flow and conditionals
2
Assignment
- Self-review: Use control flow and loops to solve a problem
- Module quiz: Getting started with Python
6
Videos
- Math and logical operators
- Control flow: If / else, else if
- Switch statement
- Looping constructs
- Nested loops and the effect on algorithmic complexity
- Module summary: Getting started with Python
6
Readings
- Conditional statements
- Looping Constructs: Practical Examples
- Practicing control flow and loops
- Exercise: Use control flow and loops to solve a problem
- Use control flow and loops to solve a problem - solution
- Additional resources
Functions and Data Structures
- Functions, loops and data structures
2
Assignment
- Functions, loops and data structures
- Knowledge check: Functions and Data structures
7
Videos
- Functions
- Variable scope
- Lists
- Tuples
- Sets
- Dictionaries
- kwargs
5
Readings
- Function and variable scope
- What are data structures?
- Choosing and using data structures
- Visual Studio Code on Coursera
- Additional resources
Errors, exceptions and file handling
- Read in data, store, manipulate and output new data to a file
3
Assignment
- Exceptions in Python
- Read in data, store, manipulate and output new data to a file
- Module quiz: Basic Programming with Python
6
Videos
- What are exceptions
- Exception handling
- File handling in Python
- Creating Files
- Reading Files
- Module summary: Basic Programming with Python
4
Readings
- Exercise: Exceptions in Python
- Exceptions in Python - solution
- Storing file contents in data structures
- Additional resources
Procedural programming
2
Assignment
- Self-review: Make a cup of coffee
- Knowledge check: Procedural Programming
3
Videos
- What is procedural programming?
- Algorithms
- Algorithmic complexity
5
Readings
- Writing Algorithms
- Exercise: Make a cup of coffee
- Make a cup of coffee - solution
- Intro to Big-O notation
- Additional resources
Functional programming
- Mapping key-values to Dictionary data structures
2
Assignment
- Mapping key values to dictionary data structures
- Knowledge check: Functional Programming
5
Videos
- What is functional programming?
- Pure functions
- Recursion
- Reversing a string on Python
- Map & filter
3
Readings
- Recursion example: Tower of Hanoi
- Comprehensions
- Additional resources
Object Oriented Programming
- Abstract Classes and Methods
5
Assignment
- Self-review: Define a Class
- Self-review: Instantiate a custom Object
- Abstract classes and methods
- Self-review: Working with Methods
- Module quiz: Programming Paradigms
8
Videos
- Introduction to Object Oriented Programming
- Python classes and instances
- Instantiate a custom Object
- Instance methods
- Parent classes vs. child classes
- Abstract classes and methods
- Method Resolution Order
- Module summary: Programming paradigms
11
Readings
- OOP Principles
- Exercise: Define a Class
- Define a Class - solution
- Exercise: Instantiate a custom Object
- Instantiate a custom Object - solution
- Inheritance and Multiple Inheritance
- Exercise: Classes and object exploration
- Working with Methods: Examples
- Exercise: Working with Methods
- Working with Methods - solution
- Additional resources
Modules
- Import and Scope
1
Assignment
- Knowledge check: Modules
6
Videos
- What is a module in Python?
- Accessing modules
- The import statement
- Writing import statements
- Namespacing and scoping
- reload() function
2
Readings
- Module Use-cases
- Additional resources
Popular Packages, Libraries and Frameworks
1
Assignment
- Knowledge check: Popular Packages, Libraries and Frameworks
1
Discussions
- What do you consider to be the difference between machine learning and AI?
4
Videos
- Popular packages: NumPy, pandas, Matplotlib, etc
- Data analysis packages
- Machine learning, deep learning and AI: PyTorch, TensorFlow
- Python web frameworks
3
Readings
- Popular Packages: Examples
- Big Data and Analysis with Python
- Additional Resources
Testing tools
- Write a test
2
Assignment
- Testing quiz
- Module quiz: Modules, packages, libraries and tools
7
Videos
- What is testing?
- Types of testing
- Test automation packages
- Writing tests with PyTest
- Test-driven development (TDD)
- Applying TDD
- Module summary: Modules, packages, libraries and tools
2
Readings
- PyTest cheat sheet
- Additional resources
Graded Assessment
1
Assignment
- End-of-Course Graded Assessment: Using Python
1
Discussions
- Discuss challenges that you had with your fellow learners
1
Videos
- Course Recap: Programming in Python
1
Readings
- About the End-of-Course Graded Assessment
Course wrap up
1
Discussions
- What did you find most challenging about learning to program in Python?
1
Videos
- Congratulations, you have completed Programming in Python
1
Readings
- Next steps after Programming in Python
Auto Summary
"Programming in Python" is an introductory course designed for beginners in IT & Computer Science. Taught by Coursera, this course covers foundational programming skills, Python syntax, problem-solving, and popular Python libraries. Learners will explore objects, classes, methods, control flow, loops, and data structures, and gain proficiency in error handling and unit testing. Ideal for aspiring back-end developers or database engineers, no prior web development experience is required. The course spans 2700 minutes and offers a Starter subscription.

Taught by Meta Staff