Description

This course takes a programmer's perspective to learn about the inner structure of computer systems, the design and implementation of abstractions that enable humans to use computers efficiently, the basics of C and assembly programming, the mapping between C and assembly, and between assembly and machine language, and the role of operating system software.

CS 210 is a core (group A) course for computer science majors. It provides background for courses in the systems area such as operating systems, compilers, and networks, not to mention more advanced courses in computer architecture.

General Information

PREREQUISITES
A solid background in Python, Java, or C++ programming from CAS CS 111 or equivalent. CS 112 is also recommended, but not essential for students with strong programming skills.

A solid working knowledge of operating systems, such as Unix/Linux and Windows, is also assumed.

CS 131 or MA 293 is helpful for the material on Boolean logic and data representation, but is not essential.
TEXTBOOKS
[Required CMU Text] Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer's Perspective, Pearson, Third Edition, 2016, ISBN-10: 0-13-409266-X, ISBN-13: 978-0-13-409266-9.

[Required C Text] Stephen G. Kochan, Programming in C, Addison-Wesley, Fourth Edition, 2015, ISBN-13: 978-0-321-77641-9, ISBN-10: 0-321-77641-0.

Both books are available from the BU bookstore. You can also check the publisher’s site or sites like Amazon for cheaper options (rental, electronic or kindle versions). A copy of each of the books will also be placed on reserve in the Science & Engineering Library. You can access these copies from the circulation desk for 2-hour in-library loans.
ACADEMIC HONESTY
Assignments must be completed individually. Discussion of issues, in computer systems, is encouraged, but representing the work of another person as your own is expressly forbidden. This includes "borrowing", "stealing" or “buying” programs/solutions or parts of them (whether in printed or electronic form) from others. We may use an automated plagiarism checker. Cheating will not be tolerated under any circumstances. Handing in your own work a day or two late will affect your grade far less than turning in a copy of someone else's work on time!

Turning in solutions that are not yours, even when you cite your (written or electronic) sources may result in a lower grade for the assignment and your action may be reported to the Academic Conduct Committee. If you are in doubt whether your action constitutes academic misconduct, please ask the instructor.

Please review Dr. Sullivan’s guidelines for collaboration from CS 111 http://www.cs.bu.edu/courses/cs111/collaboration.html

See the CAS Academic Conduct Code, in particular regarding plagiarism and cheating on exams. A student suspected to violate this code will be reported to the Academic Conduct Committee, and if found culpable, the student will receive a grade of "F" for the course.

Announcements

Final grades submitted (last post)
5/06/16 12:48 PM

Hi everyone, I just submitted your final grades so you should be able to see it on your student link soon. You can also see your final exam score from Blackboard.

Thanks to Han and Kylie, and our graders, for their great help. Thanks to you all for taking the course. I enjoyed it and I hope you did too! Hope you will make good use of what we have learned in your future courses and career.

Have a great summer.

--abraham matta

I am around today at 5-6pm
5/02/16 2:04 PM

Hi everyone, I am available today at 5-6pm if you have any last-minute questions.

Sorry for the late notice. I was trying to move things around.

--abraham matta

Solution to Practice Final Questions has been added to class homepage under Resources
4/28/16 3:38 PM

The teaching staff has posted a new exams resource.

Title: solpracticefinal.pdf
http://www.piazza.com/class_profile/get_resource/ij04mbc0omb1a7/inkoxwr61du24p

Due date: Apr 28, 2016

You can view it on the course page: https://piazza.com/bu/spring2016/cs210/resources

Practice/Review for Final Exam has been added to class homepage under Resources
4/22/16 5:28 PM

The teaching staff has posted a new exams resource.

Hi everyone, here are some review notes and practice questions for final exam preparation. We will go over them next week (in lab and lecture). You should skip for now question #7 and I/O (input/output) related material, which will be the subject of our discussion on Tuesday. Have a nice weekend.

--abraham matta

Title: practicefinal.pdf
http://www.piazza.com/class_profile/get_resource/ij04mbc0omb1a7/inc82h9gtvn4f1

Due date: Apr 22, 2016

You can view it on the course page: https://piazza.com/bu/spring2016/cs210/resources

PS#3 has been added to class homepage under Resources
4/14/16 6:57 PM

The teaching staff has posted a new homework resource.

Hi everyone, here is problem set #3 on memory. You can wait on the last 2 problems (on virtual memory) until we discuss more on Tuesday. Meanwhile, you can do the first 2 problems on caching. Please also manage your time so you continue to make progress on the Performance Lab (due 4/27).

Title: ps3.pdf
http://www.piazza.com/class_profile/get_resource/ij04mbc0omb1a7/in0vqq51uwp2ze

Due date: Apr 22, 2016 (1pm)

You can view it on the course page: https://piazza.com/bu/spring2016/cs210/resources

Blocking note for PA3 has been added to class homepage under Resources
4/08/16 1:53 PM

The teaching staff has posted a new programming_assignments resource.

Han will go over this note on Monday. Please read ahead if you can - thanks.

Title: Blocking note for PA3
http://www.piazza.com/class_profile/get_resource/ij04mbc0omb1a7/imqpthbnxse2p8

Due date: Apr 27, 2016

You can view it on the course page: https://piazza.com/bu/spring2016/cs210/resources

PA3: Performance Lab has been added to class homepage under Resources
4/08/16 1:31 PM

The teaching staff has posted a new programming_assignments resource.

Hi everyone, please read the handout of this (last) programming assignment before your discussion section on Monday. Han will introduce the infrastructure of this assignment, some optimization technique (another note will be posted on this), and answer your questions. Have a nice weekend. --abraham matta

Title: PA3: Performance Lab
http://www.cs.bu.edu/fac/matta/Teaching/cs210/S16/perflab.pdf

Due date: Apr 27, 2016

You can view it on the course page: https://piazza.com/bu/spring2016/cs210/resources

I moved to MCS 294A
4/02/16 10:24 PM

Hi everyone, I just moved from MCS 271 to the new space on the west end on the same 2nd floor, in room 294A. Please find me there from now on for office hours.

Also, hope you are continuing to make progress on the Bomb lab. Deadline is next Friday.

Stay warm tomorrow!

-abraham matta

Staff Office Hours
NameOffice Hours
Han Dong
When?
Where?
Kylie Moses
When?
Where?
Abraham Matta
When?
Where?