200 Level courses at McGill represent the foundational basics of a subject. This is no different in the school of computer science. Most students taking a CS Major will be required to take almost all of these classes and minors will need to take the majority. See below for a tree of prerequisite courses.
COMP 202 Foundations of Programming
Foundations of Programming is an introductory course in computer science that aims to teach the very basics of writing computer software. It focuses on Python fundamentals including syntax, types, logic flow, objects, conditionals, loops and very basic data structures like strings. This course is optional for SOCS programs but is recommended for students who have no experience in computer science. Sample Syllabus
COMP 206 Introduction to Software Systems
Intro to software systems is an overview of programming in C, Python and scripting in Bash that helps to connect the different languages and what they are best suited for. Students will gain an overview of version control systems, debugging tools as well as task automation with bash. Sample Syllabus
COMP 250 Introduction to Computer Science
Introduction to computer science gives students the fundamental knowledge required in data structures, algorithm run time, and programming techniques. Material covered in this class includes binary number representation, tree and graph data structures, sorting and search algorithms, as well as runtime analysis. Sample Syllabus
Algorithms and data structures is the direct continuation of COMP 250 and covers similar material in greater depth such as red black trees, greedy algorithms, complex data structures and dynamic programming. Note: there is also an honours variant of this class, COMP252. Sample Syllabus
COMP 251 Algorithms & Data Structures
Introduction to computer systems helps to relate the programming logic seen previously to the hardware it runs on. Students learn basic combinations and sequential circuit design, low level assembler programming as well as virtual memory and addressing schemes. Sample Syllabus
COMP 273 Introduction to Computer Systems
Discrete structures is an essential math class teaching students proof techniques and logical thinking. Material covered includes elementary number theory, combinatorics, logic, and graph theory. This class is a co-requisite with COMP 250. Sample Syllabus
MATH 240 Discrete Structures 1
Image courtesy of Prof. Langer.

