CS240 Fall 2007 Syllabus


Schedule | Instructors | Laboratory | Textbooks | Syllabus | Online Resources | Tutoring | Requirements | Grading | Policies


Announcements

Please come to the first lecture on Thursday, September 6, to resolve any registration issues for lecture or laboratory. The first laboratory meeting will be on Wednesday, September 12. There will be no lab held on Wednesday, September 5.


Introduction

Computer Science 240, Introduction to Machine Organization with Laboratory, is a 1.25 credit course, and is a requirement for students majoring in Computer Science at Wellesley College. On a weekly basis, two 70-minute lectures and a 3-hour laboratory session are required components of the course. There are no formal prerequisites; topics covered include:
  • an overview of computer organization,
  • introduction to digital logic and microprogramming,
  • the conventional machine level and assembly language programming, and
  • an introduction to operating systems.


Schedule

Lecture meets on Mondays and Thursdays 11:10 - 12:20 a.m. in room E111 of the Science Center.

Lab section 01 meets 2:15 - 5:15 p.m., and section 02 meets 5:30 - 8:30 p.m. on Wednesdays in room E125 of the Science Center.


Instructors

Lecturer:

Dr. Jennifer Stephan(please call me Jennifer)

Office:

E104 Science Center

Phone:

x3152

Email:

jstephan@wellesley.edu

Office Hours:

Monday 1 - 2:00, Wednesday 10:30 - 12:30, and by appointment

(Note - Jennifer is on campus on Mondays, Wednesdays and Thursdays.)

Lab Instructor:

Jean Herbst(please call me Jean)

Office:

E129 Science Center

Phone:

x3162

Email:

jherbst@wellesley.edu

Office Hours:

Monday 3:00 - 4:30, Wednesday 12:30 - 2:00, and by appointment

(Note - Jean is on campus Monday and Wednesday)


Textbooks and Other Course Materials

Required:

Computer Organization and Design The Hardware/Software Interface by David A. Patterson and John L. Hennessy, 3rd ed.

A copy of the text is on reserve in the Science Center Library. Also on reserve is Structured Computer Organization by Andrew S. Tanenbaum, 4th ed., a text that may serve as a useful reference for the material in Patterson and Hennessy's Appendix B.

Copies of the class notes are available in our class folder on FirstClass and should be printed before class.


Syllabus

We will start at the beginning of Patterson and Hennessy, learning about the big ideas of the course (Chapter 1). We will then spend a week on Chapter 3 which addresses numeric representation. The next topic will be Boolean logic and the technology associated with it (Appendix B). Exam 1 will cover all aforementioned material. We will then study Chapters 4 (assessing and understanding performance) and 5 (implementating a basic data path). We will then learn MIPS assembly language programming (Chapter 2) for basically the remainder of the semester. A second exam will cover this material. At the very end of the semester, we will learn, on a very high level, about assemblers, compilers and operating systems.

Click
here to see a detailed schedule.


Online Resources

There is a folder on FirstClass called CS240-F07 for this course. All class materials and handouts, including the assignments and solutions, will be in this folder. You can use the folder to post questions that you have about the lectures and assignments. We will read the folder regularly; however, if you see a student's question to which you know the answer, please go ahead and post the answer.


Tutoring

Drop-in:

 

 

Weekly drop-in hours (2 hours) will be held by the CS240 tutor, Sarah LaFrance. She will post a message to CS240-F07 Announcements introducing herself, and announcing the date, time and place of her first drop-in hours.

Personal:

 

 

Individual tutors (through the Learning and Teaching Center) are available to students who find themselves in need of additional help. Please see Jennifer if you would like to explore this option, and she will help you to determine whether you need a tutor, and if so, help you to arrange a tutor through LTC.


Course Requirements

This is a 1.25 credit course. The main components are:

  • Laboratory: Three hours in laboratory weekly, including a lab report (completed during the lab session). Also, weekly laboratory assignments to be completed outside lab hours.
  • Homework/Programming Assignments: There will be eleven homeworks or small programming assignments during the semester (see schedule for due dates).
  • Exams: There are two exams scheduled during the semester. The first exam will be held during lecture on Thursday, October 18. The second exam will be on Monday, December 3 , also during lecture. If special circumstances prevent you from taking the exams during the scheduled time you must contact Jennifer as soon as possible to discuss your situation. The exams are open book and notes.
  • Final Project: There will be a large programming project due by 4:30 p.m. on Thursday, December 20.
  • Readings: The reading for each lecture is provided in the schedule.

  • Grading

  • Laboratory: 20%
  • Homework/Programming Assignments: 30%
  • Exam 1: 20%
  • Exam 2: 20%
  • Final Project: 10%

  • Policies

    Collaboration Policy

    Please note that each course in the Computer Science Department has its own collaboration policy. Indeed, even the collaboration policies for courses taught by the same faculty member may significantly differ. Do not assume anything about the collaboration policy for this course. Instead, be careful to understand the policy outlined below, and see us if you have any questions.

    It is never acceptable to present someone else's work as if it were your own. Unless stated otherwise, we will assume that all work you hand in is yours and yours alone. Collaboration on class assignments is acceptable but each student must submit her own individual assignments, indicating clearly any other students with whom she works. If you get help from us or a TA that constitutes a significant part of the assignment, you should acknowledge that, too. If you are not sure, err on the side of caution.

    Copying other people's code or work is a serious violation and will be regarded as a disciplinary matter.

    In general, it is acceptable to talk about your code and problem set solutions using natural languages, but not acceptable to use any formal language, and especially not MIPS assembly language. In other words, you should not be looking at other people's code or problem set solutions or showing them yours.

    When working on homework problems, it is perfectly reasonable to consult public literature (books, articles, etc.) for hints, techniques, and even solutions. However, you must reference any sources that contribute to your solution. Assignments, exams, solutions and notebooks from previous terms of CS240 are not considered to be part of the "public" literature - not every student has access to such materials. You must refrain from looking at any materials from previous terms of CS240. It is our policy that consulting any materials from previous terms constitutes a violation of the honor code.

    Late Policy

    LATE ASSIGNMENTS WILL NOT BE ACCEPTED FOR CREDIT. If you wish to hand in an overdue assignment, we will acknowledge your effort and provide feedback, but you will not receive a grade. Late assignments due to a medical or personal emergency will be accepted only with a supporting note from a medical person or Class Dean. Class extensions on an assignment will be announced in class and on the FirstClass conference, so please check it regularly! Formal solutions will be distributed soon after the due date for each problem set.

    Students with Disabilities

    We strongly encourage students with disabilities to visit me soon to discuss appropriate accommodations that might be helpful to them.


    Jennifer Stephan -- jstephan@wellesley.edu
    Computer Science 240
    Last Modifed: September 1, 2007