Intro to Systematic Program Design in Python Part 2

This course is part of the Introduction to Systematic Program Design in Python

This introductory programming course builds on core methods taught in Intro to Systematic Program Design in Python Part 1, and continues to focus on learning systematic programming methods for writing well-designed programs.

The course concludes with a project on a topic of your interest that will allow you to read information from a file into your program, analyze the data to answer a question, and create a graph to visualize your results.

You’ll learn how to:

  • focus each part of your program on a single task
  • plan and build a larger program
  • create graphs programmatically.

By the end of this course, you’ll know how to:

  • write small programs that solve a problem in a discipline of your choice that are readable, well-organized, well-documented and well-tested 
  • write small programs for a reasonably complex task, where the ability to use the "one task - one function" rule can be demonstrated by appropriate function decomposition 
  • effectively communicate the design of your course project using appropriate technical language. 

How am I Assessed?

You’re graded on comprehension checks, design self-assessments, project proposal, completing a review of a peer’s project milestone and your final project. You need to achieve a minimum of 70% to pass this course.

Technology Requirements

To take this course, you should have an email account, internet access and an up-to-date web browser. You’ll also need access to a desktop or laptop computer.


There are no textbooks for this course.

Course Format

This course is 100% online and instructor supported. You can join a group chat with your instructors via Zoom during virtual office hours, Wednesdays 6:30–7:30pm and Sundays 6:30–7:30pm. All times are in the Pacific Time zone.

Plan to spend approximately 10 hours per week competing coursework and assignments. Expect a rigorous and challenging university-level experience – with rewarding outcomes.

Available Sessions

Open all | Close all