This course presents a bottom-up introduction to computer architecture, beginning with digital gates and number representation; building up through the Von Neumann model, Instruction Set Architecture (ISA) and assembly language; and ending with C programs interacting with assembly programs. Most of the concepts in this course will be reinforced through programming assignments in C.
In CS 270 students write a number of C programs to learn concepts by programming them and to build confidence in the C programming language, which is an important language used frequently in industry and systems research. There will be at least one deliverable a week.
Introduction to Computing Systems from Bits and Gates to C and Beyond, by Y. Patt and S. Patel, McGraw Hill, 2nd ed.
Here are the formally graded elements of the course and associated weighting:
Activity | Weight |
---|---|
Programming and Homework Assignments | 45 % |
Reading Quizzes | 5 % |
Recitations | 5 % |
Midterm | 20 % |
Final | 25 % |
The percentage of your total grade for each of the programming and homework assignments is as follows: PA0 (0.25%), HW1 (2%), PA1 (1.75%), PA2 (2%), PA3 (3%), HW2 (4%), PA4 (4%), HW3 (4%), PA5 (3%), HW4 (4%), HW5 (4%), PA6 (4%), HW6 (4%), and PA7 (5%).
Semester grades are determined by the weighted sum of points earned in each of these areas. A compression curve is used for the midterm and final ONLY. All other grades in the course are NOT curved. The grading scale is as follows: >= 90 is an A, >= 88 is an A-, >=86 is a B+, >=80 is a B, >=78 is a B-, >=76 is a C+, >=70 is a C, >=60 is a D, and <60 is an F.
To pass this course, you must maintain at least a 50% average each of the following parts of the course: homework (homework assignments and reading quizzes) and the in class work (recitations, midterm, and final). For example, a 100% in the homework grades combined with a 49% average on the recit+midterm+final will NOT result in a passing grade.
The homework assignments and reading quizzes will be done individually, and grades assigned on an individual basis.
Midterm, Final, and Recitations: The midterm and final must be done individually. Recitations will be done individually, but talking with fellow students will be encouraged. If you have a family or medical emergency that prevents you from attending a recitation, the midterm, or the final, let the instructor know as soon as possible and be able to provide documentation such as a doctors note.
Homework assignments and the Project: Unless otherwise specified, programming assignments are to be submitted using checkin, homeworks are to be submitted in person right before class starts, and quizzes are to be submitted electronically using RamCT. Specifics will be included in each assignment. Always check the schedule page for due dates. Late assignments submitted within 24 hours of the time required will receive a 10% late penalty. Electronic submission is closed 24 hours after assignments are due; students not having submitted programming assignments, homeworks, or quizzes receive an automatic zero on the assignment.
In class midterm | Thursday, October 17th |
Final Exam | Tuesday, December 19th, 6:20 PM to 8:20 PM |
The in-class midterm and the final exam will be held in the same classroom as regular lectures. While no change to the midterm dates is anticipated, the instructor reserves the right to change these dates with a weeks notice.
All students taking this course are expected to participate actively. This includes asking and responding to questions either in class and/or on the RamCT discussion board.
Students are also expected to read the announcements/news on the main course web page, postings to the RamCT discussion board, and the schedule page EVERY DAY for any updates.
Slide sets are available on the class progress web page, however lectures will present material that is not covered anywhere else.
Exams and assignments will be done individually and grades assigned on an individual basis. Further, students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it.
All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you know the policies in the student information sheet for the department. The course will adhere to the Academic Integrity Policy of the Colorado State University General Catalog and the Student Conduct Code, which states that "As a student at Colorado State University, I recognize my active role in building a Campus of Character. This includes my commitment to honesty, integrity, and responsibility within the campus community. As such, I will refrain from acts of academic misconduct." In CS 270, you can talk with other students about the homeworks, but you CANNOT copy answers from each other. One good rule of thumb is to NOT take notes while talking with other students in the class. Just discuss the issues and then go work on your own homework. You should be able to explain your own work to a TA or the instructor at any time.
Additionally, we consider you to be computing professionals. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct. There is also a code of conduct for the Computer Science Department.
We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular: