CS 200: Computer Organization
Spring 2009 Course Syllabus
Northern Arizona University • College of Engineering and Natural Sciences • Department of Computer Science
Course Information
| Catalog Description: |
Binary representation of information in digital computers. An introduction to digital logic design, computer architectures, microprocessor architectures and assembly language programming.
|
| Broad Topics: |
Bitwise Operators, Digital Logic, Assembly Language, Computer Architecture, and C++. |
| Prerequisites: |
CS 126 |
| Co-requisites: |
None |
| Skill Level: |
Introductory |
| Credit Hours: |
3 |
| Meeting Times: |
Section 1 (5938): MWF 1:50-2:40, Engineering Bldg Room 218 |
| Final Exam Time: |
Section 1: Wednesday, May 6, 12:30-2:30pm |
| Required Texts: | |
|
- Null & Lobur, "The Essentials of Computer Organization and Architecture", 2nd ed.
Jones and Bartlett, 2006. ISBN 0763737690.
- Irvine, "Assembly Language for Intel-Based Computers", 5th Ed.
Prentice Hall, 2006. ISBN 0132383101.
|
| Web Page: |
http://www.egr.nau.edu/~ap27/cs200 |
Instructor Information
| Instructor: |
Abe Pralle (Prah-lee), M.Eng. CSE |
| Office Hours: |
- Engineering Bldg. Rm 322-L
- MWF 3:00-4:00
TuTh 10:00-11:30
Other times by appointment.
|
| Email: |
Abe.Pralle (at) nau.edu |
| Phone: |
523-8882 (email preferred) |
| NAU Address: |
Box 15600 Flagstaff, AZ 86011 |
Course Description
In this class we will take a look under the hood at the low-level
languages and hardware that power the high-level languages we're
used to working with.
Course Objectives
By the end of the semester you should be able to:
- Have an understanding of the history and evolution of hardware.
- Understand the different ways that numbers can be represented (binary, hexadecimal, etc.).
- Use high-level languages to manipulate binary values.
- Express hardware functionality using boolean algebra.
- Understand the fundamentals of designing hardware.
- Write programs in assembly language.
- Identify the design characteristics of different machine languages.
- Understand the issues and constraints involved in memory management and I/O.
Schedule
| Week 1 | Intro, data representation (Null ch 1-2) |
| Week 2 | Data representation (no class Jan 19) |
| Week 3 | C Pointers & memory allocation (not in book) |
| Week 4 | Bitwise ops (not in book) Test 1 (Feb 6) |
| Week 5 | Bitwise ops |
| Week 6 | Boolean algebra (ch 5) |
| Week 7 | Gates & circuits (ch 5) |
| Week 8 | Assembly basics (Irvine ch 1-3) Test 2 (Mar 6) |
| Week 9 | Assembly ops (ch 4) |
| Spring Break: March 16-20 |
| Week 10 | Assembly ops |
| Week 11 | Loops and jumps (ch 5-6) |
| Week 12 | Functions Test 3 (Apr 10) |
| Week 13 | Functions |
| Week 14 | ISA's & memory (Null ch 5 & 6) |
| Week 15 | I/O & system software (ch 7 & 8) |
| Week 16 | Final Exam (May 6, 12:30) |
Coursework
The coursework includes the following assignments and tests:
- 10 Homework Assignments at 10 pts each (17% of total grade)
Homework assignments involve research using book and online resources to answer specific questions. They help to fully prepare you for and familiarize you with the current lecture topics. Points are awarded for correct answers.
- 10 Programming Projects at 20 pts each (33% of total grade)
Programming projects are where you put your knowledge you've learned into practice, transitioning from the theoretical to the practical with hands-on experience. Points are awarded based on the completeness and quality of your work and the thoroughness of your project report.
- 3 Tests: 60 pts each (30% of total grade)
1 Final Exam: 120 pts (20% of total grade)
The tests and the final are an incentive for you to ensure you fully understand the topics being covered - as well as demonstrating that fact to the instructor. Points are awarded for correct answers.
- Total: 600 pts (100%)
Your class grade is based on the standard scale of points earned:
90%=A, 80%=B, 70%=C, 60%=D, below 60%=F. No grades are curved or dropped,
though there are opportunities for extra credit. Projects are individual effort.
Assignments are due in-class on the due date. Graded assignments and tests
are handed back during class.
Extra Credit
There will be a number of extra credit possibilities that involve doing extra
work on assignments. Besides that, you can also get +4 points on any project
by turning it in at least a full class period early.
Late Policy
Project and homework assignments are accepted up to a week late at a 40% point penalty.
If you miss a test or know you will miss a test, discuss the matter with me as soon as possible.
Attendance & Absentee Point Reductions
Regular attendance is expected. Don't be late, and don't leave until class is dismissed.
Roll isn't taken, but if you are not present to receive a graded assignment or test, your
score will be reduced by 10% of the of the points possible on the work. Notify me
ahead of time if you know you're going to have to miss class to avoid the point penalty.
Final Exam Policies
- If you score less than 50% on the final exam, your final class grade will be reduced by one letter grade.
- On the other hand if you do well in the class you get to take the Easy Final Exam, where all you have to do is sign your name on
the day of the final. To qualify for the Easy Final you must meet ALL these conditions:
- Have an "A" average at the end of the semester (90% or 432/480 points before the final).
- Have scored 50/60 points or better on EACH of the first three tests.
- Have completed all 10 projects with a grade of 10/20 or better.
- Have turned in all 10 homework assignments.
- Unlike my intro classes, there will be no "C on the final guarantees you a C in the class"
offer.
Lectures and the Book
The lecture topics follow the same general outline as the book. However, the lecture complements the book rather than being a mirror of it. If you only read the book or only pay attention to the lecture you're likely to end up missing some key concepts. To get the most from the class, read each chapter before we discuss the corresponding topic in the lecture, then use the lecture as an opportunity to reconsider the key points of the material and ask questions on anything you're confused on.
Plagiarism and Cheating
Grades are a way to motivate students and to evaluate students' mastery of a subject and
their ability to get work done. The grades you get are not themselves truly
important, but instead are representative of your knowledge, capabilities, and work
ethic, and those are the things that matter.
If you plagiarize source code, fabricate results, make fraudulent claims, or
attempt to cheat in any way, you are misrepresenting yourself, your level of
understanding, your capabilities, and your ability to accomplish things. It is
dishonest and unethical.
Anyone who plagiarizes, copies, fabricates, or cheats will at the least receive
a zero on that assignment or test.
Consulting with others and using their advice on projects is fine. However, the programs
you submit should be your own work that you thoroughly understand and are entirely
responsible for.
Web Page
Most assignments and handouts will only be available on the class web page at http://www.egr.nau.edu/~ap27/cs200 - they will not be handed out in class. In general, assignments will be posted by Friday and due the following week. Any clarifications, corrections, and announcements will be posted on the web page.
University Policies
There are a number of university policies that govern your education and safety that all students should be aware of. These are:
- Safe Working and Learning Environment
- Students With Disabilities
- Accommodation of Religious Observance And Practice
- Institutional Review Board (And Use Of Human Subjects)
- Academic Dishonesty
- Medical Insurance Coverage For Students
- Classroom Management
- Evacuation Policies
You will find a complete description of each policy here:
-
http://www.egr.nau.edu/~ap27/policies.html