CMSC 411 Course Syllabus
Instructor
Jason Tang (just call me Jason!)
Course Information
Course Title: CMSC 411: Computer Architecture
Time & Place: Tuesday & Thursday, 5:30pm –
6:45pm, Sondheim 109
Prerequisites
This class has the following prerequisite:
- CMSC 313, or
- CMPE 212 and CMPE 310
Textbook
The main textbook for this course is Computer Organization and Design: ARM Edition by Patterson and Hennessy. Be sure to get the ARM edition, not the MIPS version.
Course Description
This course covers the design of complex computer systems. All parts of the computer system - CPU, memory, arithmetic logic unit, and input/output - are discussed in detail. Topics include information representation, floating-point arithmetic, instruction set design, pipelining, memory caches, bus control and timing, input/output mechanisms, and parallel processing.
This course requires several significant programming projects that teach how CPUs are designed. Thus, students should ensure that they have had experience with the C language before taking this class.
Topics
- Instruction Sets
- Performance Measurements
- Machine Arithmetic
- Processor Design
- Memory Systems
- I/O Design
Grading
Your final grade will be computed from the following components:
Homework (4 each 7%) | 28% | |
Projects (2 each 11%) | 22% | |
Midterm (2 each 15%) | 30% | |
Final Exam | 20% | |
Total = | 100% |
Your final letter grade will be based on the standard formula:
0 ≤ F < 60,
60 ≤ D < 70,
70 ≤ C < 80,
80 ≤ B < 90,
90 ≤ A ≤ 100.
Curving, if any, will be determined after the final has
been graded.
Grades are given for work done during the semester; incomplete grades will only be given for medical illness or other such dire circumstances.
Attendance
You are expected to attend all classes. If you miss a class, you are responsible for getting the notes and any verbal information given during class from a fellow classmate.
Homework and Projects
Programming assignments are graded not just on correctness (producing the correct output) — neatness counts. Here neatness means that your program is well formatted (see Coding Standards and Indentation Standards), the output from your program is nicely presented, and that the logic in your program is straightforward. Sloppy code will be penalized.
If you cannot complete a assignment, you should still submit as much as possible. Partial credit will be given for reasonable effort. Late work will not be accepted.
You will be submitting your assignments electronically via the submit system. Assignments are normally due at exactly midnight, not several minutes afterwards. The deadline is strictly enforced by the submit system.
Once per semester, you may have a late submission, albeit with a 20% late penalty. Additional late submissions will not be graded and will be ignored. The deadline for late submissions is eight hours after the assignment was originally due. Email submissions directly to the instructor.
Be aware that the GL system may go down from time to time. You are given ample time to complete your programs, so system downtimes are not necessarily an excuse for late submission.
Exams
There are three exams scheduled for this class. The first midterm is on Thursday, February 27, during normal class time. The second midterm is on Tuesday, April 7, during normal class time. The final is Thursday, May 14, from 6:00pm to 8:00pm.
Academic Integrity
When you submit your homework, project, and classwork, you are stating that the work was created by your own individual effort, or in the case of a group assignment, created solely by the effort of members of your group.
Receiving help from the instructor or from the teaching assistant does not violate this academic integrity policy.
You may also receive help from other sources. However, this help must be limited to:
- Discussions about the meaning of the assignment.
- Identifying syntax errors in your program.
- Identifying simple logic errors in your assignment.
The following is a non-exhaustive list of actions that clearly violate this academic integrity policy:
- Someone else is typing code in your program.
- You are cutting and pasting more than a single line of code (from a program that was not distributed by the instructor).
- You are looking at someone else's program while you are typing in your code.
- You receive someone else's program by email, hard copy, text message, instant message, tweet, snap, ...
- You make your assignment available to another student in CMSC 411 directly or indirectly by email, hard copy, text message, tweet, snap, dropbox, ...
This policy recognizes that students can learn productively from many sources including from other students in the class. Thus, this policy allows small amounts of help but prohibits outright copying. Although, this leaves a gray area between "small amounts of help" and "outright copying", it is better that we live with some ambiguity than to have a clear-cut policy that deprives the students of productive learning opportunities. Students who have doubts about the propriety of an activity should consult the instructor.
Students who violate this academic integrity policy will receive a grade of 0 for that assignment. A second violation will also result in a reduction of one full letter grade in the student's final course grade. In the case where one student copies the program of another student, both students are considered to have violated this policy. Here, copying includes not just programs that are verbatim copies, but also programs that are substantially similar and could not have been produced independently.
Furthermore, all parties concerned will have their prior assignments checked.
Violations of this policy may be reported to the University's Academic Conduct Committee for further action. Egregious cases of cheating will be written up as a more serious infraction. In this case, you will not be allowed to drop the course. Also, a more serious infraction would appear as a permanent part of your student record and would be seen by potential employers when they ask for an official copy of your transcript.
For a more complete description of academic dishonesty, refer to the UMBC Undergraduate Student Academic Conduct Policy.
Disclosure of Sexual Misconduct and Chile Abuse or Neglect
As an instructor, I am considered a Responsible Employee, per UMBC's Policy on Prohibited Sexual Misconduct, Interpersonal Violence, and Other Related Misconduct. While my goal is for you to be able to share information related to your life experiences through discussion and written work, I want to be transparent that as a Responsible Employee I am required to report disclosures of sexual assault, domestic violence, relationship violence, stalking, and/or gender-based harassment to the University's Title IX Coordinator.
As an instructor, I also have a mandatory obligation to report disclosures of or suspected instances of child abuse or neglect.
The purpose of these reporting requirements is for the University to inform you of options, supports and resources; you will not be forced to file a report with the police. Further, you are able to receive supports and resources, even if you choose to not want any action taken. Please note that in certain situations, based on the nature of the disclosure, the University may need to take action.
In order to facilitate email communication, please observe the following guidelines for email sent to the instructor.
- Make sure that the subject line of the email message clearly identifies its content (e.g., mention CMSC 411).
- Use your UMBC email account. (I really shouldn't discuss your grade with some random person on the Internet just because he has an email address that resembles your name.)
- Use your full real name.
- Submit your program instead of attaching it to your message.