Learning Outcomes
Solve introductory programming problems in Python: Gain an understanding in the basics of Python such as call functions and arithmetic
and learn how to use a variety of Python data structures including strings, tuples,
lists, sets, dictionaries, and classes.
Debug code and handle errors: Develop problem-solving skills while using basic imperative programming constructs
such as branching and looping.
Document your code: Learn how to make your code readable and robust while documenting it to a well-known
standard.
Each course module works through two fully worked real-world examples to reinforce
concepts and learning. Examples are across industries and universally applicable.
Module 1: Introduction to Programming in Python
|
- Use arithmetic to solve problems.
- Call functions with the appropriate parameters.
- Define functions.
- Write the design recipe for functions in Python.
- Using a test module to solve problems.
|
Module 2: Variables and Conditional Statements
|
- Solve problems with variables.
- Write Boolean expressions and evaluate their True or False values.
- Write if, if-elif, and if-elif-else statements to be able to branch behaviour.
- Write iterative code using while loops.
|
Module 3: Input/Output and Immutable Data Types Part 1: Strings
|
- Use string methods to solve problems.
- Print to the screen.
- Read input from the user.
- Understand immutable data types.
|
Module 4: Immutable Data Types Part 2: Tuples and Iteration
|
- Create and manipulate tuples and solve problems involving tuples.
- Iteration using while and for loops with strings and tuples.
|
Module 5: Mutable Data Types Part 1: Lists
|
- Use lists, list operations, and list methods to solve problems.
- Demonstrate a working memory model for lists.
- Mutate lists using iteration.
|
Module 6: Mutable Data Types Part 2: Sets, Dictionaries and Comprehension
|
- Use sets and set methods to solve problems.
- Use dictionaries and dictionary methods to solve problems.
- Use the built-in sorting function to organize data.
- Use the abstract list functions map and filter to solve problems.
- Speed up the execution of code using list/set/dictionary comprehension.
|
Module 7: File Input and Output
|
- Define files and be able to create new text documents
- Use the built-in functions chr and ord
- Explain how strings are stored in the context of files
- Read and write from and to Python files
- Explain and identify appropriate uses of advanced modes of Python file reading and
writing (append, exclusive creation, seek, tell, binary mode)
- Handle exceptions using try-except-else-finally
- Document code using our style guide for files
|
Module 8: Classes
|
- Create classes, class methods, and functions that consume class objects.
- Explain the purpose and operation of magic methods.
- Create magic methods, specifically __init__, __str__, __repr__, __eq__.
- Save objects using pickle and shelve.
|
- Professionals looking to start their career journey towards a technical role while
learning the core concepts of Python.
- Newcomers to Canada looking for to upskill and enter the technology workforce.
- Learners need to learn Python to enter the field of data science, artificial intelligence,
and web development.
- Learners interested in enrolling in WatSPEED’s Data Science certificate and Python for Machine Learning.
Learn alongside your team!
WatSPEED provides custom learning experiences tailored for large groups from any single
organization. Register three or more employees from the same organization and receive
15 per cent off. Contact our team at watspeed@uwaterloo.ca for details.
- Exclusive access to your program author—a University of Waterloo faculty expert in computer science.
- Learn at your own pace with weekly independent online learning and hands-on exercises.
- Attend a live orientation session before your course starts to get up to speed on
the curriculum.
- Optional live drop-in sessions twice weekly (time to be determined soon) via Zoom
where you can ask questions and receive instructor support on key course concepts.
- Engage directly with your classmates through online discussion boards.
- Complete multiple choice quizzes each week while achieving a 70 per cent grade to
complete the course. Receive immediate feedback on quizzes and interactive course
components.
- The course consists of texts, visuals, videos, and interactive activities.
- Up to five hours each week (including drop-in sessions, hands-on exercises, discussion
boards, and independent study).
Academic requirements
There are no academic requirements or pre-requisites for this course.
System requirements
Receive a certificate from the University of Waterloo
Upon successful completion of this program, you will receive a professional education
certificate from the University of Waterloo.
Carmen Bruni
Lecturer, Cheriton School of Computer Science | Program Author and Instructor
Dr. Carmen Bruni is a faculty member at the University of Waterloo, David R. Cheriton
School of Computer Science.
Before starting at Waterloo in 2015, he obtained his PhD. in Mathematics from the
University of British Columbia. He completed his undergraduate and master’s degrees
at Waterloo in Computer Science and Pure Mathematics.
From 2015 to 2017, he worked with Waterloo’s Centre for Education in Mathematics and
Computing. Since then, he has been teaching in the School of Computer Science. Dr.
Bruni has received numerous awards for teaching excellence including a prestigious
Killam Graduate Teaching Award in 2013.
His current research interests are in mathematics, education, and pedagogy.