CS 213Introduction to Computer SystemsCourse OrganizationTodd C. MowryJanuary 18, 2000Topics:• Staff, text, and policies• Lecture topics and assignments• Lab rationaleCS 213 F’99class01b.pptCS 213 S’002class01b.pptTeaching staffInstructors– Prof. Guy Blelloch (Tue 3:30-4:30, DH 4307)– Prof. Todd C. Mowry (Fri 10:00-11:00, WeH 8123)TA’s– Angela Brown (Tue 2:30-3:30, WeH 3711)– Patrick Chiu (Fri 2:30-3:30, WeH 3108)– Jun Gao (Wed 4:00-5:00, WeH 7110)– Ted Wong (Thu 1:00-2:00, WeH 8101)– Antonia Zhai (Wed 3:00-4:00, WeH 8301)Course Admin– Maury Burgwin (WeH 8124)These are the nominal office hours. Come talk to us anytime!(Or send email)CS 213 S’003class01b.pptTextbookSamuel P. Harbison and Guy L. Steele,• C: A Reference Manual, • Fourth Edition• Prentice Hall, 1994Unfortunately, there is no real “textbook” for this material.• H&S is a C reference book, since we will be programming in C.– Note: simply knowing C++ is not sufficient, since C is different.• It provides only partial coverage of the course material.Remainder will be provided in notes and handouts.(Bryant & O’Hallaron are working on an alpha version of a text.)CS 213 S’004class01b.pptCourse ComponentsLectures• higher level conceptsRecitations• applied concepts, important tools and skills for labs, clarification of lectures, exam coverageLabs• multi-week (usually 2 weeks)• groups of up to 2 people• provide in-depth understanding of an aspect of systems• programming and measurementHomeworks• 1 week (individual)• solving a series of smaller problems, some programming• drills to provide practice for examsCS 213 S’005class01b.pptGetting HelpWeb• www.cs.cmu.edu/afs/cs/academic/class/15213-s00/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 S’006class01b.pptPolicies: AssignmentsWork groups• You may do all labs and homeworks in groups of up to 2 .Handins• Basically something due every Thursday• Assignments due at 12:01am on specified due date.– I.e. the start of the day, not the end of the day• Electronic handins only.Makeup exams and assignments• OK, but must make PRIOR arrangements with either Prof. Blelloch or Prof. Mowry.Appealing grades• Within 7 days of due date.• Assignments: Talk to lead TA first, then one of the professors.• Exams: Talk to either Prof. Blelloch or Prof. Mowry.CS 213 S’007class01b.pptPolicies: GradingExams (50%)• Two in class exams (12.5% each)• Final (25%)• All exams are open book/open notes.Assignments (50%)• 5 homeworks (~1 week, 2% each)• 5 labs (~2 weeks, 8-12% each)Grading Characteristics• Assignment 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 S’008class01b.pptFacilitiesAssignments will use Intel Computer Systems Cluster• 25 Pentium III machines donated by Intel specifically for CS 213• 550 MHz with 256 MB memory.• Rack mounted in the 3rd floor Wean machine room.CS 213 S’009class01b.pptPart 1: Programs (12)Topics• Bits operations, arithmetic, assembly language programs, representation of C control and data structures, object files, processes, asynchronous processing, system programming• Includes aspects of of architecture, OS, and compilers Assignments• L1: Integer arithmetic• H1: Human decompiler• L2: Defusing a binary bomb• H2: floating point• H3: system programmingCS 213 S’0010class01b.pptPart 2: Memory (8)Topics• Memory management, memory technology, memory hierarchy, address translation• Includes aspects of architecture and OS.Assignments• L3: Dynamic memory allocation• H4: Address translationCS 213 S’0011class01b.pptPart 3: Performance (2)Topics• Code optimization (control and data), performance evaluation, benchmarking• Includes aspects of architecture and compilersAssignments• L4: Optimizing cache performanceCS 213 S’0012class01b.pptPart 4: Networking (5)Topics• Network technology, protocol stacks, TCP/IP, routing, sockets, internetworking, and Web programming• Includes aspects of networking and architectureAssignments• L5: building a chat server• H5: network simulationCS 213 S’0013class01b.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.• Bomb: assembly language, using a debugger. • Malloc: understanding pointers and nasty memory bugs.• Cache: profiling, measurement, performance debugging.• Chat: network programming & performance, client/server
View Full Document