CSC104H1 Computational Thinking[24L/12T]

Humans have solved problems for millennia on computing devices by representing data as diverse numbers, text, images, sound and genomes, and then transforming the data. A gentle introduction to designing programs (recipes) for systematically solving problems that crop up in diverse domains such as science, literature and graphics. Social and intellectual issues raised by computing. Algorithms, hardware, software, operating systems, the limits of computation.

Note: you may not take this course concurrently with any Computer Science course, but you may take CSC108H1/CSC148H1 after CSC104H1.

Exclusion: Any Computer Science courseDistribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

Choosing first year courses

To help you select the programming course that is right for you, see www.cs.toronto.edu/dcs, Choose Programs & Courses > Undergraduate Courses > Choosing Your First Year Courses.

**Class Time** – Check current enrolment

F | L0101 | MWF9 | D. Heap |

| L5101 | W6-8 | |

W8 | |||

S | L0101 | TRF9 | G. Baumgartner |

CSC108H1 Introduction to Computer Programming[36L/12T/12P]

Structure of computers; the computing environment. Programming in a language such as Python. Program structure: elementary data types, statements, control flow, functions, classes, objects, methods, fields. Lists; searching, sorting and complexity. Practical (P) sections consist of supervised work in the computing laboratory. These sections are offered when facilities are available, and attendance is required.

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

Exclusion: CSC120H1, CSC148H1, CSC150H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | TBA | P. Gries |

| L0201 | MWF10 | J. Campbell |

| L0202 | MWF10 | T. Fairgrieve |

| L0301 | MWF1 | J. Campbell |

| L5101 | W6-9 | T. Fairgrieve |

| T0101 | Cancel | |

| T0201 | Cancel | |

| T0301 | Cancel | |

| T0401 | Cancel | |

| T0501 | Cancel | |

| T0601 | Cancel | |

| T0701 | Cancel | |

| T0801 | Cancel | |

| T0901 | Cancel | |

| T1001 | Cancel | |

| T5101 | Cancel | |

| T5201 | Cancel | |

S | L0101 | TBA | J. Campbell |

| L0201 | MWF10 | T. Fairgrieve |

| L5101 | W6-9 | T. Fairgrieve |

| T0101 | Cancel | |

| T0201 | Cancel | |

| T0301 | Cancel | |

| T0401 | Cancel | |

| T0501 | Cancel | |

| T0601 | Cancel | |

| T5101 | Cancel | |

| T5201 | Cancel |

CSC120H1 Computer Science for the Sciences[24L/12P]

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.

Exclusion: Any CSC courseDistribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

S | L0101 | MW10 | Tba |

| L5101 | Cancel | |

| T0101 | T3-5 | |

| T5101 | T5-7 |

CSC148H1 Introduction to Computer Science[24L/12T/12P]

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 in a language such as Python, C++, or Java, 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.

Prerequisite: CSC108H1Exclusion: CSC150H1; you may not take this course after taking more than two CSC courses at the 200-level or higher

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | MW9 | D. Liu |

| L0201 | MW10 | D. Liu |

| T0101 | R9-11 | |

| T0201 | R11-1 | |

| T0301 | Cancel | |

| T5101 | R7-9 | |

S | L0101 | MW9 | D. Horton |

| L0201 | MW10 | D. Heap |

| L5101 | W6-8 | D. Heap |

| T0101 | R9-11 | |

| T0201 | R11-1 | |

| T0301 | R1-3 | |

| T0401 | R3-5 | |

| T0501 | F11-1 | |

| T0601 | Cancel | |

| T5101 | R5-7 | |

| T5201 | R7-9 |

CSC165H1 Mathematical Expression and Reasoning for Computer Science[36L/24T]

Introduction to abstraction and rigour. Informal introduction to logical notation and reasoning. Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Structuring proofs to improve presentation and comprehension. General problem-solving techniques. Running time analysis of iterative programs. Formal definition of Big-Oh. Diagonalization, the Halting Problem, and some reductions. Unified approaches to programming and theoretical problems.

Corequisite: CSC108H1/CSC148H1Exclusion: CSC236H1, CSC240H1; MAT102H5 (University of Toronto Mississauga)

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

200-level courses

**Class Time** – Check current enrolment

F | L0101 | MWF11 | D. Heap |

T9-11 | D. Heap | ||

