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:

Course Title
Core courses
COMP_SCI 111-0Fundamentals of Computer Programming
COMP_SCI 150-0Fundamentals of Computer Programming 1.5
COMP_SCI 211-0Fundamentals of Computer Programming II
COMP_SCI 212-0Mathematical Foundations of Comp Science
COMP_SCI 213-0Introduction to Computer Systems
COMP_SCI 214-0Data Structures & Algorithms
Breadth courses (same as for stand-alone major: 5 courses, one from each area, see below)
Project courses (2 units; projects must be approved by both ISP and CS advisers)
COMP_SCI 399-0Projects
or INTG_SCI 398-0 Undergraduate Research

Breadth Courses

Majors must take one course from each area.  Minors must take one course from each of any three areas.


Course Title
COMP_SCI 335-0Introduction to the Theory of Computation
COMP_SCI 336-0Design & Analysis of Algorithms


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 Systems
COMP_SCI 350-0Introduction to Computer Security
COMP_SCI 354-0Computer System Security
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 346-0Microprocessor System Design
COMP_ENG 358-0Introduction to Parallel Computing
COMP_ENG 361-0Computer Architecture I

Artificial Intelligence

Course Title
COMP_SCI 325-1Artificial Intelligence Programming
COMP_SCI 337-0Natural Language Processing
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


Course Title
COMP_SCI 329-0HCI Studio
COMP_SCI 313-0Tangible Interaction Design and Learning
COMP_SCI 315-0Design, Technology, and Research
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 370-0Computer Game Design
COMP_SCI 372-0Designing 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 393-0Software Construction
COMP_SCI 394-0Agile Software Development
COMP_SCI 473-1NUvention: Web - Part 1
COMP_SCI 473-2NUvention: Web - Part 2