To understand the basic operation of computing systems. Upon completing this course, students should have a high-level understanding of the role played by each major component of the system, including compiler, operating system, assembler, instruction set, and hardware. Programming assignments will be conducted on the departmental PCs running linux. You may also find the tools available on the departmental PCs running windows or you may install the tools on your own computer. However, you must ensure that any programming assignment you turn in functions correctly with the linux installation of the tools.
Student Evaluation
Your performance in this class will be evaluated through homework assignments, programming assignments, three quizzes, final exam, and participation in your discussion section. Each student's lowest quiz score will automatically be dropped. The weights of each of these components is listed below:
The assignments will be a combination of written work and programming work. The written work will help you pace yourself in the reading and in your understanding of lectures. The programming components will teach you how to think like a computer and is vitally important to your understanding of this course.
Assignments will be due at the beginning of your assigned discussion section. Your programming assignments will be submitted electronically and will require you to use your departmental Unix account. You may not email your assignments to the teaching staff. Programs will be graded on correctness, readability, style, and documentation.
You have a "late account" of 4 days for the term which you can spend as follows on your assigments. In general, an assignment is one day late until 5pm of the day after it is due, two days late from then until 5pm of the second day, etc. No more than 2 of these late days can be spent on a single assignment. Weekends count as a single day, so once 5pm on Friday has passed, you will spend one additional day if you turn your assignment in on time on Monday. No assignment can be turned in after the start of class on the Monday on which the solutions for that assignment are handed out. So for a typical homework, it's due on a Thursday in discussion section, it's one day late as of Friday afternoon, it's two days late as of Monday before class starts, and it cannot be turned in after the start of class on Monday.
Once you have exhausted your late account, no late assignments will be accepted. You are responsible for turning in your assignment to your discussion section TA. The departmental homework drop box will not be used.
Academic Misconduct Policy
You are free to discuss the course material with your classmates and are encouraged to form study groups for the exams. However, collaboration on homework or programming assignments is not permitted unless explicitly stated by the instructor. Helping a friend understand the intent of a homework or programming assignment specification is permitted. Students who work together too closely (e.g. design their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to academic penalties. Penalties for academic misconduct include a failing grade in this course.
The homework, programs, and exams must be the work of students turning them in. University policy (see Dean of Students' policies on academic integrity) will be followed strictly.
Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include:
Studying for tests together is permitted and encouraged. Please come talk to us if you are unsure about how to work together with your friend in a legal, helpful manner. Remember, it is always ok to "work together" with your professor or TA!
Your Responsibilities in This Class:
Other General Information
The programming assignments will require use of the Department of Computer Sciences instructional computing resources. All CS students who meet the prerequisites for CS310 are eligible for a CS departmental Microlab account and undergraduate Unix account.
Important links: