Spring 2020 Course Bulletin

New! COMPSCI 102 Interdisciplinary Computing

COMPSCI 102 is a version of COMPSCI 101 that explores the concepts from 101 in the context of natural science, social science, engineering and the humanities. There is a required lab associated with COMPSCI 102.

Course Description:
Introduction to the practices and principles of computer science and programming and their impact on and potential to change the world motivated by problems drawn from natural science, social science, engineering, and humanities. Programming using Python, appropriate libraries, and APIs to process, analyze and visualize data. Design, implementation, and analysis emphasizing abstraction, encapsulation, and problem decomposition.

Not open to students who have taken COMPSCI 101. No previous programming experience required.


COMPSCI 310 Introduction to Operating Systems is not offered in Spring 2020.

Please recall that as of Fall 2019, we have a more flexible “Systems” requirement in our BS and BA requirements. Instead of the requirement to take COMPSCI 310 (Introduction to Operating Systems), you may choose one from a list of designated systems courses (including COMPSCI 310 itself). Check the updated BS / BA requirements for details.

In Spring 2020, CS316, CS350, and CS356 will fulfill the Systems requirement.


CompSci IDMs and Concentrations

In Fall 2019, we added new IDM’s, and Concentrations. We have updated the wording for concentrations since then. You can see the new pages for


Renumbering CompSci 223 (old) → CompSci 323 (current)

Computational Microeconomics

Course Description pending.


Renumbering CompSci 270 (old) → CompSci 370 (current)

Intro to Artificial Intelligence

Course Description pending.


Upper-level Electives offered for Spring 2020:

  • 216 Everything Data (Fain)
  • 290.1 Data Science Competition (Rudin)
  • 307 Software Design and Implementation (Duvall)
  • 308 Advanced Software Design and Implementation (Duvall)
  • 316 Intro to Database Systems (Roy)
  • 323 Computational Microeconomics (Conitzer)
  • 334 Mathematical Foundations: Theory of Compilers (Rodger)
  • 342 Information and the Internet (Astrachan)
  • 350 Digital Systems (Board)
  • 356 Computer Network Architecture (X. Yang)
  • 370 Intro to AI (Parr)
  • 512 Distributed Systems (Chase)
  • 520 Numerical Analysis (Sun)
  • 527 Computer Vision (Tomasi)
  • 553 Compiler Construction (Hilton)
  • 561 Computational Sequence Biology (Gordan)
  • 571 Probabilistic Machine Learning (Mukherjee)
  • 590.1 Topics: Seminar in Computational Biology (Donald)
  • 590.2 Topics: Molecular Assembly and Comp. (Reif)
  • 590.4 Topics: Edge Computing (Gorlatova)
  • 590.5 Topics: Statistical Methods Experimental Design (Cummings)

Previous course bulletins: