Spring 2022 Course Bulletin

Sign up here to virtually meet with the DUS if you have questions

To Request a Permission Number, Fill out this Form

Have a question? email dus@cs.duke.edu with your question.


Bookbagging will begin October 18, 2021, and registration will start October 27, 2021.Get info on clearance for registration HERE

If you haven't submitted a preference for an advisor, or would like to change your advisor, please complete this form.


Projected List of CompSci Courses For Spring 2022

COMPSCI 101, 201, 210, 230, 250, and 330 are offered every semester.

  • 101 - Intro to Computer Science (Rodger)
  • 201 - Data Structures and Algorithms (Fain)
  • 210D - Intro to Computer Systems (Lebeck, Wills)
  • 216 - Everything Data (Stephens-Martinez)
  • 230 - Discrete Math for CompSci (Rossman)
  • 240 - Race, Gender, Class, & Computing (Washington)
  • 243 - Programming Interview Skills and Practice (Astrachan), 0.5 credit, doesn't count toward major/minor
  • 250 - Computer Architecture (Sorin)
  • 260 - Intro to Computational Genomics (Hartemink)
  • 308D - Software Design and Implementation (Duvall)
  • 323D - Computational Microeconomics (Conitzer)
  • 330 - Design & Analysis of Algorithms (Ge)
  • 334 - Mathematical Foundations of Computer Science (Rodger)
  • 342 - Technical and Social Analysis of Information and the Internet (Astrachan)
  • 350 - Digital Systems, cross ECE 350
  • 351 - Computer Security (Nayak & Reiter)
  • 356 - Computer Network Architecture (X. Yang), cross ECE 356
  • 370D - Introduction to Artificial Intelligence (Parr)
  • 474 - Data Science Competition (Rudin)
  • 507D - Mobile App Development for Programmers and Entrepreneurs (Thomas)
  • 512 - Distributed Systems (Chase)
  • 516 - Database Systems (Roy)
  • 520 - Numerical Analysis (Sun)
  • 527 - Intro to Computer Vision (Tomasi)
  • 553 - Compiler Construction (Hilton)
  • 561 - Computational Sequence Biology (Gordan)
  • 571D - Probabilistic Machine Learning (Laber)
  • 634 - Geometric Algorithms (Agarwal)

Special Topics Courses

  • 290.01 - Computing Education Research (Stephens-Martinez)
  • 290.02 - iOS Mobile App Development (Phillips)
  • 290.03 - 2D Computer Graphics (Reed)
  • 590.01 - Molecular Assembly and Computation (Reif)
  • 590.02 - Seminar Computational Biology- Lessons from SARS-COV-2 and COVID19cross CBB 590-01 (Donald)
  • 590.03 - Advanced Topics in NLP (Dhingra, Wiseman)
  • 590.04 - Datacenter Systems (Zhuo)
  • 590.05 - Cryptography (Reiter)
  • 590.06 - Next-generation Wireless and Mobile Networks (Chen)
  • 590.10 - Edge Computing, cross ECE 590-03 (Gorlatova)

Faculty started this past Fall 2021 semester!

We welcome new faculty to the department who will all be teaching this Fall. Check out their information on their website:


Course COMPSCI 210D Introduction to Computer Systems

COMPSCI 210D, Introduction to Computer Systems, provides an alternative to COMPSCI/ECE 250 for Trinity CS majors; taking either course will satisfy the CS major requirement. Pratt students are still required to take 250. The two courses share the general goal of introducing how programs execute and store information, and cover some of the same topics.  However, COMPSCI 210D focuses on software systems aspects from a programmer's perspective whereas COMPSCI 250D focuses on hardware and processor design aspects.  COMPSCI 210D introduces concepts that are broadly applicable across the many subfields of computer systems (big ideas in systems), with specific instances demonstrated through labs and assignments in the class.

COMPSCI 210D was introduced in Fall 2021. You will able to use either 210D or 250D to satisfy the major requirement. If you have already taken 250D, you will not be able to take 210D.


Renumbering COMPSCI 290/590 (old) → COMPSCI 507D

Hugh Thomas' course, Intro to Mobile Application Programming, which has been offered both as a 290 and a 590 will now have a permanent course number.


Reminder, Starting Fall 2021, Changes to Major/Minor requirements

1) You will now be able to use COMPSCI 210D in lieu of the COMPSCI 250D requirement. If you have already taken 250D, you will not be able to take 210D. If you are an ECE major, you must take COMPSCI 250D.

2) For the CompSci majors and minor, we now have a new category of courses called "Social Analysis of CS". Only one course in this category can count as an elective for the COMPSCI majors or COMPSCI minor. The "Social Analysis of CS" category includes COMPSCI 240 (was previously COMPSCI 190 Fall 20 and Spring 21) and COMPSCI 342.


Permission Number Request for Spring 2022

Please use this form (Duke login required) to request a Permission Number for a course for Spring 2022. 


PREVIOUS COURSE BULLETINS: