CS 213 Introduction to Computer Systems Course Organization David O’Hallaron August 28, 2001Teaching staffTextbooksCourse ComponentsGetting HelpPolicies: AssignmentsPolicies: GradingFacilitiesPrograms and Data (8)Performance (3)The Memory Hierarchy (2)Linking and Exceptional Control Flow (3)Virtual memory (4)I/O, Networking, and Concurrency (6)Lab RationaleCS 213Introduction to Computer SystemsCourse OrganizationDavid O’HallaronAugust 28, 2001Topics:•Staff, text, and policies•Lecture topics and assignments•Lab rationaleCS 213 F’01class01b.pptCS 213 F’01 2class01b.pptTeaching staffInstructors–Prof. Randy Bryant (Wed 10:00-11:00, WeH 4220)–Prof. David O’Hallaron (Tue 10:30-11:30, WeH 8125)TA’s–Balaji Sarpeshkar (TBD, Wean Cluster)–Sanjit Sesha (TBD, WeH 4126)–Cory Williams (TBD, Wean Cluster)–Yinglian Xie (TBD, WeH 4112)Course Admin–Rosemary Battenfelder (WeH 4218)These are the nominal office hours. Come talk to us anytime!(Or send email)CS 213 F’01 3class01b.pptTextbooksBrian Kernighan and Dennis Ritchie,•The C Programming Language, Second Edition•Prentice Hall, 1988Randy Bryant and David O’Hallaron,•Computer Systems: A Programmer’s Perspective•To be published by Prentice Hall, Summer, 2002.•We’ll be using a preliminary version.CS 213 F’01 4class01b.pptCourse ComponentsLectures•higher level conceptsRecitations•applied concepts, important tools and skills for labs, clarification of lectures, exam coverage•recitation problems (assigned in lecture the previous Thursday)Labs•the heart of the course•1 or 2 weeks•provide in-depth understanding of an aspect of systems•programming and measurementCS 213 F’01 5class01b.pptGetting HelpWeb•www.cs.cmu.edu/afs/cs/academic/class/15213-f01/www•Copies of lectures, assignments, exams, solutions•Clarifications to assignments•Summaries of performance on exams and assignmentsNewsgroup•cmu.cs.class.cs213•Clarifications to assignments, general discussion Personal help•Professors: door open means come on in (no appt necessary)•TAs: please mail or zephyr first.CS 213 F’01 6class01b.pptPolicies: AssignmentsWork groups•You may do all labs in groups of up to 2Handins•Assignments due at 11:59pm on specified due date.•Either 11:59pm Monday evening or 11:59pm Wednesday evening.•Electronic handins only.Makeup exams and assignments• OK, but must make PRIOR arrangements with either Prof. Bryant or O’Hallaron.Appealing grades•Within 7 days of due date or exam date.•Assignments: Talk to the lead person on the assignment •Exams: Talk to either Prof. Bryant or O’Hallaron.CS 213 F’01 7class01b.pptPolicies: GradingExams (50%)•Two in class exams (12.5% each)•Final (25%)•All exams are open book/open notes.La s (50%)•7 labs, 4-12% each)Grading Characteristics•Lab scores tend to be high–Serious handicap if you don’t hand a lab in•Tests have big bearing on letter grade–Wider range of scores–Only chance for us to evaluate individual performanceCS 213 F’01 8class01b.pptFacilitiesAssignments will use Intel Computer Systems Cluster(aka “the fish machines”)•25 Pentium III Xeon servers donated by Intel for CS 213•550 MHz with 256 MB memory.•Rack mounted in the 3rd floor Wean machine room.•We’ll be setting up your accounts this week.Getting help with the cluster machines:•See “Information about the Intel Cluster” on the 213 homepage.•Please direct questions to the CS Help Desk (identify yourself as a CS 213 student), –[email protected]–x8-4231 (24x7)–WeH 3613 9-5pmCS 213 F’01 9class01b.pptPrograms and Data (8)Topics•Bits operations, arithmetic, assembly language programs, representation of C control and data structures•Includes aspects of of architecture and compilers Assignments•L1: Manipulating bits•L2: Defusing a binary bomb•L3: Defusing a buffer bombCS 213 F’01 10class01b.pptPerformance (3)Topics•High level processor models, code optimization (control and data), measuring time on a computer•Includes aspects of architecture, compilers, and OSAssignments•L4: Optimizing Code PerformanceCS 213 F’01 11class01b.pptThe Memory Hierarchy (2)Topics•Memory technology, memory hierarchy, caches, disks, locality•Includes aspects of architecture and OS.Assignments•L4: Optimizing Code PerformanceCS 213 F’01 12class01b.pptLinking and Exceptional Control Flow (3)Topics•Object files, static and dynamic linking, libraries, loading•Hardware exceptions, processes, process control, Unix signals, nonlocal jumps•Includes aspects of compilers, OS, and architectureAssignments•L5: Writing your own shell with job controlCS 213 F’01 13class01b.ppt Virtual memory (4)Topics•Virtual memory, address translation, dynamic storage allocation•Includes aspects of architecture and OSAssignments•L6: Writing your own malloc packageCS 213 F’01 14class01b.ppt I/O, Networking, and Concurrency (6)Topics•High level and low-level I/O, network programming, Internet services, Web servers•concurrency, concurrent server design, threads, I/O multiplexing with select.•Includes aspects of networking, OS, and architecture.Assignments•L7: Writing a Web proxyCS 213 F’01 15class01b.pptLab Rationale Each lab should have a well-defined goal such as solving a puzzle or winning a contest. •Defusing a binary bomb. •Winning a performance contest.Doing a lab should result in new skills and concepts•Bit Manipulation: computer arithmetic, digital logic.•Bombs: assembly language, using a debugger, understanding stack •Perf: profiling, measurement, performance debugging.•Shell: understanding Unix process control and signals•Malloc: understanding pointers and nasty memory bugs.•Proxy: network programming, server designWe try to use competition in a fun and healthy way.•Set a threshhold for full credit.•Post intermediate results (anonymized) on Web page for
View Full Document