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.
CSC148: Introduction to Computer Science
Abstract data types and data structures for implementing them. Linked data structures. Encapsulation and information-hiding. Object-oriented programming. Specifications. Analyzing the efficiency of programs. Recursion. This course assumes programming experience as provided by CSC108H1. Students who already have this background may consult the Computer Science Undergraduate Office for advice about skipping CSC108H1. Practical (P) sections consist of supervised work in the computing laboratory. These sections are offered when facilities are available, and attendance is required. NOTE: Students may go to their college to drop down from CSC148H1 to CSC108H1. See above for the drop down deadline.
PhySU Note: This course gives a much more thorough understanding to computer science in Python. Take this course if you already are familiar with CSC108 content and would like to be more comfortable with Python.
Lab Courses
Please check back later for information about lab courses!