Fall 2024/Summer 2024 Course Bulletin

IMPORTANT DATES AND LINKS for Undergraduate Students

 

**Shopping carts open for Summer 2024 on February 12, 2024 and registration for Summer 2024 opens February 19, 2024.**

**Shopping carts open for Fall 2024 on March 25, 2024 and the first registration window for Fall 2024 opens April 3, 2024.**

 

REGISTRATION CLEARANCE  -  Get info on clearance for Fall 2024 registration HERE.

AN IN-PERSON OR VIRTUAL MEETING WITH THE DUS  -  Meeting times listed HERE to meet with the DUS.

COMPSCI ADVISOR  -  If you haven't submitted a preference for a CompSci advisor, or would like to change your CompSci advisor, please complete THIS FORM.

PERMISSION NUMBERS  -  To request a permission number, fill out THIS FORM for Summer 2024 or THIS FORM for Fall 2024.

Questions? Email dus@cs.duke.edu.


NEW! MS-CS FIVE-YEAR (4+1) UNDERGRAD PROGRAM:

The new CS 4+1 MS program offers an opportunity for Duke undergraduates to earn an MS degree in CS (MSCS) with an extra (fifth) year at Duke. The MSCS degree is in addition to your undergraduate degree. This 4+1 program may be a good path for you if you are able to take two or more “extra” graduate courses as an undergraduate, beyond any courses you need for your undergraduate degree. The 4+1 MSCS program is suitable primarily for CS majors and CS minors. Learn more.


LIST OF COMPSCI COURSES FOR SUMMER 2024

SUMMER I

  • 101LA - Introduction to Computer Science (away at Marine Labs) | Reed
  • 230 - Discrete Math for Computer Science | Chao
  • 250D - Computer Architecture | Bletsch
  • 791 - Internship | Ge

SUMMER II

  • 207 - Introduction to Mobile Application Development in IOS | Pang
  • 330 - Introduction to the Design and Analysis of Algorithms | Steiger

LIST OF COMPSCI COURSES FOR FALL 2024

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

  • 94 - Programming and Problem Solving | Rodger
  • 101L - Introduction to Computer Science | Velasco
  • 110 - Information, Society and Culture: Bass Connections Gateway (cross ISS 110) | Giugni
  • 201 - Data Structures and Algorithms | Astrachan
  • 210D - Introduction to Computer Systems | Chase
  • 216 - Everything Data | Stephens-Martinez
  • 226 - User Research Methods in Human-Centered Computing (cross ISS 266) | Emami-Naeini
  • 230 - Discrete Math for Computer Science | O'Hanlon
  • 240 - Race, Gender, Class, & Computing (cross GFS 242) | Washington
  • 247S - Human Flourishing in a Digital Age (cross ETHICS 247S) | Fain
  • 250D - Computer Architecture (cross ECE 250D) | Sorin
  • 316D - Introduction to Database Systems | Roy
  • 321 - Graph Analysis with Matrix Computation (cross MATH 462) | Sun
  • 330 - Introduction to the Design and Analysis of Algorithms | Munagala
  • 334 - Mathematical Foundations of Computer Science | Rodger
  • 350L - Digital Systems (cross ECE 350L) | Board
  • 351 - Introduction to Computer Security | Reiter
  • 354 - Foundations of Blockchains | Nayak
  • 356 - Computer Network Architecture (cross ECE 356) | Gorlatova
  • 371 - Elements of Machine Learning | Tomasi
  • 391 - Independent Study | Departmental Staff
  • 393 - Research Independent Study | Departmental Staff
  • 434 - Topological Data Analysis (cross MATH 412) | Bendich
  • 445 - Introduction to High Dimension Data Analysis (cross MATH 465) | Yu
  • 487 - Introduction to Mathematical Logic (cross MATH 487) | Rossman
  • 512 - Distributed Systems | Maggs
  • 514 - Advanced Computer Networks (cross ECE 558) | X. Yang
  • 521 - Graph Analysis with Matrix Computation | Sun
  • 526 - Data Science (cross CBB 526, ECE 583) | Songdechakraiwut
  • 531D - Introduction to Algorithms | Reif
  • 532 - Design and Analysis of Algorithms | Agarwal
  • 550 - Advanced Computer Architecture I (cross ECE 552)| Wills
  • 555 - Probability for Electrical and Computer Engineers (cross ECE 555) | Trivedi
  • 565 - Modern Optimization for Statistical Learning | Fang
  • 570 - Artificial Intelligence | Parr
  • 581 - Computer Security | Reiter
  • 584 - Foundations of Blockchains | Nayak
  • 632 - Approximation Algorithms | Panigrahi
  • 653 - Human-Centered Computing (cross ECE 653) | Daily
  • 655L - Full-Stack IoT Systems (cross ECE 655L) | T. Chen
  • 671D - Theory and Algorithms for Machine Learning (cross ECE 687D, STA 671D) | Rudin
  • 675D - Introduction to Deep Learning (cross ECE 685D) | Tarokh
  • 701S - Introduction for Graduate Students in Computer Science (PhD students ONLY) | Ge
  • 704 - Computer Science Masters Program Career Preparation and Development | Peters
  • 762 - High-Dimensional Statistics and Machine Learning (cross BIOSTAT 915) | A. Zhang
  • 763 - Graphical Models for Biological Data (cross BIOSTAT 914) | Majoros
  • 791  - Internship | Ge

