We may earn an affiliate commission when you visit our partners.
Course image
Jennifer Campbell and Paul Gries

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.

Enroll now

What's inside

Syllabus

Python, Variables, and Functions
This module gives an overview of the course, the editor we will use to write programs, and an introduction to fundamental concepts in Python including variables, mathematical expressions, and functions.
Read more
Strings and Designing Functions
This module introduces strings (a Python data type used to represent text), and a process to follow when creating a function.
Booleans, Import, Namespaces, and if Statements
This module introduces Booleans (logical values True and False), how to convert between types, how to use Boolean expressions in if statements to selectively run code, and the concept of a Python module.
For Loops and Fancy String Manipulation
This module introduces one way to repeat code (using a for loop), how to manipulate strings, and how to use a debugger to watch a program execute step by step.
While Loops, Lists, and Mutability
This module introduces another way to repeat code (using a while loop), how to properly document your code to help other programmers understand it, Python's list data type, and the concept of mutation.
For Loops Over Indices, Parallel and Nested Lists and Strings, and Files
This module introduces how to use a for loop over the indexes of a list, how to nest lists, and how to read a write files.
Tuples and Dictionaries
This module introduces tuples (an immutable version of lists), and Python's dictionary type.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops Python skills, which are core for beginners
Taught by instructors who are recognized for their work in this field
Covers Python for personal growth and development
Introduces concepts in Python, which are highly relevant to industry

Save this course

Save Learn to Program: The Fundamentals to your list so you can find it easily later:
Save

Reviews summary

Excellent python introduction for beginners

According to students, Learn to Program: The Fundamentals is a well-received course that provides engaging assignments, easy-to-digest lectures, and thorough explanations for beginners interested in learning Python programming. The course builds a solid foundation in programming concepts and emphasizes best practices. Students appreciate the clear explanations and helpful instructors who create a positive learning environment. While some students with prior programming experience found the pace a bit slow, overall, learners say this course is a great starting point for those with little to no programming background.
Exercises and quizzes reinforce learning.
"Lectures were well reinforced with quizzes, assignments an in-video questions with immediate feedback."
"This course gives you a good foundation to build on for moving into other programming courses."
"I'm using what I learned to work my way through the problems on Project Euler (www.projecteuler.org) and I'm amazed with some of the problems I've been able to solve by applying the course material."
Video lectures were understandable, efficient, and relevant.
"The instructors had some great explanations and examples of concepts."
"The main take away for me from this class was the structured nature in which it was presented."
"The course material is really well presented and delivered."
Instructors are passionate and active in the forums.
"Jennifer and Paul are both World Class professors who hit a home run with their course."
"The instructors were very active on the forum and would answer questions, provide clarifications and respond to feedback."
"The instructors done an excellent job with their selection of material and pacing."
Excellent introductory course, particularly for those with no programming experience.
"The course is an excellent choice for beginners."
"Everything was explained so patiently and in lots of detail."
"This is a truly excellent introduction to programming in Python, particularly for anyone that has little or no programming experience."
Pace may be slow for experienced learners.
"This class was good: it focused on very basic things and focused on good code writing style. It's useful if you are just starting out."
"Both instructors are very good at explaining the content."
"I found out that 6-10 minutes lectures are easier to stomach than those gargantuan 2h lectures."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn to Program: The Fundamentals with these activities:
Review your notes and assignments from a previous programming course
Refresh your memory on programming fundamentals by reviewing previously covered concepts, strengthening your foundation for this course.
Browse courses on Programming Basics
Show steps
  • Gather your notes and assignments from the previous course
  • Review the materials, focusing on key concepts and techniques
Write a Python program to calculate the area of a circle
Review the fundamentals of programming and practice writing simple programs to solidify your understanding of Python.
Browse courses on Python
Show steps
  • Set the radius of the circle to a variable
  • Write the formula for the area of a circle using the radius variable
  • Print the calculated area to the console
