Spring 2021 Course Bulletin

Sign up HERE to virtually meet with the DUS for answering your questions

Submit a request for a Permission Number HERE (requires Duke authentication)

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

New! AI and Machine Learning Concentration in BS

We have a new concentration for the BS in AI and Machine Learning, effective Spring 2021.

If you want to add a concentration (or add, drop, or change a major, minor, certificate, or concentration in general) please complete this form after add/drop is over on Monday, Nov. 9, 2020. 

New! COMPSCI 243 - Programming Interview Skills (0.5 credit course)

Course Description: Techniques and best practices for solving the kind of programming and algorithmic problems typically part of technical interviews. Common genres of problems, methods for solving them, engaging peers and interviewers in the process of solving problems. Students will be expected to participate in leetcode, hackerrank, and APT problems, with role-playing and discussion of what works and does not work.

Prerequisite: Computer Science 201. This half credit course doest not count as an elective towards the CS degrees.

Instructor: Astrachan

Special Topics: COMPSCI 590.01 (CBB 590.01) - Focus on SARS-Cov-2 and COVID-19

Course Description: This year's seminar will focus on COVID-19, SARS-CoV-2, and Therapeutic Design. However, background material and fundamental basic science, algorithms, and computational methods will be covered in order to get to the foothills of this field.

Some of the most challenging and influential opportunities for Physical Geometric Algorithms (PGA) arise in developing and applying information technology to understand the molecular machinery of the cell. Recent work shows that PGA techniques may be fruitfully applied to the challenges of structural molecular biology and rational drug design. Concomitantly, a wealth of interesting computational problems arise in proposed methods for discovering new pharmaceuticals.

This seminar course focuses on topics in computational biology. We will emphasize themes that unite algorithms, modeling, and experimental results. Topics will include algorithms, modeling, and experimental validation for several areas, including protein design, protein:protein interactions, structural biology, structural immunology, and structure-based drug design.

For those who have taken a class or seminar with Bruce Donald previously, this semester we will read entirely different papers, so please feel free to sign up.

Instructor: Bruce Donald

Special Topics: COMPSCI 390.01 - Programming Language Topics

Course Description: A survey of some interesting current and emerging programming languages, focusing on unique language paradigms-ways of structuring solutions or manipulating data. Examples of paradigms include functional (Scheme), pure-functional (Haskell), declarative (Prolog), parallel (Erlang). Emphasizes developing independent learning techniques that will allow students to acquire skills in new languages quickly. The course includes a significant amount of programming project work.

Instructor: Hewner

Special Topics: COMPSCI 590.07 - Topics in Mobile Applications

(added 12/16/2020) This course is similar to CompSci 207 but adds in business strategies of mobile software companies, from product concept and application development to company creation and the business fundamentals necessary for creating a for-profit company. This course meets one day a week online. In addition, the students are expected to complete all the asynchronous online material that is also in the course CompSci 207.

Some seats have been reserved for Juniors and Seniors. Other seats are reserved for Graduate Students. If they do not fill up their allotment then we will open it to anyone on the waitlist until capacity of 30 is reached.

Course Description: This course explores the world of mobile applications and business strategies of mobile software companies, including the fundamentals in understanding the mobile app industry; from product concept and application
development to company creation and business fundamentals necessary for creating a for-profit company. Students will create mobile applications based on the latest programming tools in use in the mobile industry today using Apple’s iOS operating system and Swift programming language. Students will also learn business topics for creating companies, fund raising and building a business based on mobile applications. Cannot take this course if you have already taken CompSci 207 or its 290 equivalent. Prerequisite: CompSci 201 or equivalent.

If you have specific questions about the course, you would need to email the instructor: hugh.thomas@duke.edu

Renumbering COMPSCI 290 - Mobile Programming (old) → COMPSCI 207 (current)

CompSci Intro to Mobile Programming, which has been taught by Hugh Thomas since Spring 2020, has a permanent course number: CompSci 207.

Renumbering COMPSCI 290 - Data Science Competition (old) → COMPSCI 474 (current)

Cynthia Rudin's course, Data Science Competition, has a permanent course number: CompSci 474.

Special Topics Courses

  • 290.02 - Web Application Development
  • 390.01 - Programming Language Topics
  • 590.01 - Computational Biology Covid, cross CBB 590.01
  • 590.02 - High Resolution Cryo-EM Image Analysis, cross BIOCHEM 690.02 
  • 590.03 - Applied Cryptography
  • 590.04 - Machine Learning Algorithms
  • 590.05 - Computer Architecture and Hardware Acceleration, cross ECE 590.09
  • 590.06 - Edge Computing, cross ECE 590.04
  • 590.07 - Mobile Applications

Other Electives offered for Spring 2021:

  • 207 - Intro to Mobile Programming
  • 216 - Everything Data
  • 260 - Intro to Computational Genomics
  • 308 - Advanced Software Design and Implementation
  • 310 - Intro to Operating Systems, cross ECE 353
  • 334 - Mathematical Foundations
  • 342 - Information and the Internet
  • 350 - Digital Systems, cross ECE 350
  • 356 - Computer Network Architecture, cross ECE 356
  • 370 - Intro to AI
  • 474 - Data Science Competition
  • 520 - Numerical Analysis, cross MATH 565/STA 612
  • 527 - Computer Vision
  • 534 - Computational Complexity
  • 553 - Compiler Construction, cross ECE 553
  • 561 - Computational Sequence Biology, cross CBB 561
  • 571D - Probabilistic Machine Learning, cross ECE 682D/STA 561D
  • 650 - Advanced Computer Architecture II, cross ECE 652

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