Planning Your Coding and Lab Courses

Coding Courses

Although these courses are not required for any Physics POSt, they provide excellent introductions to Python. Lab courses (e.g. PHY224) rely very heavily on Python for data analysis and simulation. Although the basics of Python are taught within the lab course, we have been told by many students over the years that taking a Python course prior was beneficial.


  • CSC108: Introduction to Computer Programming

    • Programming in a language such as Python. Elementary data types, lists, maps. Program structure: control flow, functions, classes, objects, methods. Algorithms and problem solving. Searching, sorting, and complexity. Unit testing. No prior programming experience required.

    • NOTE: You may not take this course concurrently with CSC120H1/CSC148H1, but you may take CSC148H1 after CSC108H1.

  • CSC120: Computer Science for the Sciences

    • An introduction to computer science for students in other sciences, with an emphasis on gaining practical skills. Introduction to programming with examples and exercises appropriate to the sciences; web programming; software tools. Topics from: database design, considerations in numerical calculation, using UNIX/LINUX systems. At the end of this course you will be able to develop computer tools for scientific applications, such as the structuring and analysis of experimental data. With some additional preparation, you will also be ready to go on to CSC148H1. Practical (P) sections consist of supervised work in the computer laboratory. No programming experience is necessary.

Lab Courses

Please check back later for information about lab courses!