Watch a tutorial on how to use Python's built-in functions
Supplement your understanding of Python by following a tutorial on how to utilize its built-in functions effectively.
Browse courses on Python
Show steps
  • Find a tutorial on built-in Python functions
  • Follow the tutorial and try out the examples
Four other activities
Expand to see all activities and additional details
Show all seven activities
Join a study group with other students taking the course
Collaborate with peers, exchange ideas, and reinforce your understanding of the course material through discussions and shared problem-solving.
Browse courses on Python
Show steps
  • Find or create a study group with other students taking the course
  • Meet regularly to discuss the course material
  • Work together on assignments and projects
Create a flowchart or diagram that illustrates the process of writing a Python program
Develop your problem-solving skills and reinforce your understanding of Python by visually representing the steps involved in writing a program.
Browse courses on Python
Show steps
  • Identify the problem you want to solve
  • Design the logic flow of the program
  • Create a flowchart or diagram to represent the logic flow
Attend a workshop on Python programming
Enhance your Python skills by attending a workshop led by experts, gaining practical experience and expanding your knowledge in a structured setting.
Browse courses on Python
Show steps
  • Find a Python programming workshop that aligns with your interests
  • Register and attend the workshop
  • Actively participate in the hands-on activities and discussions
Develop a simple Python program to solve a real-world problem
Apply your Python skills to solve a practical problem, fostering a deeper understanding of the language while developing your problem-solving abilities.
Browse courses on Python
Show steps
  • Identify a real-world problem that can be solved using Python
  • Design the solution and implement it as a Python program
  • Test and refine the program to ensure it meets the requirements

Career center

