CSCE 312 Computer Organization Lecture 0: Course Administration EJ Kim ejkim@cse.tamu.edu Department of Computer Science and Engineering 338B Bright 979-845-3660 http://courses.cse.tamu.edu/ejkim/312 CSCE 312: Computer Organization • Class Schedule – Lectures MWF 03:00PM ~ 03:50PM HECC 200 – Labs • CSCE312-501 F 04:00 pm-05:40 pm RDMC 111C • CSCE312-502 F 10:20 am-12:00 pm RDMC 111C • CSCE312-503 F 12:20 am-02:00 pm RDMC 111C • Instructor: EJ Kim – Office Hour: MW 10:10AM ~ 10:40AM. – Office: HRBB 338B • TA: Jiayi Huang (HRBB 335) – Email: jyhuang@cse.tamu.edu CSCE 312: Computer Organization • Books – Computer Systems: A Programmer’s Perspective, Randal Bryant and David O’Hallaron, Prentice Hall, 2011 (2nd edition) – Digital Design, Frank Vahid, John Wiley & Sons, 2011 (2nd edition) • Optional Reference – The C Programming Language, 2nd Ed. (ANSI C version) or later, Kernighan & Ritchie, Prentice Hall • Helpful in learning the operating system and programming environment Course Overview • The goal of this course is to introduce the fundamental organization and structure of computer systems. • Topics include: – – – – – – – – – Computer systems (overview) Data representation Machine language Processor architecture Memory hierarchy Linking Exception control flow Virtual memory System level I/O Programmer Perspective • Traditional Computer Organization courses are presented in a bottom-up (hardware-oriented) fashion • We will take a top-down approach, that is, a software-oriented or “programmer’s perspective” of computer systems Prerequisites • CSCE 221 • Mastery of data structures including list, stack, and queue • Familiarity with recursion • Some knowledge of complexity analysis Grading • • • • • Homework Labs Quizzes Final Exam Project • No midterm 15% 20% 25% 25% 15% Assignments • Homework assigned ~bi-weekly • Mix of individual and team assignments, which will include programming exercises and problems from your textbooks • Assignments will be due at the beginning of the class Programming • Computing platform: Linux • Programming languages: C and Y86 Assembly • All programming must follow the JDE Coding Standard (see the course Web page, http://www.cse.unl.edu/~goddard/Courses/ CSCE310J/StandardHandouts/JdeCoding StandardV3.pdf) • Program correctness is assumed… Quizzes • Five quizzes will be given and no midterm • 25 minutes in length • Format – Brief explanation of concepts based on the reading assignment for pending lecture – Questions on material already discussed in class Homework • Late home work will have penalty @ 25% per day • Genuine difficulties must be discussed with instructor and TA • Do not cut classes to do your homework Earning Grades in this Course • Want to get an “A” grade? – Attend all classes, do homework, do reading, do labs, do projects, participate in class • Want to get a “D” grade (or worse)? – Skip class, skip assignments, do not do reading, do not be attentive or avoid taking notes in the class, do not study Summary • Read syllabus on course details • We shall study computer organization from a programmer’s perspective • A lot of work in the class • Key knowledge about the hardware/software interface