Computer Science Second Major for ISP Students

Students must also complete the Undergraduate Registration Requirement and the degree requirements of their home school.

The Integrated Science Program is a highly selective program in Weinberg College.  Weinberg College students, but not McCormick students, majoring in Integrated Science may complete an abbreviated, adjunct major in computer science through a curriculum tailored specifically to their needs.

Double-counting note: Students who may be considering adding a third major (or a minor) to ISP+computer science, should keep in mind that Weinberg College prohibits double-counting a major course toward some other major or minor, except where this is explicitly permitted in this catalog. Weinberg College does allow double-counting a major course toward a general bachelor's degree requirement (i.e. degree requirements other than majors or minors). Other programs or schools may have their own restrictions that supersede this, so check the relevant parts of this catalog for possible limits.

Course Title
Core courses
COMP_SCI 150-0Fundamentals of Programming and Computational Problem Solving
or GEN_ENG 150-0 Programming for Engineers
or GEN_ENG 151-0 Honors Programming for Engineers
COMP_SCI 180-0Software Design & Composition
or COMP_SCI 111-0 Fundamentals of Computer Programming
COMP_SCI 208-0Data Structures & Algorithms (Formerly Comp_Sci 214)
COMP_SCI 211-0Programming in Systems-Level Languages
COMP_SCI 212-0Math Foundations of CS Part 1: Discrete Math for CS
COMP_SCI 213-0Introduction to Computer System
Breadth courses (same as for stand-alone major: 5 courses, one from each area, see below)
Project courses (2 units) *
*

To fulfill the 2-unit computer science project course requirement, ISP students can take courses from the Project Courses list on the computer science major page of this catalog. With prior approval by both the computer science and ISP advisers, students may instead apply 2 units of COMP_SCI 399-0 or INTG_SCI 398-0 to the project course requirement; however students may not at the same time use those independent research units to substitute for ISP major course requirements.

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-0Introduction to the Theory of Computation
COMP_SCI 336-0Design & Analysis of Algorithms

Systems

Course Title
COMP_SCI 322-0Compiler Construction
COMP_SCI 339-0Introduction to Database Systems
COMP_SCI 340-0Introduction to Networking
COMP_SCI 343-0Operating Systems
COMP_SCI 345-0Distributed and Networked Systems
COMP_SCI 346-0Microcontroller System Design
or COMP_ENG 346-0 Microcontroller System Design
COMP_SCI 350-0Introduction to Computer Security
COMP_SCI 354-0Computer System Security
COMP_SCI 358-0Introduction to Parallel Computing
or COMP_ENG 358-0 Introduction to Parallel Computing
COMP_SCI 368-0Programming Massively Parallel Processors with CUDA
or COMP_SCI 468-0 Programming Massively Parallel Processors with CUDA
or COMP_ENG 368-0 Programming Massively Parallel Processors with CUDA
or COMP_ENG 468-0 Programming Massively Parallel Processors with CUDA
COMP_SCI 440-0Advanced Networking
COMP_SCI 441-0Resource Virtualization
COMP_SCI 443-0Advanced Operating Systems
COMP_SCI 446-0Kernel and Other Low-level Software Development
COMP_SCI 450-0Internet Security
COMP_ENG 303-0Advanced Digital Design
COMP_ENG 361-0Computer Architecture I

Artificial Intelligence

Course Title
COMP_SCI 325-0Artificial Intelligence Programming
COMP_SCI 337-0Natural Language Processing: Classical Approaches
COMP_SCI 344-0Design of Computer Problem Solvers
COMP_SCI 348-0Introduction to Artificial Intelligence
COMP_SCI 349-0Machine Learning
COMP_SCI 371-0Knowledge Representation and Reasoning
COMP_SCI 372-0Designing and Constructing Models with Multi-Agent Languages
or COMP_SCI 472-0 Designing and Constructing Models with Multi-Agent Languages

Interfaces

Course Title
COMP_SCI 313-0Tangible Interaction Design and Learning
or COMP_SCI 413-0 Tangible Interaction Design and Learning
COMP_SCI 315-0Design, Technology, and Research
or COMP_SCI 415-0 Design, Technology, and Research
COMP_SCI 329-0HCI Studio
COMP_SCI 330-0Human Computer Interaction
COMP_SCI 331-0Introduction to Computational Photography
COMP_SCI 333-0Interactive Information Visualization
COMP_SCI 351-1Introduction to Computer Graphics
COMP_SCI 352-0Machine Perception of Music & Audio
COMP_SCI 353-0Natural & Artificial Vision
COMP_SCI 370-0Computer Game Design
COMP_SCI 372-0Designing and Constructing Models with Multi-Agent Languages
or COMP_SCI 472-0 Designing and Constructing Models with Multi-Agent Languages
COMP_SCI 376-0Computer Game Design and Development
COMP_SCI 377-0Game Design Studio
ELEC_ENG 332-0Introduction to Computer Vision

Software Development and Programming Languages

Course Title
COMP_SCI 310-0Scalable Software Architectures
COMP_SCI 321-0Programming Languages
COMP_SCI 338-0Practicum in Intelligent Information Systems
COMP_SCI 377-0Game Design Studio
COMP_SCI 380-0Software Quality Engineering
COMP_SCI 392-0Rapid Prototyping for Software Innovation
COMP_SCI 393-0Software Construction
COMP_SCI 394-0Agile Software Development