This course is part of the Introduction to Systematic Program Design in Python
This introductory programming course focuses on systematic programming methods foundational to writing well-designed programs. The course is taught using Python, a beginner-friendly, versatile programming language.
Through readings, videos, short auto-graded questions and practice programming problems, learn processes for creating well-tested programs that are easy to update in the future. The course concludes with a small project that will allow you to practise and showcase your skills.
You’ll learn how to:
- identify information in a problem domain and represent that information as data in your program
- use examples and tests to decide and document what your program should do
- write small, well-designed and well-tested programs.
By the end of this course, you’ll know how to:
- write small programs that are readable, well-organized, well-documented and well-tested
- design the data representation for a reasonably complex problem
- describe the information encoded in given data
- identify the correspondences between a data definition and a program and how changes to a data definition could potentially affect a program.
How am I Assessed?
You’re graded on comprehension checks and design self-assessments. Before registering for Intro to Systematic Design in Python Part 2, you need achieve a minimum of 70% in 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.
Textbooks
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 5–6pm and Sundays 5–6pm. All times are in the Pacific Time zone.
Plan to spend approximately 10 hours per week completing coursework and assignments. Expect a rigorous and challenging university-level experience – with rewarding outcomes.