Computer Science Minor (Weinberg College)
The program offers a minor in computer science for students who wish to develop a strong competence in computer science while majoring in another area.
Course | Title |
---|---|
Prerequisites | |
MATH 220-1 & MATH 220-2 | Single-Variable Differential Calculus and Single-Variable Integral Calculus |
or MATH 218-1 & MATH 218-2 & MATH 218-3 | Single-Variable Calculus with Precalculus and Single-Variable Calculus with Precalculus and Single-Variable Calculus with Precalculus |
MATH 230-1 | Multivariable Differential Calculus |
or MATH 228-1 | Multivariable Differential Calculus for Engineering |
MATH 240-0 | Linear Algebra |
Minor Requirements (9 units) | |
6 core courses | |
COMP_SCI 111-0 | Fundamentals of Computer Programming |
COMP_SCI 150-0 | Fundamentals of Computer Programming 1.5 |
COMP_SCI 211-0 | Fundamentals of Computer Programming II |
COMP_SCI 212-0 | Math Foundations of CS Part 1: Discrete Math for CS |
COMP_SCI 213-0 | Introduction to Computer Systems |
COMP_SCI 214-0 | Data Structures & Algorithms |
3 breadth courses in 3 separate breadth areas (see below) |
Breadth Courses
Majors must take one course from each area. Minors must take one course from each of any three areas.
Theory
Course | Title |
---|---|
COMP_SCI 335-0 | Introduction to the Theory of Computation |
COMP_SCI 336-0 | Design & Analysis of Algorithms |
Systems
Course | Title |
---|---|
COMP_SCI 322-0 | Compiler Construction |
COMP_SCI 339-0 | Introduction to Database Systems |
COMP_SCI 340-0 | Introduction to Networking |
COMP_SCI 343-0 | Operating Systems |
COMP_SCI 345-0 | Distributed Systems |
COMP_SCI 346-0 | Microcontroller System Design |
COMP_SCI 350-0 | Introduction to Computer Security |
COMP_SCI 354-0 | Computer System Security |
COMP_SCI 440-0 | Advanced Networking |
COMP_SCI 441-0 | Resource Virtualization |
COMP_SCI 443-0 | Advanced Operating Systems |
COMP_SCI 446-0 | Kernel and Other Low-level Software Development |
COMP_SCI 450-0 | Internet Security |
COMP_ENG 303-0 | Advanced Digital Design |
COMP_ENG 346-0 | Microcontroller System Design |
COMP_ENG 358-0 | Introduction to Parallel Computing |
COMP_ENG 361-0 | Computer Architecture I |
Artificial Intelligence
Course | Title |
---|---|
COMP_SCI 325-0 | Artificial Intelligence Programming |
COMP_SCI 337-0 | Natural Language Processing: Classical Approaches |
COMP_SCI 344-0 | Design of Computer Problem Solvers |
COMP_SCI 348-0 | Introduction to Artificial Intelligence |
COMP_SCI 349-0 | Machine Learning |
COMP_SCI 371-0 | Knowledge Representation and Reasoning |
COMP_SCI 372-0 | Designing and Constructing Models with Multi-Agent Languages |
Interfaces
Course | Title |
---|---|
COMP_SCI 313-0 | Tangible Interaction Design and Learning |
COMP_SCI 315-0 | Design, Technology, and Research |
COMP_SCI 329-0 | HCI Studio |
COMP_SCI 330-0 | Human Computer Interaction |
COMP_SCI 331-0 | Introduction to Computational Photography |
COMP_SCI 333-0 | Interactive Information Visualization |
COMP_SCI 351-1 | Introduction to Computer Graphics |
COMP_SCI 352-0 | Machine Perception of Music & Audio |
COMP_SCI 370-0 | Computer Game Design |
COMP_SCI 372-0 | Designing and Constructing Models with Multi-Agent Languages |
COMP_SCI 376-0 | Computer Game Design and Development |
COMP_SCI 377-0 | Game Design Studio |
ELEC_ENG 332-0 | Introduction to Computer Vision |
Software Development and Programming Languages
Course | Title |
---|---|
COMP_SCI 310-0 | Scalable Software Architectures |
COMP_SCI 321-0 | Programming Languages |
COMP_SCI 338-0 | Practicum in Intelligent Information Systems |
COMP_SCI 377-0 | Game Design Studio |
COMP_SCI 392-0 | Rapid Prototyping for Software Innovation |
COMP_SCI 393-0 | Software Construction |
COMP_SCI 394-0 | Agile Software Development |
Students should begin the minor before the end of the first quarter of their junior year.