Learners who complete Learn to Program: The Fundamentals will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers write and maintain the code that powers websites, applications, and other software systems. They may work on a variety of projects, from small personal projects to large enterprise systems. This course helps build a foundation for a career in software development by teaching the fundamentals of programming in Python, a popular and widely-used programming language. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for software developers to understand.
Web Developer
Web Developers design and develop websites and web applications. They may work on the front-end of a website, which is what users see and interact with, or on the back-end, which handles the logic and data processing. This course helps build a foundation for a career in web development by teaching the fundamentals of programming in Python, a popular and widely-used programming language for web development. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for web developers to understand.
Data Analyst
Data Analysts collect, clean, and analyze data to help businesses make better decisions. They may work in a variety of industries, such as finance, healthcare, and retail. This course helps build a foundation for a career in data analysis by teaching the fundamentals of programming in Python, a popular and widely-used programming language for data analysis. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for data analysts to understand.
Data Scientist
Data Scientists use data to build models and make predictions. They may work in a variety of industries, such as finance, healthcare, and retail. This course helps build a foundation for a career in data science by teaching the fundamentals of programming in Python, a popular and widely-used programming language for data science. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for data scientists to understand.
Machine Learning Engineer
Machine Learning Engineers design and build machine learning models. They may work in a variety of industries, such as finance, healthcare, and retail. This course helps build a foundation for a career in machine learning engineering by teaching the fundamentals of programming in Python, a popular and widely-used programming language for machine learning. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for machine learning engineers to understand.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data. They may work in a variety of financial institutions, such as investment banks and hedge funds. This course helps build a foundation for a career in quantitative analysis by teaching the fundamentals of programming in Python, a popular and widely-used programming language for quantitative analysis. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for quantitative analysts to understand.
Actuary
Actuaries use mathematical and statistical models to assess risk. They may work in a variety of industries, such as insurance and finance. This course helps build a foundation for a career in actuarial science by teaching the fundamentals of programming in Python, a popular and widely-used programming language for actuarial science. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for actuaries to understand.
Operations Research Analyst
Operations Research Analysts use mathematical and statistical models to improve the efficiency of operations. They may work in a variety of industries, such as manufacturing and logistics. This course helps build a foundation for a career in operations research by teaching the fundamentals of programming in Python, a popular and widely-used programming language for operations research. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for operations research analysts to understand.
Financial Analyst
Financial Analysts use financial data to make investment recommendations. They may work in a variety of financial institutions, such as investment banks and hedge funds. This course helps build a foundation for a career in financial analysis by teaching the fundamentals of programming in Python, a popular and widely-used programming language for financial analysis. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for financial analysts to understand.
Business Analyst
Business Analysts use data to improve the efficiency of businesses. They may work in a variety of industries, such as consulting and technology. This course helps build a foundation for a career in business analysis by teaching the fundamentals of programming in Python, a popular and widely-used programming language for business analysis. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for business analysts to understand.
Systems Analyst
Systems Analysts design and implement computer systems. They may work in a variety of industries, such as consulting and technology. This course helps build a foundation for a career in systems analysis by teaching the fundamentals of programming in Python, a popular and widely-used programming language for systems analysis. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for systems analysts to understand.
Database Administrator
Database Administrators manage and maintain databases. They may work in a variety of industries, such as consulting and technology. This course helps build a foundation for a career in database administration by teaching the fundamentals of programming in Python, a popular and widely-used programming language for database administration. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for database administrators to understand.
Network Administrator
Network Administrators manage and maintain computer networks. They may work in a variety of industries, such as consulting and technology. This course helps build a foundation for a career in network administration by teaching the fundamentals of programming in Python, a popular and widely-used programming language for network administration. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for network administrators to understand.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. They may work in a variety of industries, such as consulting and technology. This course helps build a foundation for a career in computer support by teaching the fundamentals of programming in Python, a popular and widely-used programming language for computer support. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for computer support specialists to understand.
Help Desk Technician
Help Desk Technicians provide technical support to computer users. They may work in a variety of industries, such as consulting and technology. This course may be useful for those who wish to enter this career field, as it provides a foundation in the fundamentals of programming in Python, a popular and widely-used programming language for computer support. The course covers topics such as variables, functions, strings, loops, and data structures, which are all essential concepts for help desk technicians to understand.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Learn to Program: The Fundamentals:

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn to Program: The Fundamentals.
Provides a comprehensive introduction to Python programming, with a focus on hands-on projects and practical examples. It covers the core concepts of Python, from variables and data types to functions and object-oriented programming.
Practical guide to Python programming, with a focus on automating tasks and solving real-world problems. It covers a wide range of topics, from web scraping and data analysis to GUI programming and machine learning.
Comprehensive introduction to Python programming, with a focus on computer science fundamentals. It covers a wide range of topics, from data structures and algorithms to object-oriented programming and database management.
Collection of 59 specific ways to improve your Python code. It covers a wide range of topics, from code readability and performance to error handling and testing.
Collection of over 500 Python recipes, each of which provides a solution to a common programming problem. It covers a wide range of topics, from data manipulation and web development to GUI programming and machine learning.
Comprehensive guide to the Python programming language. It covers a wide range of topics, from the basics of Python syntax to advanced topics such as metaprogramming and type hints.
Comprehensive guide to the Python standard library. It covers a wide range of topics, from the basics of the standard library to advanced topics such as concurrency and asyncio.
Beginner-friendly introduction to Python programming. It covers the basics of Python syntax and programming concepts, and includes a number of exercises and projects to help you practice what you learn.
Fun and engaging introduction to Python programming for kids. It uses a game-based approach to teach the basics of Python syntax and programming concepts, and includes a number of puzzles and challenges to help kids practice what they learn.
Comprehensive guide to data science with Python. It covers a wide range of topics, from the basics of data analysis to advanced topics such as machine learning and deep learning.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Learn to Program: The Fundamentals.
Automotive Engine Fundamentals | 汽车发动机原理
Less relevant
Introduction to Ci Poems in the Tang and Song Dynasty |...
Less relevant
Comparative Judicial Systems
Less relevant
Introduction to Blockchain and Web3
Less relevant
Financial Soundness Indicators
Less relevant
Macroeconomics: Theory and Policy
Less relevant
Internet Giants: The Law and Economics of Media Platforms
Less relevant
Tobacco & Nicotine: Public Health, Science, Policy, and...
Less relevant
Chemerinsky on Constitutional Law – Individual Rights and...
Less relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser