Welcome budding computer scientists and engineers! This semester you enter a brave new world where the shroud of mystery surrounding computers is slowly removed. Unfortunately, we won't be able to remove all the mystery, but you'll see that no magic is involved.
This course provides you with a basic understanding of how computers work. Starting from basic number and data representation we explore how computers store and manipulate information to perform computation. This is followed by higher-level systems designs including memory and input/output. We conclude with a brief discussion of advanced topics in computer systems design.
Topics covered include: C Programming, computer systems organization, machine language and assembly programming, machine representation of data and instructions, computer arithmetic, basic logic design, the CPU and instruction interpretation, memory organization, peripherals and I/O.
Prerequisites: Compsci 201 or equivalent, ability to program in a high level language.
Meeting Time & Location
Lecture: Monday, Wednesday 1:25pm - 2:40pm, Biological Sciences 111
Recitations: Wednesday various times and locations
Office Hours: See Sticky announcement on Piazza
Email: alvin.lebeck AT duke.edu
Office: D308 Levine Science Research Center
Graduate Teaching Assistants
Pulkit Misra: pulkit AT cs.duke.edu
Mike (Xiangyu) Zhang: xiangyu.zhang AT duke.edu
Undergraduate Teaching Assistants
We are using Piazza for class discussion. The system is
highly catered to getting you help fast and efficiently from
classmates, the TA, and myself. Rather than emailing questions to the
teaching staff, you should post your questions on Piazza.
Find our class page at: https://piazza.com/duke/fall2016/compsciece250/