CS2810: Computer Organization and Architecture
Fall 2009 Syllabus
Course for students in Computer Science and Computer and Information Technologies programs, or having interest in computer hardware. This course will instruct students in the basic building blocks of digital computers, instruction sets, number representation, interrupts, RISC and CISC architectures, etc. Students will be required to complete programming projects in a high level language and in assembly language. Prerequisite: CS 1410 with a C- or better.
Prerequisites: CS1410 with a C- or better
Course fee: $25, used to assist in maintaining CIT infrastructure.
One section:
TR 9:00 am in Hazy 103
CRN: 40946
Final exam on Thursday, December 17 at 8:00 am
Instructor: Dr Russ Ross
Email: russ at dixie dot edu
Phone: 435-652-7971 (note: email preferred)
Office: Hazy 327
Office Hours: Tuesday/Thursday 1:00–3:00 pm, Wednesday 3:00–4:00 pm
Objectives
The student will be able to discuss the principles of:
- information representation,
- instruction sets and assembly languages,
- memory hierarchies and virtual memory,
- processes, and
- input/output.
The student will be able to:
- use various number representations and convert between them,
- interpret and modify assembly language code,
- create and control processes,
- effectively use virtual memory, and
- write networked programs.
Resources
Texts
There are two texts for this course. Both are available from the campus bookstore:
- Computer Systems: A Programmer’s Perspective by Bryant and O’Hallaron, ISBN: 978-0-13-034074-0 (required)
- C in a Nutshell by Prinz and Crawford, ISBN: 978-0-596-00697-6 (recommended)
The first is required and is the primary text for the course. The second is optional, but recommended. We will be using C throughout the course, not C++. This book provides a concise overview of the language and a reference for the standard library.
Computer Labs
You may use the computers in Udvar-Hazy 151 and Udvar-Hazy 200. There will also be lab assistants in these labs.
You can also use your own personal computer for most of the assignments, though some will require a Linux environment.
Course Web Site
This course has an accompanying website. You are responsible for announcements, the schedule, and other resources posted on the website. Assignments and grades will be managed using Moodle, which requires a valid CIT username and password. If you do not already have a CIT login, visit http://cit.cs.dixie.edu/facilities/passwd.php to create one, or ask a lab assistant to help you sign up for one. The course website is accessible at http://cit.cs.dixie.edu/cs/cs2810/. Grading and assignments are managed at https://moodle.cs.dixie.edu/course/view.php?id=38.
Assignments and Exams
Reading
The student is responsible for reading the material in the textbook. A reading schedule is provided with the class schedule on the course website. The student is expected to read the material before the class in which it is discussed. The book also includes material beyond what we will discuss in lecture, which you are encouraged to study on your own. Feel free to bring questions from the reading to lectures or to office hours.
Assignments
There will be a project due every two or three weeks during the semester. Projects are designed to take 10+ hours of work for successful completion. These assignments will involve various activities to promote a deeper understanding of the course materials.
Each of the projects has its own grading scale. However, each project will be weighted the same in the final grade.
Exams
This course has a midterm and a comprehensive final exam. These exams will consist of questions similar to the practice problems and homework problems from the text.
Grading
Assignments and exams each contribute to your point total. The six assignments will each count for 10% of your final grade. In total, the assignments comprise 60% of your grade, the midterm exam 15%, and the final exam 25%. No specific grading scale is predefined.
Course Policies
Attendance
Students are responsible for material covered and announcements made in class. School-related absences may be made up only if prior arrangements are made. The class schedule presented is approximate. The instructor reserves the right to modify the schedule according to class needs. Changes will be announced in class and posted to the website. Exams and quizzes cannot be made up unless arrangements are made prior to the scheduled time.
Time Commitment
Courses should require about 45 hours of work per credit hour of class. This class will require about 135 hours of work on the part of the student to achieve a passing grade, which is approximately 9 hours per week. If you do not have the time to spend on this course, you should probably rethink your schedule.
Late Policy
Assignments are due on the date specified in the schedule. Handing them in or passing them off after the specified time is considered one day late. You may turn them in up to two school days late with penalties as described below. After two days late, you receive zero points.
For example: if an assignment is due at noon on Thursday:
- Before noon Friday the assignment is considered 1 day late.
- Before noon Monday the assignment is considered 2 days late.
- After noon on Monday the assignment will not be accepted.
Saturdays, Sundays, and school holidays do not count as late days. Late days do not extend beyond the last day of class.
Each student is given five free late days to use over the course of the semester. The lateness of an assignment will be determined according to the rules given above, and the first five late days used during the semester will be forgiven. After that, each late day will result in a 10% penalty.
Important notes:
- Even using free late days, students cannot submit assignments more than two days late and receive credit. No assignments will be accepted more than two days past the original deadline.
- Free late days are applied to the first five late days during the semester. Students cannot control which late days are penalized and which ones forgiven; the first five late days in the semester are forgiven, and the rest are penalized.
- Free late days only apply to students who submit every assignment within the two -day cutoff period. For example, if you fail to submit the fifth assignment, or submit it more than two days late, you will forfeit all free late days, including those used for earlier assignments.
- No other extensions will be granted, except under exceptional circumstances. Students should reserve their free late days to use in the event of illness, emergencies, traveling, sports conflicts, etc. Students are advised not to use their free late days early in the semester, as assignments tend to get more difficult and schedules tighter as the semester progresses.
Collaboration
Limited collaboration with other students in the course is permitted. Students may seek help learning concepts and developing programming skills from whatever sources they have available, and are encouraged to do so. Collaboration on assignments, however, must be confined to course instructors, lab assistants, and other students in the course. Students are free to discuss strategies for solving programming assignments with each other, but this must not extend to the level of programming code. Each student must code his/her own solution to each assignment. See the section on cheating.
Cheating
Cheating will not be tolerated, and will result in a failing grade for the students involved as well as possible disciplinary action from the college. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s own work. It is okay to seek help from others and from reference materials, but only if you learn the material. As a general rule, if you cannot delete your assignment, start over, and re-create it successfully without further help, then your homework is not considered your own work.
You are encouraged to work in groups while studying for tests, discussing class lectures, discussing algorithms for homework solutions, and helping each other identify errors in your homework solutions. If you are unsure if collaboration is appropriate, contact the instructor. Also, note exactly what you did. If your actions are determined to be inappropriate, the response will be much more favorable if you are honest and complete in your disclosure.
Where collaboration is permitted, each student must still create and type in his/her own solution. Any kind of copying and pasting is not okay. If you need help understanding concepts, get it from the instructor or fellow classmates, but never copy another’s code or written work, either electronically or visually. The line between collaborating and cheating is generally one of language: talking about solutions in English or other natural languages is usually okay, while discussions that take place in programming languages are usually not okay. It is a good idea to wait at least 30 minutes after any discussion to start your independent write-up. This will help you commit what you have learned to long-term memory as well as help to avoid crossing the line to cheating.
College Policies
Additional college policies, calendars, and statements are available online at http://new.dixie.edu/reg/syllabus/.



