Course Timetable
APSC 160 - 2022S
Introduction to Computation in Engineering Design
Analysis and simulation, laboratory data acquisition and processing, measurement interfaces, engineering tools, computer systems organization, programming languages. Credit will only be given for one of: APSC 160, CPSC 301, or EOSC 211.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
921 | Term 1 | Mon Tue Wed | 9:00 AM - 11:00 AM | PHRM 1201 | |||
|
CPSC 100 - 2022S
Computational Thinking
Meaning and impact of computational thinking. Solving problems using computational thinking, testing, debugging. How computers work. No prior computing experience required. Not for students with existing credit for or exemption from CPSC 107, CPSC 110 or APSC 160.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
921 | Term 2 | Tue Thu | 1:30 PM - 5:00 PM | BIOL 1000 | Rik Blok | ||
Instructor(s) Extended Description “Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are in a form that can be effectively carried out by an information-processing agent” [Cuny, Snyder, Wing 10]. Computational thinking and its outcomes (i.e., computers, software, and their usage) are increasingly shaping the world in which we live. In order to be productive citizens of the 21st century, UBC students need to have the opportunity to learn concepts such as how data can be processed to gain insights, how computers use their personal data, and why computational thinking enables some amazing tasks (e.g., finding directions, sharing videos, and communicating instantly) but is as yet so bad at others (e.g., translating documents between languages). CPSC 100 will give non-computer science majors key insights into (1) the building blocks necessary for computational thinking (2) applications of computational thinking and (3) how computational thinking and its applications impact the world around them. Students will explore the past, present, and future of computing including a student directed exploration of computing and computational thinking issues in the news. This course is targeted to first year students, but is open to all. |
CPSC 103 - 2022S
Introduction to Systematic Program Design
Computation as a tool for systematic problem solving in non-computer-science disciplines. Introductory programming skills. Not for credit for students who have credit for, or exemption from, or are concurrently taking CPSC 110 or APSC 160. No programming experience expected.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
V01 | Term 1 & 2 | Mon Wed | 10:30 AM - 12:30 PM | ORCH 3074 | Meghan Allen | ||
Instructor(s) Extended Description When you have completed this course, you will be able to systematically design small programs using the Python programming language. You will be able to take a problem from an academic discipline of your choice, appropriately represent the domain information as data in your program, and design functions that successfully solve your problem. You will learn how to break down a large problem into well-structured sub-problems, each of which will be solved systematically. You will understand how programs work which will help you better understand the computer-based world that you interact with every day. You will be better able to communicate with computer scientists in your future workplace. This course is designed for students who are not computer science majors. There are no prerequisites. |
|||||||
911 | Term 1 | Tue Thu | 5:00 PM - 8:30 PM | ANGU 098 | Ashish Chopra | ||
Instructor(s) Extended Description When you have completed this course, you will be able to systematically design small programs using the Python programming language. You will be able to take a problem from an academic discipline of your choice, appropriately represent the domain information as data in your program, and design functions that successfully solve your problem. You will learn how to break down a large problem into well-structured sub-problems, each of which will be solved systematically. You will understand how programs work which will help you better understand the computer-based world that you interact with every day. You will be better able to communicate with computer scientists in your future workplace. This course is designed for students who are not computer science majors. There are no prerequisites. |
CPSC 121 - 2022S
Models of Computation
Physical and mathematical structures of computation. Boolean algebra and combinations logic circuits; proof techniques; functions and sequential circuits; sets and relations; finite state machines; sequential instruction execution.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
V01 | Term 1 & 2 | Mon Wed | 10:30 AM - 12:30 PM | ORCH 4074 | |||
Extended Description CPSC 121 explores formal modeling systems that help us to understand and to explore the capabilities of computers and, more generally, of any problem solving process. Our exploration of these systems will be guided by the desire to answer the following four practical questions:
|
|||||||
921 | Term 2 | Wed Fri | 9:30 AM - 1:00 PM | DMP 310 | |||
Extended Description CPSC 121 explores formal modeling systems that help us to understand and to explore the capabilities of computers and, more generally, of any problem solving process. Our exploration of these systems will be guided by the desire to answer the following four practical questions:
|
CPSC 210 - 2022S
Software Construction
Design, development, and analysis of robust software components. Topics such as software design, computational models, data structures, debugging, and testing.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
921 | Term 2 | Tue Thu | 9:30 AM - 1:00 PM | ANGU 098 | Felix Grund | ||
Instructor(s) Extended Description The following broad topics will be covered. The main learning goals for each topic are also provided. Data Abstraction
Control Flow Models
Type Hierarchies, Polymorphism and Dispatching
Robust Data Abstractions
Object-Oriented Design
Design Patterns
|
CPSC 213 - 2022S
Introduction to Computer Systems
Software architecture, operating systems, and I/O architectures. Relationships between application software, operating systems, and computing hardware; critical sections, deadlock avoidance, and performance; principles and operation of disks and networks.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
911 | Term 1 | Tue Thu | 9:30 AM - 1:00 PM | DMP 310 | Jordon Johnson | ||
Instructor(s) |
CPSC 221 - 2022S
Basic Algorithms and Data Structures
Design and analysis of basic algorithms and data structures; algorithm analysis methods, searching and sorting algorithms, basic data structures, graphs and concurrency.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
911 | Term 1 | Mon Wed Fri | 1:30 PM - 4:00 PM | ESB 1013 | Geoffrey Tien | ||
Instructor(s) |
CPSC 304 - 2022S
Introduction to Relational Databases
Overview of database systems, ER models, logical database design and normalization, formal relational query languages, SQL and other commercial languages,data warehouses, special topics.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
921 | Term 2 | Mon Wed Fri | 1:30 PM - 4:00 PM | DMP 310 | Gittu George | ||
Instructor(s) Extended Description The preliminary syllabus is here: https://www.students.cs.ubc.ca/~cs-304/2021W1/cpsc304_2021w1_syllabus.pdf |
CPSC 322 - 2022S
Introduction to Artificial Intelligence
Problem-solving and planning; state/action models and graph searching. Natural language understanding Computational vision. Applications of artificial intelligence.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
921 | Term 2 | Mon Wed Fri | 9:30 AM - 12:00 PM | ANGU 098 | Jordon Johnson | ||
Instructor(s) |
CPSC 330 - 2022S
Applied Machine Learning
Application of machine learning tools, with an emphasis on solving practical problems. Data cleaning, feature extraction, supervised and unsupervised machine learning, reproducible workflows, and communicating results.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
911 | Term 1 | Mon Wed Fri | 9:30 AM - 12:00 PM | FSC 1005 | Mehrdad Oveisi | Course Page | |
Instructor(s) Course Page Extended Description This course covers application of machine learning tools, with an emphasis on solving practical problems. Also included in the course are data cleaning, feature extraction, supervised and unsupervised machine learning, reproducible workflows, and communicating results. |
CPSC 410 - 2022S
Advanced Software Engineering
Specification, design, construction and validation of multi-version software systems.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
911 | Term 1 | Mon Wed Fri | 1:00 PM - 3:30 PM | LASR 104 | Nico Ritschel | ||
Instructor(s) |
CPSC 455 - 2022S
Applied Industry Practices
Hands-on project, mentored by industry experts, integrating skills relevant to early career in the computing industry: technical skills, communication, teamwork, networking and portfolio building.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
901 | Term 1 & 2 | Sat | 10:00 AM - 3:30 PM | DMP 310 | Danya Karras, Ian McLean | ||
Instructor(s) |
CPSC 491 - 2022S
Interactive Digital Media Practicum
Design and implementation of interactive digital media systems using modern processes and tools. Projects provided by external clients or vetted entrepreneurial pitches are developed by interdisciplinary teams composed of one CPSC 491 student and multiple Master of Digital Media students.
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
911 | Term 1 & 2 | Steve Wolfman | |||||
Instructor(s) |
CPSC 548 - 2022S
Directed Study
Section | Term | Days | Time | Location | Instructor(s) | Webpage | Details |
---|---|---|---|---|---|---|---|
911 | Term 1 | ||||||
|