CS 213 Introduction to Computer Systems Course Organization Teaching staff Instructors 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 David O Hallaron August 28 2001 Course Admin Rosemary Battenfelder WeH 4218 Topics Staff text and policies Lecture topics and assignments Lab rationale class01b ppt These are the nominal office hours Come talk to us anytime Or send email class01b ppt CS 213 F 01 Lectures Brian Kernighan and Dennis Ritchie higher level concepts The C Programming Language Second Edition Prentice Hall 1988 Recitations applied concepts important tools and skills for labs clarification of lectures exam coverage recitation problems assigned in lecture the previous Thursday Randy Bryant and David O Hallaron Labs Computer Systems A Programmer s Perspective To be published by Prentice Hall Summer 2002 We ll be using a preliminary version 3 CS 213 F 01 Course Components Textbooks class01b ppt 2 CS 213 F 01 the heart of the course 1 or 2 weeks provide in depth understanding of an aspect of systems programming and measurement class01b ppt 4 CS 213 F 01 Getting Help Policies Assignments Web Work groups 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 assignments You may do all labs in groups of up to 2 Handins Assignments due at 11 59pm on specified due date Either 11 59pm Monday evening or 11 59pm Wednesday evening Electronic handins only Newsgroup cmu cs class cs213 Clarifications to assignments general discussion Makeup exams and assignments OK but must make PRIOR arrangements with either Prof Bryant or O Hallaron Personal help Professors door open means come on in no appt necessary TAs please mail or zephyr first class01b ppt 5 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 class01b ppt CS 213 F 01 6 CS 213 F 01 Facilities Policies Grading Assignments will use Intel Computer Systems Cluster aka the fish machines Exams 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 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 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 performance class01b ppt 7 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 help cs cmu edu x8 4231 24x7 WeH 3613 9 5pm CS 213 F 01 class01b ppt 8 CS 213 F 01 Programs and Data 8 Performance 3 Topics Topics Bits operations arithmetic assembly language programs representation of C control and data structures Includes aspects of of architecture and compilers High level processor models code optimization control and data measuring time on a computer Includes aspects of architecture compilers and OS Assignments Assignments L4 Optimizing Code Performance L1 Manipulating bits L2 Defusing a binary bomb L3 Defusing a buffer bomb class01b ppt 9 CS 213 F 01 class01b ppt 10 CS 213 F 01 Linking and Exceptional Control Flow 3 The Memory Hierarchy 2 Topics Topics Memory technology memory hierarchy caches disks locality Includes aspects of architecture and OS Assignments Assignments L4 Optimizing Code Performance class01b ppt 11 Object files static and dynamic linking libraries loading Hardware exceptions processes process control Unix signals nonlocal jumps Includes aspects of compilers OS and architecture L5 Writing your own shell with job control CS 213 F 01 class01b ppt 12 CS 213 F 01 Virtual memory 4 I O Networking and Concurrency 6 Topics Topics Virtual memory address translation dynamic storage allocation Includes aspects of architecture and OS Assignments 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 L6 Writing your own malloc package Assignments L7 Writing a Web proxy class01b ppt 13 CS 213 F 01 Lab 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 design We try to use competition in a fun and healthy way Set a threshhold for full credit Post intermediate results anonymized on Web page for glory class01b ppt 15 CS 213 F 01 class01b ppt 14 CS 213 F 01
View Full Document