In this course, youโll use programming as a tool to design recommendation engines, simulate natural selection, invent game levels, and more. Through lessons designed with beginner programmers in mind, you'll learn how to read and write Python programs - no prior computer science experience required!
A practical approach
In designing this course, we focused on the skills you need to start building meaningful programs now. You'll see a focus on problem solving and program design over computer science theory.
We also emphasize reading and working within existing code. There will be few cases where you'll see a blank screen and be asked to write a program from scratch. Programmers reference, reuse, and extend code in almost everything they do, so we think new programmers should, too!
What you'll learn
This course covers programming fundamentals in Python, including:
- Data types, expressions, and variables
- User input
- Boolean logic and conditionals
- Loops
- Modules and module imports
- Functions
- Lists
- Dictionaries
- Objects
Each unit introduces a new theme, like simulations or game design, so you can explore some of the many applications of programming along the way.
How you'll learn
[[โ video 1]]
This course includes three types of practice materials:
- In Exercises, you'll practice reading programs.
- In Challenges, you'll practice modifying programs.
- In Projects, you'll design your own programs.
Exercises
Exercises are multiple choice problems that focus on tracing how a program executes and translating user requirements into code. When practicing a new skill, we recommend you start with the associated Exercise.
Challenges
Challenges are guided programming assignments in which you'll modify or extend an existing program. They provide step-by-step instructions and use automated evaluation tools to provide feedback along the way.
Projects
Projects are open-ended programming assignments that serve as the capstone for each unit. They provide a broad outline of a problem to solve and a rubric with a set of requirements, but the rest is up to you!
Frequently asked questions
Who is this course for?
This course does not assume any prior programming experience, so it's suitable for complete beginners! It targets a high school level, but we also recommend it for adult learners or motivated middle school learners who want to learn how to code. It does not require a math background aside from basic arithmetic.
Is this course standards-aligned?
This course most closely matches the AP CS A learning objectives, but uses the Python programming language instead of Java. Due to the difference in languages, it is not recommended as a supplement for students in an AP CS A class, but rather as an alternative introductory computer science curriculum.
Should I learn Python or another programming language?
Python is one of the most popular programming languages in the world. We recommend Python for first-time programmers because its syntax mirrors English, making it easier to understand and use.
Ultimately, it doesn't matter which language you learn first. The programming concepts we cover - like variables, conditionals, and loops - apply to all programming languages. Once you learn the basics in one language, you'll be able to pick up another language much more quickly!
How can I use this course in my classroom?
Check out our Teacher resources unit for support in implementing this curriculum, including a video course tour.
What version of Python does this course use?
Our programming platform uses Python 3.