SYLLABUS
CPSC 312 Computer Organization
Spring 2009
Duncan M. (Hank) Walker (walker@cse.tamu.edu)
Tel: 979-862-4387
Office: H. R. Bright Building (HRBB) 515B
Graduate Advisor Tel: 979-845-4087
Graduate Advisor Office: Richardson 916C
Office hours: TR 11:00am-12:00pm and by appointment. Office hours will be modified as needed
Teaching Assistant
Suneil Mohan
Email: suneil@cse.tamu.edu
Tel:
979-458-0833
Office: H. R. Bright Building (HRBB) 514B
Office hours: TBA
CPSC 312 is an introductory course on computer organization. It provides insights into fundamentals of organization and structure of computer systems. One of the objectives of this course is to teach critical thinking, how to learn, and how to communicate technical concepts in the area of computer systems. These objectives will be met through lectures, challenging assignments, regular quizzes, and a final examination. The course consists of materials on the following topics: introduction to computer systems, data representation, machine language, processor architecture, memory hierarchy, linking, exception control flow, virtual memory, system level I/O, and network programming.
Several laboratory assignments will provide hands-on experience on some of the above topics. Projects allow students to implement material taught in the lectures and laboratory.
Introduction to computer systems from programmer’s perspective: simple logic design, data representation and processor architecture, programming of processors, memory, control flow, input/output, and performance measurements; hands-on lab assignments.
CPSC 221 Data Structures and Algorithms. You should have a
clear understanding of data structures, including list, stacks, and queues.
Your familiarity with recursion and exposure to complexity analysis are
desirable. Lab assignments will require basic computer skills in implementing
the above topics.
Student textbook site: http://csapp.cs.cmu.edu/public/students.html.
Student textbook site: http://bcs.wiley.com/he-bcs/Books?action=index&itemId=0470044373&bcsId=4194
Students are required to read the main textbook and other assigned materials as announced time to time. It is highly recommended to be familiar with the material ahead of the corresponding lecture. This course will focus on the topics shown below, which may not be covered in this order, or at all, if time does not permit it.
|
Course Topics and Corresponding Textbook Chapters |
|||
|
Week |
Topics |
Reading Materials Chapter Numbers |
Milestones |
|
1-2 |
Computer Systems |
Bryant Ch. 1 |
Pre-Test |
|
2-5 |
Data representation, Arithmetic, Logic Design |
Vahid Ch.1-4 |
Q1, HW1, HW2 |
|
5-7 |
Machine language |
Bryant Ch. 3 |
Q2, HW3 |
|
7-10 |
Processor architecture |
Bryant Ch. 4 |
Q3, HW4, Project 1 |
|
10-12 |
Memory hierarchy |
Bryant Ch. 6 |
Q4, HW5, |
|
12-13 |
Virtual memory |
Bryant Ch 10 |
HW6, Q5 |
|
14 |
System level I/O |
Bryant Ch 11 |
Project 2 |
|
15 |
Review |
|
Final Exam |
Class attendance is strongly recommended. Students are responsible for any material missed. Material covered in the lectures may not be found in the textbook or the slides. Missed exams, quizzes and class presentations may be made up only for a university-excused absence. Other special situations must be discussed with the instructor in advance of the exam.
The course consists of lectures, quizzes, homeworks, lab assignments, projects and final examination. The grade will be computed as follows:
|
Course Grading |
|
|
Projects |
15% |
|
Homework |
15% |
|
Laboratory Assignments |
20% |
|
Quizzes |
25% |
|
Final exam |
25% |
The quizzes will be held in class with exact dates determined during the semester. Note that there is no mid-term exam. The quizzes are scheduled after each chapter is completed. The quizzes and final exam will generally test your knowledge of assignment material, so you are responsible for mastering all lab, homework, and project material submitted with other partners, as if you did all the work by yourself. All exams will be closed book and closed notes (unless otherwise stated). The nature of the course material is such that the final exam must be cumulative.
Homework, lab exercises and project are substantial assignments.
Homework Assignments: Homework will be assigned sporadically, typically consisting of end-of-chapter exercises. Homework assignments can be carried out by one or two people, unless stated otherwise. Assignments are expected to be completed in one to two weeks.
Lab Exercises: Labs are intended to prepare you to tackle the projects, and you will typically be able to complete labs during the assigned lab period. Written lab work will be accepted up to the beginning of the following lab period. To obtain credit for a lab you typically must obtain a “check-off” from your TA, signifying that you completed the work during the scheduled lab time. You are responsible for attending lab and demonstrating to your lab instructor that you completed the work.
Course Projects: The course projects will integrate most concepts covered during the semester, but it are more open-ended than regular assignments. A written proposal and a final report will be required. The final report and program source code will be due by the deadline announce in the class. The projects will be carried out by a group of two to four people. You are encouraged to form groups as early as possible.
Course labs and projects will involve programming and solving problems in computer organization in C or C++ and the SystemC language. All tools are run on departmental UNIX/Linux and Windows PC systems.
Assignments will be placed on the course web page. The correct approach is to start working on assignments as early as possible and contact us when you encounter difficulties. In general, the closer to the deadline you request our assistance the harder it might be to obtain our help.
Turn in all work by the established deadline. In case you have difficulties finishing an assignment contact the TA or the Instructor before the deadline. Late work can be accepted only under circumstances beyond student's control and after arrangement with the Instructor, prior to the deadline. Note: work turned-in on time is eligible for partial credit. It will always be better to turn work in by the deadline, as trying to ``perfect'' it and turning it in late will give you no points at all.
All assignments/deliverables must be submitted electronically, by the due date and time, using the turn-in procedure on CSNET. Late submission beyond the cutoff will not be accepted in general, unless a University sanctioned excuse is provided ahead of time. A student will earn points when he/she submits the assignment on time, by the partial credit policy. Note that email submissions will not be accepted (they will be ignored without notice). You have to follow the submission and media policies and guidelines published on the course Web site.
In general, late submission will be penalized with a loss of 25% of the total points earned per day late.
Partial credit will be given based on the work submitted.
A student can request re-grading of assignments and exams, if he/she believes that the points assigned are inconsistent with the quality and merits of the submitted work. To request re-grading you have to follow the guidelines below.
Make-ups for assignments and exams will be given only for university-excused absences. Prior arrangements with the instructor must be made when feasible and official verification of circumstances necessitating the absence will be required.
Each assignment will state the number of people who can work together in a group. Some assignments will be done by students individually. Partners will turn in a single assignment paper (with each partner's name and section number on it) and each partner will receive the same grade. You are also free to work individually. Acceptable collaboration with students not on your team (or for an individual assignment) includes: (1) discussing the assigned problems to understand their meaning, (2) discussing possible approaches to assigned problems, or (3) discussing general programming principles in the solution of programming problems or UNIX system features that will help solve the problem. However, you must explicitly acknowledge any substantive help received from someone during the course of the preparation of your solution.
Unacceptable collaboration on homework includes: (1) copying (verbatim use) of physical papers or computer files, or (2) submission of solutions that are jointly authored, or authored either wholly or in part by other individuals not on your team.
In general, the strategy and approach of solutions may be developed jointly but all actual solutions must be constructed and written up by individual teams. No code may be shared between teams. For written assignments, solutions may sketched out with other teams, however each team must construct the final form of their solution individually and write-up their own solution. You should make sure all of your files are properly secured since you may be responsible if some one copies your files.
Should questions arise during the course of working on a problem, please feel free to contact the instructor either by telephone, electronic mail, or by an office visit. In principle, if you work with others in good faith and are honest and generous with your attributions of credit you will have no problems.
This
course is governed by the Aggie Code of Honor and Texas A&M University
Student Rules (http://student-rules.tamu.edu). This includes academic
misconduct such as plagiarism and cheating. The penalties range from a zero
grade on an assignment to expulsion from the university. The instructor of this
course has had students expelled for scholastic dishonesty.
Aggie Honor Code: An
Aggie does not lie, cheat, or steal or tolerate those who do.
Upon accepting admission to Texas A&M University, a student immediately assumes a commitment to uphold the Honor Code, to accept responsibility for learning and to follow the philosophy and rules of the Honor System. Students will be required to state their commitment on examinations, research papers, and other academic work. Ignorance of the rules does not exclude any member of the Texas A&M University community from the requirements or the processes of the Honor System. For additional information, please visit http://www.tamu.edu/aggiehonor. On all course work, assignments, and examinations at Texas A&M University, the following Honor Pledge shall be preprinted and signed by the student:
On my honor, as an Aggie, I have
neither given nor received unauthorized aid on this academic work.
The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact Disability Services, in Cain Hall, Room B118, or 845-1637. For additional information, see http://disability.tamu.edu. If you need accommodation, identify yourself to the instructor in a timely manner.
The materials used in this course are copyrighted. By
“materials,” we mean all documents and Web site contents generated for this
class, including but not limited to syllabi, lecture materials, problems, and
readings. Their usage is limited to your private personal use. Any other use
requires permission of the copyright holders.