15 213 Fall 2007 Introduction to Computer Systems Majd F Sakr August 27 2007 Topics class01b ppt Staff text and policies Lecture topics and assignments Lab rationale and infrastructure Slide Credits Prof David R O Hallaron 15 213 F 07 Teaching staff Instructors Prof Majd F Sakr Prof Karem A Sakallah TA s Emily Leathers 2 Come talk to us anytime Or phone or send email 15 213 F 07 Textbooks Randal E Bryant and David R O Hallaron Computer Systems A Programmer s Perspective Prentice Hall 2003 http csapp cs cmu edu Brian Kernighan and Dennis Ritchie 3 The C Programming Language Second Edition Prentice Hall 1988 15 213 F 07 Course Components Lectures Higher level concepts Recitations Labs 4 Applied concepts important tools and skills for labs clarification of lectures exam coverage The heart of the course 1 or 2 weeks Provide in depth understanding of an aspect of systems Programming and measurement 15 213 F 07 Getting Help Class Web Page http www qatar cmu edu msakr 15213 f07 Copies of lectures assignments exams solutions Clarifications to assignments Message Board http autolab qatar cmu edu Clarifications to assignments general discussion The only board your instructors will be monitoring No blackboard or Andrew Personal help Professors K Sakallah office hour or appt M Sakr office hour appt or when door is open 5 TAs office hour email or appt 15 213 F 07 Policies Assignments Work groups You must work alone on all labs Handins Assignments due at 11 59pm on Wed or Fri evening Electronic handins using Autolab no exceptions Makeup exams and assignments Only when necessary but must make PRIOR arrangements with Prof Sakr Appealing grades 6 Within 7 days of due date or exam date Labs Talk to the lead person on the assignment Exams Talk to Prof Sakr 15 213 F 07 Cheating What is cheating Sharing code either by copying retyping looking at or supplying a copy of a file Coaching helping your friend to write a lab line by line What is NOT cheating Helping others use systems or tools Helping others with high level design issues Helping others debug their code Penalty for cheating Removal from course with failing grade Detection of cheating 7 We do check and our tools for doing this are much better than you think 15 213 F 07 Policies Grading Exams 40 Two in class exams 10 each Final 20 All exams are open book open notes Attendance Participation 5 Labs 55 7 labs 6 12 each Grading Characteristics Lab scores tend to be high Serious handicap if you don t hand a lab in We offer generous redemption programs 8 Tests typically have a wider range of scores 15 213 F 07 Facilities Labs will use the unix qatar cmu edu servers Pentium Linux servers for CS 213 Your 123 accounts should still be valid Getting help with the unix machines 9 See IT Please direct questions to your TA 15 213 F 07 Programs and Data 6 Topics Bits operations arithmetic assembly language programs representation of C control and data structures Includes aspects of architecture and compilers Assignments 10 L1 datalab Manipulating bits L2 bomblab Defusing a binary bomb L3 buflab Hacking a buffer bomb 15 213 F 07 Performance 2 Topics High level processor models code optimization control and data measuring time on a computer Includes aspects of architecture compilers and OS Assignments 11 L4 perflab Optimizing code performance 15 213 F 07 The Memory Hierarchy 2 Topics Memory technology memory hierarchy caches disks locality Includes aspects of architecture and OS Assignments 12 L4 perflab Optimizing code performance 15 213 F 07 Linking 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 architecture Assignments 13 L5 tshlab Writing your own shell with job control 15 213 F 07 Virtual Memory 4 Topics Virtual memory address translation dynamic storage allocation Includes aspects of architecture and OS Assignments 14 L6 malloclab Writing your own malloc package 15 213 F 07 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 15 L7 proxylab Writing your own Web proxy 15 213 F 07 Lab Rationale Each lab should have a well defined goal such as solving a puzzle or winning a contest Doing a lab should result in new skills and concepts We try to use competition in a fun and healthy way 16 Set a reasonable threshhold for full credit Post intermediate results anonymized on Web page for glory 15 213 F 07 Autolab Web Service Labs are provided by the Autolab system Autograding handin system developed in 2003 by Dave O Hallaron Apache Web server Perl CGI programs Beta tested Fall 2003 very stable by now With Autolab you can use your Web browser to 17 Review lab notes clarifications Download the lab materials Stream autoresults to a class status Web page as you work Handin your code for autograding by the Autolab server View the complete history of your code handins autoresult submissions autograding reports and instructor evaluations View the class status page 15 213 F 07
View Full Document