Fall Term 2026 (1970)
AUCSC 111 - Introduction to Computational Thinking and Problem Solving
3 units (fi 6)(EITHER, 3-0-3)
An introduction to computational thinking, problem solving, and the fundamental ideas of computing. Topics include algorithms, abstraction, and modelling; the syntax and semantics of a high-level language (e.g. Python); fundamental programming concepts and data structures, including simple containers (variables, arrays, lists, strings, dictionaries); sequencing, conditionals and repetition; documentation and style; object-oriented programming; exceptions and error handling; graphical user interfaces and event-driven programming; recursion; simple algorithm analysis and run- time efficiency. Prerequisite: Mathematics 30-1. Note: Credit may be obtained for only one of AUCSC 111 or AUCSC 113 (2023).
LAB D01 (57291)
2026-09-01 - 2026-12-08
R 14:00 - 16:50
AUCSC 218 - Web Design, Development and Scripting
3 units (fi 6)(EITHER, 3-0-1.5)
Introduction to modern web architectures and technologies. Web platforms and standards. Client-side/server-side programming and web languages (e.g. HTML, JavaScript, PHP, CSS, Node.js). Introduction to internet security. Design and implementation of a simple web application. Prerequisite: one of AUCSC 113 (2023) or AUSCI 135, or AUCSC 111.
LECTURE A01 (57293)
2026-09-01 - 2026-12-08
TR 08:00 - 09:20
LAB D01 (57294)
2026-09-01 - 2026-12-08
T 14:00 - 15:20
LAB D02 (57295)
2026-09-01 - 2026-12-08
T 15:30 - 16:50
AUCSC 310 - Algorithm Design and Analysis
3 units (fi 6)(EITHER, 3-0-1.5)
Algorithm design techniques (divide-and-conquer, dynamic programming, the greedy method). Merge-sort and the analysis of divide-and-conquer algorithms with recurrence relations; bucket-sort, radix-sort, and the lower bound on sorting; comparison of sorting algorithms. Trees, binary trees, search trees, their implementation, traversal, and search and update operations. Introduction to graph theory; data structures for the representation of graphs, digraphs, and networks, and their associated algorithms (traversal, connected components, topological sorting, minimum- spanning trees, shortest paths, transitive closure). Dynamic equivalence relations and union-find sets; amortized analysis. String matching. Prerequisites: AUCSC 112, or AUCSC 211 and AUSCI 235; and AUMAT 250.
LECTURE A01 (57296)
2026-09-01 - 2026-12-08
TR 09:30 - 10:50
LAB D01 (57297)
2026-09-01 - 2026-12-08
R 11:00 - 12:20
Winter Term 2027 (1980)
AUCSC 450 - Parallel and Distributed Computing
3 units (fi 6)(EITHER, 3-0-1.5)
Parallel architectures, programming language constructs for parallel computing, parallel algorithms and complexity. Message-passing, remote procedure call, and shared-memory models. Synchronization and data coherence. Load balancing and scheduling. Appropriate applications. Prerequisites: AUCSC 250 and AUCSC 370.
LECTURE B02 (83244)
2027-01-04 - 2027-04-09
MWF 13:00 - 13:50
LAB H03 (83245)
2027-01-04 - 2027-04-09
F 09:00 - 10:20
LAB H04 (83246)
2027-01-04 - 2027-04-09
M 16:00 - 17:20
AUCSC 480 - Operating Systems Concepts
3 units (fi 6)(SECOND, 3-0-1.5)
Operating system functions, concurrent process coordination, scheduling and deadlocks, memory management and virtual memory, secondary storage management and file systems, protection. Prerequisites: AUCSC 250 and AUCSC 370. Note: Credit may be obtained for only one of AUCSC 480 and AUCSC 380 (2022).
LECTURE B01 (82297)
2027-01-04 - 2027-04-09
MWF 08:00 - 08:50
LAB H01 (82298)
2027-01-04 - 2027-04-09
M 09:00 - 10:20
LAB H02 (82299)
2027-01-04 - 2027-04-09
W 09:00 - 10:20