My office hours, phone number and e-mail address are available on my home page.
Primary Text
We will not be using a text for this course. My lecture notes will be posted on-line.
Good Reference Texts
The purpose of this course is to provide you with a basic understanding of how computers do what they do. In your CS courses up to this point you have been writing programs that control a computer. You have used these programs to get the computer to perform particular tasks. But how is the computer able to understand the language of your program? What is inside that box we call a computer? These are the fundamental question that we will be answering this semester. We will answer these questions by designing and building (simulating) a computer and ultimately writing programs that run on our computer.
Topics related to the design of our computer will include:
The breakdown of grade assignment is as follows:
![]() | Homework | 10% |
![]() | Midterm Exam #1 | 20% |
![]() | Take Home Midterm Exam #2 | 25% |
![]() | Programming Assignments: | 35% |
![]() | Final Project: | 10% |
All homework assignments, labs and exams will be graded on an absolute scale. At the end of the semester a curve may be applied to the total absolute grades for the entire class to determine each individual's final grade.
Homework
Homework will be given periodically throughout the semester to give you practice with material from the readings or lectures. This homework may be given using an on-line assignment system.
Homework assignments will generally be graded with 5 points per problem. The scores for each problem will be given as follows:
Any in class exams will be 50 min. long. These exams will be closed book, closed notes and closed computer/calculators. However, you will be permitted to have one sheet of 8.5x11 paper (both sides) with notes.
Take Home Exams
Any take home exams are ABSOLUTELY individual assignments. If collaboration occurs on a take home exam all students involved in the collaboration will receive a 0% for that exam and the matter will be turned over to the Dean for disciplinary action. Take this very seriously, because I do!
Take home exams will be open notes, open book, open computer etc... So basically you will be allowed to use anything except someone else's help. If you have questions on the exam you should talk only to me. Because these are open everything exams you can expect them to be more conceptual than factual. Some questions may even require you to write code or analyze given code segments. You will be required to cite any outside sources of information that you use.
Programming Assignments
The programming assignments are a major part of this course, as evidenced by the fact that they constitute a large portion of your course grade. All projects will be done in groups of 2. Your project groups must remain the same throughout the semester.
Grading for the projects will be divided between design and implementation. For each project you will turn in two items:
Absolutely no late work will be accepted without penalty!
However, since I am not a complete tyrant, I am implementing what I call the "NEET" late policy. NEET stands for "No Excuse Extension Time" and you can use it to extend any due dates you choose. The rules of NEET are as follows:
Late work handed in after all your NEET has been used will be penalized 30% the first day and no credit will be given after the first day. Again any portion of a day counts as a full day. Any assignments handed in late must be given to me in person so that I may account for your NEET.
Attendance Policy
We are all adults and therefore class participation or attendance does not directly factor into your grade. However, much of what we discuss in class will be directly related to the exam questions and programming assignments. Therefore, it is in your best interest to attend and participate in class. If you miss class the assignments are posted on the Web. It is your responsibility to make sure you hand in all assignments on time.