| L0201 | MWF12 | D. Heap |

M7-9 | D. Heap | ||

| L5101 | T6-9 | Tba |

R7-9 | Tba | ||

S | L0101 | MWF11 | Tba |

T2-4 | Tba | ||

| L0201 | MWF2 | Tba |

R2-4 | Tba |

CSC200Y1 Economic and Social Networks: Models and Applications[48L/24T]

The course will provide an informal, but rigourous treatment of a variety of topics, introducing students to the relevant background in graph theory, social network formation, incentives and game theory, and providing exposure to the relevant mathematical and computational tools required to analyze relevant phenomenon. Topics may include: structural analysis of social networks, matching markets, trading networks, web search, information cascades, prediction markets, and online advertising, among others.

Distribution Requirement Status: This is a Science courseBreadth Requirement: Society and its Institutions (3) + The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

Y | L0101 | MWF3 | Borodin/Boutilier |

CSC207H1 Software Design[24L/12T]

An introduction to software design and development concepts, methods, and tools using a statically-typed object-oriented programming language such as Java. Topics from: version control, unit testing, refactoring, object-oriented design and development, design patterns, advanced IDE usage, regular expressions, and reflection. Representation of ï¬‚oating-point numbers and introduction to numerical computation.

Prerequisite: CSC148H1/CSC150H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | M12 | M. Abdelrazik Mansour Abdelk |

WF12 | M. Abdelrazik Mansour Abdelk | ||

| L0201 | M2 | M. Abdelrazik Mansour Abdelk |

WF2 | M. Abdelrazik Mansour Abdelk | ||

| L5101 | W5 | M. Abdelrazik Mansour Abdelk |

W6-8 | M. Abdelrazik Mansour Abdelk | ||

| T0101 | Cancel | |

| T0201 | Cancel | |

| T0301 | Cancel | |

| T5101 | Cancel | |

S | L0101 | M1 | J. Campbell |

WF1 | J. Campbell | ||

| L0201 | Cancel | |

| L2003 | MWF1 | J. Campbell |

| T0101 | Cancel | |

| T0201 | Cancel |

CSC209H1 Software Tools and Systems Programming[24L/12T]

Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the operating system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.

Prerequisite: CSC207H1/enrolment in Bioinformatics and Computational Biology (BCB) subject POStExclusion: CSC372H1, CSC369H1, CSC469H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | TR1 | M. Craig |

| L2003 | TR1 | M. Craig |

| T0101 | F11 | |

| T0201 | F12 | |

S | L0101 | MW12 | K. Reid |

| L5101 | W6-8 | K. Reid |

| T0101 | F1 | |

| T0201 | F2 | |

| T0301 | F3 | |

| T5101 | W8 |

CSC236H1 Introduction to the Theory of Computation[24L/12T]

The application of logic and proof techniques to Computer Science. Mathematical induction; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the Master Theorem); introduction to automata and formal languages. This course assumes university-level experience with proof techniques and algorithmic complexity as provided by CSC165H1. Very strong students who already have this experience (e.g. successful completion of MAT157Y1) may consult the undergraduate office about proceeeding directly into CSC236H1.

Prerequisite: CSC148H1/CSC150H1, CSC165H1Exclusion: CSC240H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | M11 | G. Baumgartner |

WF11 | G. Baumgartner | ||

| L0201 | R10 | |

R11-1 | |||

| L2503 | Cancel | |

| L5101 | R6 | G. Baumgartner |

R7-9 | G. Baumgartner | ||

S | L0101 | TR1 | G. Baumgartner |

R2 | G. Baumgartner | ||

| L0201 | Cancel | |

| L2003 | TR1 | G. Baumgartner |

R2 | G. Baumgartner |

CSC240H1 Enriched Introduction to the Theory of Computation[24L/12T]

The rigorous application of logic and proof techniques to Computer Science. Propositional and predicate logic; mathematical induction and other basic proof techniques; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the Master Theorem); introduction to automata and formal languages. This course covers the same topics as CSC236H1, together with selected material from CSC165H1, but at a faster pace, in greater depth and with more rigour, and with more challenging assignments. Greater emphasis will be placed on proofs and theoretical analysis. Certain topics briefly mentioned in CSC165H1 or CSC236H1 may be covered in more detail in this course, and some additional topics may also be covered.

