Teaching
Announcements
Course Information
1:00 pm - 1:50 pm MWF Shelby 1126
TA: Yun Tian, tianyun@auburn.edu
Office Hour: MW 9:00pm-10:00pm.
Office: 2319 Shelby Center
This course aims to introduce many issues and challenges involved in designing and implementing modern computer systems. Since application developers definitely benefit from understanding how computer systems work, we will be focusing on the architecture and implementation of von Neumann computer systems. Understanding the interdependence of architectural and implementation decisions is of help to the development of applications where performance is a critical issue.
Prerequisite
COMP 3350 Computer Organization and Assembly Language Programming.
Course Objectives
This course aims to introduce many issues and challenges involved in designing and implementing modern computer systems. Since application developers definitely benefit from understanding how computer systems work, we will be focusing on the architecture and implementation of von Neumann computer systems. Understanding the interdependence of architectural and implementation decisions is of help to the development of applications where performance is a critical issue. Specific objectives of this course include:
Textbooks
Hennessy, J.L, and Patterson, D. A., Computer Architecture: A Quantitative Approach, 4th Edition. Morgan Kaufmann, 2007. ISBN-13: ISBN-10: (Required)
Topics
Assessment
Exams: Midterm Exam, Final Exam
Exams will be closed book, closed notes.
Questions will be derived from lectures, material taught only in class, and from assignments. Question format will be mixed.
Short Homeworks and Activities: 2-3 homeworks
These activities will be take-home in nature and designed to reinforce concepts taught in class. They will be due in writing at the beginning of class. An electronic copy may also be necessary (specified in the assignment). Generally, these assignments are designed to be low-risk in the sense that they are designed to assess thinking and effort, rather than to strictly punish errors.
Individual Simulation Projects: 4 Lab Assignments
There will be four laboratory assignments. The lab assignment solutions will be submitted in C, C++, or java code. All projects should be made to compile under a compiler on Linux. You may use any development platform or compiler, but your projects will be graded ONLY on compilers running on Linux. If your project does not work in that environment, you will NOT get credit. Always test it yourself in the lab (shop 3)!
Individual Projects will be graded as follows (The criteria may change):
Analysis, Design, and Testing Documents: 30%
Adhering to coding style: 10%
Program meets specifications and implements key features correctly: 60%
Getting Help
Assignments may prove challenging and time-consuming. You are always welcome to bring questions concerning labs to the class, as well as to office hours. A good strategy is to always start early on projects, so that if you run into difficulties, you can get help as soon as possible. I will do my best to answer e-mails concerning labs within 48 hours of receiving them; however, I do not guarantee that I will always have time to debug code via e-mail (I prefer not to do so). For time-consuming problems dealing with code, office hours are always preferable. I will not help debug code via e-mail on the day an assignment is due. The Blackboard Discussion Board is a great way to ask questions so that everyone benefits from the answer to your question!
Office Hours
MWF 1:50pm – 2:30pm. You are always welcome to drop by during office hours to discuss projects or general concepts. To get urgent help or advice out of office hours, it is recommended to send an email in advance to make an appointment.
TA: Yun Tian, tianyun@auburn.edu
Office Hour: MW 9:00pm-10:00pm; Office: 2319
Shelby center
Course Difficulty
Students are expected to read the appropriate sections of the book before each lecture. Typically, the course starts off relatively easy and gets harder as time goes on. Often, students are deceived by the (slower) initial pace and develop lazy habits at the beginning of the course. By mid-semester, they have thrown away many grade opportunities and find themselves in a bad situation with respect to grades. No amount of effort at the end of the class will compensate for consistent, dedicated effort throughout the class. My strongest recommendation is that you respect the class and come to class ready to engage every single class period. If you do this, you will dramatically increase your chances of success.
Attendance
Class attendance is mandatory. This is an important undergraduate class; therefore, students will have to actively participate in class. It is believed that if you miss many classes (more than 6), there is a strong likelihood that you will not pass the class. Please notify me in advance if you will attend conferences, research meetings, or the like.
Grades
Mid-term | 20% |
Final Exam | 20% |
Quizzes | 15% |
Written Assignments | 15% |
Lab Assignments | 30% |
A [90~100], B [80~90], C [70~80], D [60~70], F [0~60]
Note: In order to pass the class, you must receive at least 60% credit on the Individual Projects and Homework, regardless of performance on exams.
Project Due Dates
Projects will be submitted through Blackboard. Projects will always be due at 11:55 pm on the due date. Late assignments will receive a grade of zero (0) Deadlines will be made as generous as possible to a priori take into account illness, other courses, Acts of God, and nearly all conceivable excuses. If you have a documented illness preventing you from completing your assignment, you may submit all of your partial work and request an extension. This extension is not automatic.
Academic Integrity:
Students will be expected to understand and follow Academic Honesty policies in place by the university. All work is to be done individually. Students should NOT share any project code or even detailed algorithm information with each other. Your programming code is exclusive to you.
Special Accommodations
A student in need of special accommodations must bring that need to my attention within the first two weeks of class. The need must be properly documented.
Study Hints
Misc Related Material
Instructor Wiley's C++ Tips
gdb Tutorial