Introduction to Computer Systems Introduction to Computer Systems
Topics: Topics:
n Staff, text, and policies n Lecture topics and assignments n Lab rationale
CS 213 F Õ02
class01b.ppt
Introduction to Introduction to Computer Systems Computer Systems - - PowerPoint PPT Presentation
15-213 The Class That Gives CMU Its Zip! Introduction to Introduction to Computer Systems Computer Systems David OHallaron August 27, 2002 Topics: Topics: n Staff, text, and policies n Lecture topics and assignments n Lab rationale
n Staff, text, and policies n Lecture topics and assignments n Lab rationale
CS 213 F Õ02
class01b.ppt
– 2 – 15-213, F’02
n Instructors
l Prof. Randy Bryant (Wed 10:00-11:00, WeH 4220) l Prof. David O’Hallaron (Tue 10:30-11:30, WeH 8125)
n TA’s
l Rajesh Balan (TBD, WeH 8205) l Shimin Chen (TBD, WeH 8019) l Andrew Faulring (TBD, NSH 2504) l Anubhav Gupta (TBD, WeH 8218) l Annie Luo (TBD, WeH 8402)
n Course Admin
l Rosemary Battenfelder (WeH 4218)
These are the nominal office hours. Come talk to us anytime! (Or phone or send email)
– 3 – 15-213, F’02
n “Computer Systems: A Programmer’s Perspective”, Prentice
n csapp.cs.cmu.edu
n “The C Programming Language, Second Edition”, Prentice
– 4 – 15-213, F’02
n Higher level concepts
n Applied concepts, important tools and skills for labs,
n The heart of the course n 1 or 2 weeks n Provide in-depth understanding of an aspect of systems n Programming and measurement
– 5 – 15-213, F’02
n www.cs.cmu.edu/afs/cs/academic/class/15213-f02/www n Copies of lectures, assignments, exams, solutions n Clarifications to assignments
n cmu.cs.class.cs213 n Clarifications to assignments, general discussion
n Professors: door open means come on in (no appt
n TAs: please mail or zephyr first.
– 6 – 15-213, F’02
n You must work alone on all labs l (except for Lab 7: Web Proxy, with work groups of two)
n Assignments due at 11:59pm on specified due date. n Typically 11:59pm Thursday evening (to avoid 212 conflicts) n Electronic handins only.
n OK, but must make PRIOR arrangements with either Prof. Bryant or
O’Hallaron.
n Within 7 days of due date or exam date. n Assignments: Talk to the lead person on the assignment n Exams: Talk to either Prof. Bryant or O’Hallaron.
– 7 – 15-213, F’02
n Sharing code: either by copying, retyping, looking at, or
n Helping others use systems or tools. n Helping others with high-level design issues. n Helping others debug their code.
n Removal from course with failing grade.
– 8 – 15-213, F’02
n Two in class exams (10% each) n Final (20%) n All exams are open book/open notes.
n 7 labs (8-12% each)
n Lab scores tend to be high
l Serious handicap if you don’t hand a lab in l We offer generous redemption programs
n Tests typically have a wider range of scores
– 9 – 15-213, F’02
n 25 Pentium III Xeon servers donated by Intel for CS 213 n 550 MHz with 256 MB memory. n Rack mounted in the 3rd floor Wean machine room. n We’ll be setting up your accounts this week.
n See course Web page for info n Please direct questions to your TAs
– 10 – 15-213, F’02
n Bits operations, arithmetic, assembly language programs,
n Includes aspects of of architecture and compilers
n L1: Manipulating bits n L2: Defusing a binary bomb n L3: Hacking a buffer bomb
– 11 – 15-213, F’02
n High level processor models, code optimization (control and
n Includes aspects of architecture, compilers, and OS
n L4: Optimizing Code Performance
– 12 – 15-213, F’02
n Memory technology, memory hierarchy, caches, disks,
n Includes aspects of architecture and OS.
n L4: Optimizing Code Performance
– 13 – 15-213, F’02
n Object files, static and dynamic linking, libraries, loading n Hardware exceptions, processes, process control, Unix
n Includes aspects of compilers, OS, and architecture
n L5: Writing your own shell with job control
– 14 – 15-213, F’02
n Virtual memory, address translation, dynamic storage
n Includes aspects of architecture and OS
n L6: Writing your own malloc package
– 15 – 15-213, F’02
n High level and low-level I/O, network programming, Internet
n concurrency, concurrent server design, threads, I/O
n Includes aspects of networking, OS, and architecture.
n L7: Writing your own Web proxy
– 16 – 15-213, F’02
n Defusing a binary bomb. n Winning a performance contest.
n Data Lab: computer arithmetic, digital logic. n Bomb Labs: assembly language, using a debugger, understanding
the stack
n Perf Lab: profiling, measurement, performance debugging. n Shell Lab: understanding Unix process control and signals n Malloc Lab: understanding pointers and nasty memory bugs. n Proxy Lab: network programming, server design
n Set a threshhold for full credit. n Post intermediate results (anonymized) on Web page for glory!
– 17 – 15-213, F’02