NOTE: Students may go to their college to drop down from CSC240H1 to CSC165H1 (or to CSC236H1 if they have already passed CSC165H1). See above for the drop down deadline.

Corequisite: CSC148H1/CSC150H1Exclusion: CSC236H1

Recommended Preparation: first term of MAT137Y1/MAT157Y1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

S | L0101 | MWF11 | F. Ellen |

CSC258H1 Computer Organization[24L/12T/13P]

Computer structures, machine languages, instruction execution, addressing techniques, and digital representation of data. Computer system organization, memory storage devices, and microprogramming. Block diagram circuit realizations of memory, control and arithmetic functions. There are a number of laboratory periods in which students conduct experiments with digital logic circuits.

Prerequisite: CSC148H1/CSC150H1, CSC165H1/CSC240H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | Cancel | |

| L5101 | T6-9 | S. Engels |

R6-9 | S. Engels | ||

S | L0101 | MWF11 | S. Engels |

T3-6 | S. Engels | ||

| L5101 | M6-9 | S. Engels |

T6-9 | S. Engels |

CSC263H1 Data Structures and Analysis[24L/12T]

Algorithm analysis: worst-case, average-case, and amortized complexity. Expected worst-case complexity, randomized quicksort and selection. Standard abstract data types, such as graphs, dictionaries, priority queues, and disjoint sets. A variety of data structures for implementing these abstract data types, such as balanced search trees, hashing, heaps, and disjoint forests. Design and comparison of data structures. Introduction to lower bounds.

Prerequisite: CSC207H1, CSC236H1/CSC240H1; STA247H1/STA255H1/STA257H1Exclusion: CSC265H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | T10 | F. Pitt |

R10-12 | F. Pitt | ||

| L2003 | T10 | F. Pitt |

R10-12 | F. Pitt | ||

S | L0101 | MWF2 | M. Craig |

| L0201 | MWF3 | M. Craig |

| L2503 | Cancel | |

| L5101 | R6-8 | F. Pitt |

R8 | F. Pitt |

CSC265H1 Enriched Data Structures and Analysis[24L/12T]

This course covers the same topics as CSC263H1, but at a faster pace, in greater depth and with more rigour, and with more challenging assignments. Greater emphasis will be placed on proofs, theoretical analysis, and creative problem-solving. Certain topics briefly mentioned in CSC263H1 may be covered in more detail in this course, and some additional topics may also be covered. Students without the exact course prerequisites but with a strong mathematical background are encouraged to consult the Department about the possibility of taking this course.

NOTE: Students may go to their college to drop down from CSC265H1 to CSC263H1. See above for the drop down deadline.

Prerequisite: CSC240H1 or an A- in CSC236H1Corequisite: STA247H1/STA255H1/STA257H1

Exclusion: CSC263H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

300-level courses

If you are not in our Major or Specialist program, you are limited to three 300-/400-level CSC/ECE half-courses.

**Class Time** – Check current enrolment

F | L0101 | M10-12 | F. Ellen |

R11 | F. Ellen |

CSC300H1 Computers and Society[24L/12T]

Privacy and Freedom of Information; recent Canadian legislation and reports. Computers and work; employment levels, quality of working life. Electronic fund transfer systems; transborder data flows. Computers and bureaucratization. Computers in the home; public awareness about computers. Robotics. Professionalism and the ethics of computers. The course is designed not only for science students, but also those in social sciences or humanities.

Prerequisite: Any half-course on computingDistribution Requirement Status: This is a Science course

Breadth Requirement: Society and its Institutions (3)

**Class Time** – Check current enrolment

F | L0101 | W3-6 | S. Engels |

| L5101 | Cancel | |

S | L5101 | R6-8 | M. Abdelrazik Mansour Abdelk |

R8 | M. Abdelrazik Mansour Abdelk |

CSC301H1 Introduction to Software Engineering[24L/12T]

An introduction to agile development methods appropriate for medium-sized teams and rapidly-moving projects. Basic software development infrastructure; requirements elicitation and tracking; estimation and prioritization; teamwork skills; basic UML; design patterns and refactoring; security, discussion of ethical issues, and professional responsibility.

Prerequisite: CSC209H1, CSC263H1/CSC265H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | TR10 | M. Abdelrazik Mansour Abdelk |

R11 | M. Abdelrazik Mansour Abdelk | ||

