15 213 The Class That Gives CMU Its Zip Introduction to Computer Systems David O Hallaron August 27 2002 Topics class01b ppt n Staff text and policies n Lecture topics and assignments n Lab rationale CS 213 F 02 Teaching staff staff 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 2 15 213 F 02 Textbooks Textbooks Randal E Bryant and David R O Hallaron n Computer Systems A Programmer s Perspective Prentice Hall 2003 n csapp cs cmu edu Brian Kernighan and Dennis Ritchie n 3 The C Programming Language Second Edition Prentice Hall 1988 15 213 F 02 Course Components Components Lectures n Higher level concepts Recitations n Applied concepts important tools and skills for labs clarification of lectures exam coverage Labs 4 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 15 213 F 02 Getting Help Help Web n www cs cmu edu afs cs academic class 15213 f02 www n Copies of lectures assignments exams solutions n Clarifications to assignments Newsgroup n cmu cs class cs213 n Clarifications to assignments general discussion Personal help 5 n Professors door open means come on in no appt necessary n TAs please mail or zephyr first 15 213 F 02 Policies Assignments Assignments Work groups n You must work alone on all labs l except for Lab 7 Web Proxy with work groups of two Handins n Assignments due at 11 59pm on specified due date Typically 11 59pm Thursday evening to avoid 212 conflicts n Electronic handins only n Makeup exams and assignments n OK but must make PRIOR arrangements with either Prof Bryant or O Hallaron Appealing grades n Within 7 days of due date or exam date n Assignments Talk to the lead person on the assignment Exams Talk to either Prof Bryant or O Hallaron n 6 15 213 F 02 Cheating What is cheating n Sharing code either by copying retyping looking at or supplying a copy of a file What is NOT cheating n Helping others use systems or tools n Helping others with high level design issues n Helping others debug their code Penalty for cheating n 7 Removal from course with failing grade 15 213 F 02 Policies Grading Grading Exams 40 n Two in class exams 10 each n Final 20 n All exams are open book open notes Labs 60 n 7 labs 8 12 each Grading Characteristics 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 8 Tests typically have a wider range of scores 15 213 F 02 Facilities Assignments will use Intel Computer Systems Cluster aka the fish machines 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 Getting help with the cluster machines 9 n See course Web page for info n Please direct questions to your TAs 15 213 F 02 Programs and Data 8 Topics n Bits operations arithmetic assembly language programs representation of C control and data structures n Includes aspects of of architecture and compilers Assignments 10 n L1 Manipulating bits n L2 Defusing a binary bomb n L3 Hacking a buffer bomb 15 213 F 02 Performance 3 Topics n High level processor models code optimization control and data measuring time on a computer n Includes aspects of architecture compilers and OS Assignments n 11 L4 Optimizing Code Performance 15 213 F 02 The Memory Hierarchy 2 2 Topics n Memory technology memory hierarchy caches disks locality n Includes aspects of architecture and OS Assignments n 12 L4 Optimizing Code Performance 15 213 F 02 Linking and Exceptional Control Flow 3 Topics n Object files static and dynamic linking libraries loading n Hardware exceptions processes process control Unix signals nonlocal jumps n Includes aspects of compilers OS and architecture Assignments n 13 L5 Writing your own shell with job control 15 213 F 02 Virtual memory 4 Topics n Virtual memory address translation dynamic storage allocation n Includes aspects of architecture and OS Assignments n 14 L6 Writing your own malloc package 15 213 F 02 I O Networking and Concurrency 6 Topics n High level and low level I O network programming Internet services Web servers n concurrency concurrent server design threads I O multiplexing with select n Includes aspects of networking OS and architecture Assignments n 15 L7 Writing your own Web proxy 15 213 F 02 Lab Rationale Rationale Each lab should have a well defined goal such as solving a puzzle or winning a contest n n Defusing a binary bomb Winning a performance contest Doing a lab should result in new skills and concepts n n n n n n Data Lab computer arithmetic digital logic Bomb Labs assembly language using a debugger understanding the stack Perf Lab profiling measurement performance debugging Shell Lab understanding Unix process control and signals Malloc Lab understanding pointers and nasty memory bugs Proxy Lab network programming server design We try to use competition in a fun and healthy way n n 16 Set a threshhold for full credit Post intermediate results anonymized on Web page for glory 15 213 F 02 Good Luck Luck 17 15 213 F 02
View Full Document