The goal of this 16-credit two-quarter upper-division program is for you to learn the concepts and skills that are part of advanced work in computer science. This program will explore both theory and practice. It is designed for advanced level computer science students who have taken lower division CS and are familiar with introductory data structures & algorithms (DSA).
In winter we will have three threads:
- a thread in Reinforcement Learning will cover the theory and application of Monte Carlo methods, dynamic programming and temporal difference learning.
- a thread in Architecture will delve into the lower-level operations of CPUs and supporting circuits. We will approach things from the assembly instruction level, learning how different instructions interact with each other and how they affect the state of hardware.
- a thread in Programming Languages will cover various language paradigms, as well as how languages are formally specified. This will transition to a thread in Compiler Design, putting those theories into practice.
In spring we will have three different threads:
- a thread in Machine Learning and Neural Networks will explore many of the computational techniques that have been used in AI.
- a thread in Computer Vision with Applications to Robotics which will be project-based.
- a thread in Compiler Design which builds on Programming Languages and adds some Formal Language Theory.
There will be a Project thread both in winter and spring. Group projects are encouraged, and students can change groups at the end of winter quarter.
Students who wish to take one of the courses in cybersecurity or Web programming can register for 12 credits with faculty permission. Contact the faculty for more information.
The program is primarily in person. Students who need accommodations should talk with the instructors.
Anticipated Credit Equivalencies:
Winter:
*4 - Reinforcement Learning
*4 - Computer Architecture
*4 - Programming Languages
*4 - Project
Spring:
*4 - Machine Learning and Neural Networks
*4 - Computer Vision with applications to Robotics
*4 - Computer Architecture
*4 - Project
Registration
Students should have taken Computer Science Foundations and Data Structures or equivalent.
Academic Details
Computer science, data science, software development, cybersecurity
Upper division science credit may be awarded upon satisfactory completion of the required assignments and projects.