Description

Instructor:
Michelle Strout
Office: 342 CS Building
Office Hours: Wed 3-5pm in 130 and by arrangement
Email: mstrout@cs.colostate.edu
GTA:
Ryan Stern and Navini Dantanarayana
Office: 120 computer lab
Office Hours: Wed noon-2pm, Wed 2-3pm, Thur 8am-10am, Thurs 6pm-8pm, Fri 5-6pm
Email: rstern@rams.colostate.edu and navini.dantanarayana@gmail.com
Lecture Time and Place:
12:30-1:45, TR, Wagar 133
Recitations:
Wednesday, 9:00am-9:50, COMSC 225
Wednesday, 10:00am-10:50, COMSC 225
Wednesday, 11:00am-11:50, COMSC 225
Thursday, 3:00pm-3:50, COMSC 225

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. We also develop important software practice concepts such as revision control, test driven development, and debugging. There will be at least one deliverable a week.

Prerequisites

  • CS 161
  • Math 141/155/160
  • CS 200 (co-requisite)

  • Class Communication

  • Web Page: http://www.cs.colostate.edu/~cs270
  • Email: cs270@cs.colostate.edu
  • Announcements: Web Page
  • Discussions: RamCT
  • Textbook

    Introduction to Computing Systems from Bits and Gates to C and Beyond, by Y. Patt and S. Patel, McGraw Hill, 2nd ed.

    Responsibilities

  • Read the announcements on the course webpage and RamCT daily.
  • Complete the reading assignments listed on the Schedule link on the course webpage.
  • Complete the homework and programming assignments listed on the Schedule link on the course webpage and submit them as specified on time.
  • Attend lectures and the weekly recitation for which you are registered and participate in both.
  • Grading

    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% midterm will NOT result in a passing grade.

    The homework assignments and reading quizzes will be done individually, and grades assigned on an individual basis.

    Late and Makeup Policy

    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 25% 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.

    Important Dates

    Make sure to bring a picture ID to the midterm and the final.
    In class midtermThursday, October 11th
    Final Exam Tuesday, December 11th, 11:50 AM to 1:50 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.

    Class Participation

    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.

    Professional Conduct

    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:

    • Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
    • In class use of electronic devices in general, and laptops specifically, is permitted as a courtesy so that you may better participate and learn. If at any time the instructor judges that an electronic device is becoming a distraction the student may be asked to turn it off and put it away.
    • All exams and in class quizzes are to be done without the aid of notes of any kind. Laptops and all other electronic devices must be shut and put away during exams and in class quizzes. Online quizzes can be done with the book.