S | L2503 | M6-9 | M. Abdelrazik Mansour Abdelk |

| L5101 | M6-9 | M. Abdelrazik Mansour Abdelk |

CSC302H1 Engineering Large Software Systems[24L/12T]

An introduction to the theory and practice of large-scale software system design, development, and deployment. Project management; advanced UML; reverse engineering; requirements inspection; verification and validation; software architecture; performance modeling and analysis.

Prerequisite: CSC301H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

S | L0101 | TR10 | M. Abdelrazik Mansour Abdelk |

R11 | M. Abdelrazik Mansour Abdelk |

CSC309H1 Programming on the Web[24L/12T]

An introduction to software development on the web. Concepts underlying the development of programs that operate on the web; survey of technological alternatives; greater depth on some technologies. Operational concepts of the internet and the web, static client content, dynamic client content, dynamically served content, n-tiered architectures, web development processes, and security on the web. Assignments involve increasingly more complex web-based programs. Guest lecturers from leading e-commerce firms will describe the architecture and operation of their web sites.

Prerequisite: CSC209H1, CSC343H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | T2 | E. Delara |

R1-3 | E. Delara | ||

| L0201 | MWF3 | E. Delara |

| L2001 | T2 | E. Delara |

R1-3 | E. Delara | ||

S | L0101 | MW10 | Tba |

F10 | Tba | ||

| L2001 | MWF10 | Tba |

| L5101 | W6-9 | Tba |

CSC310H1 Information Theory[24L/12T]

Measuring information. The source coding theorem. Data compression using ad hoc methods and dictionary-based methods. Probabilistic source models, and their use via Huffman and arithmetic coding. Noisy channels and the channel coding theorem. Error correcting codes, and their decoding by algebraic and probabilistic methods.

Prerequisite: 60% or higher in CSC148H1/CSC150H1/CSC260H1; STA247H1/STA255H1/STA257H1/STA107H1; (MAT135H1, MAT136H1)/ MAT135Y1/MAT137Y1/MAT157Y1, MAT221H1/MAT223H1/MAT240H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | Cancel |

CSC318H1 The Design of Interactive Computational Media[24L/12T]

User-centred design of interactive systems; methodologies, principles, and metaphors; task analysis. Interdisciplinary design; the role of graphic design, industrial design, and the behavioural sciences. Interactive hardware and software; concepts from computer graphics. Typography, layout, colour, sound, video, gesture, and usability enhancements. Classes of interactive graphical media; direct manipulation systems, extensible systems, rapid prototyping tools. Students work on projects in interdisciplinary teams. Enrolment limited, but non-computer scientists welcome.

Prerequisite: Any CSC half-courseRecommended Preparation: CSC300H1 provides useful background for work in CSC318H1, so if you plan to take CSC300H1 then you should do it before CSC318H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: None

**Class Time** – Check current enrolment

F | L0101 | R12 | Tba |

R1-3 | Tba | ||

| L2001 | R12 | Tba |

R1-3 | Tba | ||

| L2501 | M6 | Tba |

M7-9 | Tba | ||

| L5101 | M6 | Tba |

M7-9 | Tba | ||

S | L0101 | T4-6 | Tba |

T6 | Tba | ||

| L0201 | MWF11 | Tba |

| L2001 | Cancel | |

| L2501 | Cancel | |

| L5101 | Cancel |

CSC320H1 Introduction to Visual Computing[24L/12P]

Image synthesis and image analysis aimed at students with an interest in computer graphics, computer vision or the visual arts. Focus on three major topics: (1) visual computing principles - computational and mathematical methods for creating, capturing, analyzing and manipulating digital photographs (image acquisition, basic image processing, image warping, anti-aliasing); (2) digital special effects - applying these principles to create special effects found in movies and commercials; (3) visual programming - using C/C++ and OpenGL to create graphical user interfaces for synthesizing and manipulating photographs. The course requires the ability to use differential calculus in several variables and linear algebra.

Prerequisite: CSC209H1/(CSC207H1, proficiency in C or C++); (MAT135H1, MAT136H1)/MAT135Y1/MAT137Y1/MAT157Y1, MAT221H1/MAT223H1/MAT240H1Distribution Requirement Status: This is a Science course

Breadth Requirement: None

**Class Time** – Check current enrolment

F | L0101 | MWF2 | Tba |

