Concepts of computer system organization and programming; instruction and data representations; basics of digital logic design; instruction set decoding and addressing modes; fundamentals of assembly language; the organization and the operation of the central processing unit, memory system, and I/O interfaces; I/O structures; direct memory access; interrupts; bus protocols.
Why should you take this course? A lot of real-world use of computer science involves embedded systems - and knowing the hardware is important.
Hicham Elmongui
Office: LWSN 2149
Office hours: Monday 15:00-16:00
Phone: 49-69393
Email: elmongui@cs.purdue.edu
Despoina Perouli
Office: LWSN B132
Office hours: Thursday 12:30-13:30, 16:30-17:30, or by appointment
Phone: 49-69444
Email: depe@cs.purdue.edu
David Stites
(section-specific questions only)
Email: dstites@purdue.edu
The course will be taught through lectures, with class participation expected and encouraged. There will be frequent reading assignments to supplement the lectures, from an excellent and easily readable text Essentials of Computer Architecture by our own Professor Comer. The workload will include written assignments, as well as both hardware and software labs / projects.
WebCT Vista will be used for distributing course material and grades. We may also start using it for other communications, but for now you should check the course newsgroup purdue.class.cs250. If you have questions, you should feel free to post them to the newsgroup. That way the rest of the class (including students who may not have figured out what they don't know) will have the benefit of your insight and the answer. If you have something you don't want made public, send it to cs250@mentor.ics.purdue.edu. Critical announcements will be made via the course mailing list.
Labs will be held in Lawson B131, which has both equipment and facilities. You will need to purchase a hardware kit in the Union (Boiler CopyMaker - actually a price card saying you have paid, then the kit will be provided in lab.) You do need to have it by your lab the week of January 16, or you will be unable to complete the lab. For $17.05 you get:
If you have this equipment from another course, you don't need to purchase it from us - we'll save your kit for next semester.
This course requires an understanding of basic theoretical concepts underlying computer science, as well as programming experience. Foundations of Computer Science and Programming in C provide sufficient preparation.
Douglas E. Comer, Essentials of Computer Architecture Pearson / Prentice Hall, 2005.
Evaluation will be based on a mix of assignment, quiz, lab, and project scores. The exact formula will be available in WebCT. As to how these scores map to letter grades, see my grading standards. I do not grade on a strict pre-defined numeric cutoff, or on a curve, but based on how scores reflect understanding of the material and ability to apply it. Because of the inherent subjectivity in exams and assignments (e.g., I may develop harder exam questions one semester than another), it is difficult to say in advance what specific score is required to demonstrate a certain level of understanding.
Six written assignments (equally weighted, lowest 2 scores dropped) | 10% |
Labs (equally weighted, lowest score dropped) | 33% |
Midterm Exam | 16% |
Project 1 | 5% |
Project 2 | 12% |
Final Exam | 22% |
Evaluation of instructors based on in-class/lab contributions, discussions, and overall performance | 2% |
I will provide feedback before drop date, and again before the final
examination, giving an estimate of the mapping from score to date
to letter grade. I will also make a point of individually contacting
any students that I feel are in danger of getting lower than a C.
Exams will be open note / open book. To avoid a disparity between resources available to different students, electronic aids are not permitted.
Late assignments will be penalized 10% per day (24 hour period). This penalty will apply except in case of documented emergency (e.g., medical emergency), or by prior arrangement if doing the work in advance is impossible due to fault of the instructor (e.g., you have a travel commitment and ask to start a project early, but needed lab equipment hasn't arrived.)
Due to the difficulty in making up labs, late lab work will only be allowed in cases of verified emergencies. However, the lowest lab score will be dropped, so missing one won't kill you (as long as you do well on the rest of them.)
Please read the departmental academic integrity policy above. This will be followed unless I provide written documentation of exceptions. In particular, I encourage interaction: you should feel free to discuss the course with other students. However, unless otherwise noted work turned in should reflect your own efforts and knowledge.
For example, if you are discussing an assignment with another student, and you feel you know the material better than the other student, think of yourself as a teacher. Your goal is to make sure that after your discussion, the student is capable of doing similar work independently; their turned-in assignment should reflect this capability. If you need to work through details, try to work on a related, but different, problem.
If you feel you may have overstepped these bounds, or are
not sure, please come talk to me and/or note on what you turn in that
it represents collaborative effort (the same holds for information
obtained from other sources that you provided substantial portions
of the solution.) If I feel you have gone beyond
acceptable limits, I will let you know, and if necessary we will find
an alternative way of ensuring you know the material.
Help you receive in such a borderline case
, if cited
and not part of a pattern of egregious behavior,
is not in my opinion academic dishonesty, and will at most
result in a requirement that you demonstrate your knowledge
in some alternate manner.
Assignment and Lab schedule on WebCT.
Final exam (draft solutions), Monday, April 30, 2007, 19:00-21:00, SC 239.