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.
Description
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
Schedule is now indicated on Sakai.
Office Hours: See Sticky announcement on Piazza
Instructor
Alvin Lebeck
Email: alvy AT cs.duke.edu
Office: D308 Levine Science Research Center
Teaching Associate
Yesenia Velasco
Graduate Teaching Assistants
Phyllis Ang,
Shujun Q,
Vinith Sharma
Undergraduate Teaching Assistants
Abhi Jadhav,
Anna Go,
Austin Odell,
Bowen Jiang,
Camden Vassallo,
Cary Shindell,
Elizabeth Bartusiak,
Jack Ellwood,
Joanna Li,
Joe Zuo,
Joyce Zhou,
Karen Deng,
Katelyn Chang,
Mary Wang,
Morgan Langenhagen,
Nathaniel Choe,
Radu Vasilescu,
Ryan Piersma,
Samuel Thompson,
Tharun Raj Mani Raj (Raj),
Thomas Butler
Discussion Forum
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/spring2020/compsci250d01dsp20/home