| L2001 | MWF2 | Tba |

S | L2501 | W6-9 | K. Kutulakos |

| L5101 | W6-9 | K. Kutulakos |

CSC321H1 Introduction to Neural Networks and Machine Learning[24L/12P]

The first half of the course is about supervised learning for regression and classification problems and will include the perceptron learning procedure, backpropagation, and methods for ensuring good generalisation to new data. The second half of the course is about unsupervised learning methods that discover hidden causes and will include K-means, the EM algorithm, Boltzmann machines, and deep belief nets.

Prerequisite: (MAT135H1, MAT136H1)/MAT135Y1/MAT137Y1/MAT157Y1, MAT221H1/MAT223H1/MAT240H1; STA247H1/STA255H1/STA257H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

S | L0101 | TR1 | Tba |

R12 | Tba | ||

| L2001 | TR1 | Tba |

R12 | Tba | ||

| L2501 | T6-9 | Tba |

| L5101 | T6-9 | Tba |

CSC324H1 Principles of Programming Languages[24L/12T]

Programming principles common in modern languages; details of commonly used paradigms. The structure and meaning of code. Scope, control flow, datatypes and parameter passing. Two non-procedural, non-object-oriented programming paradigms: functional programming (illustrated by languages such as Lisp/Scheme, ML or Haskell) and logic programming (typically illustrated in Prolog).

Prerequisite: CSC263H1/CSC265H1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | MWF11 | |

| L2003 | MWF11 | |

| L5101 | R6 | D. Liu |

R7-9 | D. Liu | ||

S | L0101 | MW2 | D. Liu |

F2 | D. Liu | ||

| L5101 | R6-9 | D. Liu |

CSC336H1 Numerical Methods[24L/12T]

The study of computational methods for solving problems in linear algebra, non-linear equations, and approximation. The aim is to give students a basic understanding of both floating-point arithmetic and the implementation of algorithms used to solve numerical problems, as well as a familiarity with current numerical computing environments.

Prerequisite: CSC148H1/CSC150H1; MAT133Y1(70%)/(MAT135H1, MAT136H1)/MAT135Y1/MAT137Y1/MAT157Y1, MAT221H1/MAT223H1/MAT240H1Exclusion: CSC350H1, CSC351H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | MWF11 | K. Jackson |

| L2003 | Cancel | |

S | L5101 | M6 | C. Christara |

M7-9 | C. Christara |

CSC343H1 Introduction to Databases[24L/12T]

Introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the query language SQL. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management.

Prerequisite: CSC165H1/CSC240H1/(MAT135H1, MAT136H1) /MAT135Y1/MAT137Y1/MAT157Y1; CSC207H1 Prerequisite for Engineering students only: ECE345/CSC190/CSC192Exclusion: CSC434H1

Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

F | L0101 | T1-3 | D. Horton |

R1 | D. Horton | ||

| L0201 | W1-3 | D. Horton |

F1 | D. Horton | ||

| L2001 | T1-3 | D. Horton |

R1 | D. Horton | ||

| L2003 | W1-3 | D. Horton |

F1 | D. Horton | ||

| L2501 | T6-9 | |

| L2503 | Cancel | |

| L5101 | T6-9 | Tba |

S | L0101 | MWF12 | D. Horton |

| L0201 | MWF2 | D. Horton |

| L2001 | MWF12 | D. Horton |

| L2005 | Cancel | |

| L2201 | MWF2 | D. Horton |

| L2501 | T6-8 | D. Liu |

T8 | D. Liu | ||

| L2505 | Cancel | |

| L5101 | T6-8 | D. Liu |

T8 | D. Liu |

CSC358H1 Principles of Computer Networks[24L/12T]

Introduction to computer networks with an emphasis on fundamental principles. Basic understanding of computer networks and network protocols. Topics include network hardware and software, routing, addressing, congestion control, reliable data transfer, performance analysis, local area networks, and TCP/IP.

Prerequisite: CSC209H1, CSC258H1, CSC263H1/CSC265H1, STA247H1/STA255H1/STA257H1/ECO227Y1Distribution Requirement Status: This is a Science course

Breadth Requirement: The Physical and Mathematical Universes (5)

**Class Time** – Check current enrolment

S | L0101 | M10 | P. Marbach |

R3-5 | P. Marbach | ||

| L5101 | T6-9 | Tba |