Principles+ 1
Python Intensive
AGES 16 - 19
  • No coding experience is assumed.
  • Prospective students should be minimally in Secondary 4/Grade 10.
Course Overview:
This course is the first of a 2-course sequence in Python Programming and Data Science. Graduates of the sequence gain the skills and experience which will enable them to take the first steps into the world of Data Science.
Learn college-level coding in the massively popular, fastest-growing programming language, Python. It’s a versatile language used in a wide range of contexts, from web development to scientific applications and machine learning.
We begin building our foundation by learning the most basic instructions that can be understood by every computer, to build virtually any computer program: using variables to store and manipulate data, making simple decisions using conditionals, repeating instructions using loops. We then learn how to use functions to implement two key problem-solving skills - decomposition of a problem into simpler parts, and abstraction of details to focus on the appropriate level of details. We see how this helps to enhance the readability and reusability of code, which are both critical in any large program. Finally, we will learn how to use data structures (such as lists) and objects - essential tools for fashioning more complex, detailed and powerful computer programs. We learn how these constructs allow us to capture the features of the real-world entities we wish to represent in our code, which are then adapted to the problem at hand - allowing us to solve problems in domains as diverse as finance, robotics, agriculture and medicine.
Note that after this course, students can proceed to the follow-on offering
Foundations in Data Science course.
  1. Variables, Data Types, and Control Flow
    • Variables
    • Basic data types in Python
    • Control flow tools: Conditional statements and loops
  2. Functions - Basics
    • Function definition and calls
    • Parameters and return values
  3. Functions in Program Design
    • Functions as abstractions of tasks
    • Functions in problem decomposition
  4. Data Structures - Lists and Dictionaries
    • Python lists and list dictionaries
    • for loop iteration through lists and dictionaries
    • Multidimensional data with lists and dictionaries
    • List comprehension
  5. Intro to Classes and Objects
    • Object-oriented programming
    • Classes as blueprints for objects
    • Python classes as data types