Special Topics Courses

  • 290-02 - Introduction to Applied Machine Learning | Fain
  • 290-03 - Human Skills for Software Engineering | Fouh
  • 290-04 - Computational Geometry | Steiger
  • 590-03 - Language-Based Security | D. Zhang
  • 590-05 - Large Language Models and Generative AI | Pei - CANCELLED
  • 590-06 - Robot Learning (cross ME 555-06) | B. Chen

COURSE-RELATED UPDATES

New! COMPSCI 232 Discrete Mathematics and Proofs

COMPSCI 232 - This course takes a theoretical approach to probability, directed graphs, and Markov chains. Students will engage with proofs (both understanding proofs and constructing their own proofs) to investigate topics including discrete distributions, conditional probability, graphs, directed graphs, and Markov chains. Students will apply Markov models to novel contexts. COMPSCI 232 can be taken in lieu of COMPSCI 230.


New! RE-NUMBERED COURSES

These new courses, which have all been taught previously as Special Topics courses (i.e., CompSci 290 and/or 590), now have permanent course numbers. If you have already taken them as a Special Topics course, you may not take the re-numbered course.

COMPSCI 290 (old - previously taught Fall 2023) → COMPSCI 226 User Research Methods in Human-Centered Computing

COMPSCI 290 (old) → COMPSCI 345 Graphics Software Architecture

COMPSCI 590 (old) → COMPSCI 526 Introduction to Data Science

COMPSCI 590 (old) → COMPSCI 535 Algorithmic Game Theory

COMPSCI 590 (old) → COMPSCI 565 Modern Optimization for Statistical Learning

COMPSCI 590 (old) → COMPSCI 574 Elements of Deep Learning

COMPSCI 590 (old - previously taught Fall 2022) → COMPSCI 584 Foundations of Blockchains

COMPSCI 590 (old) → COMPSCI 585 Secure Software Systems

COMPSCI 590 (old) → COMPSCI 586 Human-Centered Security and Privacy


OTHER COURSE OFFERINGS

COMPSCI 260 - Introduction to Computational Genomics will be offered Spring 2025.

Either COMPSCI 307D - Software Design and Implementation or COMPSCI 308 - Advanced Software Design and Implementation will be offered Spring 2025.

COMPSCI 310 - Introduction to Operating Systems will be offered Spring 2025.

COMPSCI 334 - Mathematical Foundations of Computer Science, typically offered during the Spring semester, will NOT be offered during Spring 2025, but will instead be offered Fall 2024.


S/U COURSE CREDIT

MATH 111, MATH 112 and COMPSCI 101 -- Only these three courses are accepted as S/U (if they can be taken S/U) and count towards degree requirements for CompSci majors and minors. For other majors and minors you plan to have, you need to check if they will also allow these courses to count if taken S/U.

For IDM majors, only these three courses -- MATH 111, MATH 112 and COMPSCI 101 -- are accepted as S/U (if they can be taken S/U) and count towards the CompSci part of your IDM. Check with your other major in your IDM to find out whether they will also allow these courses to count if taken S/U.

It is possible these courses may not be offered with the option to take them S/U.


REMINDER: CHANGES TO MAJOR/MINOR REQUIREMENTS

1 )  You are now 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 )  You are now able to use COMPSCI 232 in lieu of the COMPSCI 230 requirement.

3 )  For the CompSci majors and minor, only one CompSci course can be included which falls into the category of Social and Policy Oriented Computing courses. Examples of Social and Policy Oriented Computing courses include COMPSCI 240, COMPSCI 247S, and COMPSCI 255, COMPSCI 342.

4 )  For the CompSci BS and BA majors as well as the Software Systems and AI/Machine Learning concentrations, COMPSCI 345 - Graphics Software Architecture AND COMPSCI 512 - Distributed Systems now count as systems core classes.


PERMISSION NUMBER REQUESTS FOR SUMMER 2024/FALL 2024

Please use the following forms (Duke login required) to request a Permission Number for a COMPSCI course for Summer 2024 and/or for Fall 2024. This permission number is generally only for bypassing pre-requisites, and will place you on the waitlist if a course is full.


 

Questions? Email dus@cs.duke.edu.

 


PREVIOUS COURSE BULLETINS: