Note that we will
focus on the MIPS architecture covered throughout the textbook.
Additional material on MIPS and its educational SPIM simulator (MIPS
spelled backwards) will be made available on-line.
Course mailing list: cs210@cs.bu.edu
(type: 'csmail -a cs210' to add yourself to the mailing list).
NOTE: The last day to drop a course without a 'W' grade is Tuesday,
February 22. The Registrar's website provides further information about
important dates.
Prerequisites:
This course assumes that
students
have a solid background in
C++ programming from CAS CS 111 or equivalent. CS 112 (or CS 113)
is
also recommended, but not essential for students with strong
programming skills. A solid working knowledge of operating systems such
as Unix and Windows
is also assumed. MA 293 is helpful for the material on Boolean Logic,
but
is not essential.
We often will make use of C
as an example of high-level language because its syntax and semantics
are closer to assembly language concepts. You should not be distracted
by this since C is mostly a subset of C++. C and C++ both share many of
the same fundamental programming constructs. C, however, lacks support
for object-oriented programming.
Course Summary:
This course covers the
structure and organization of computer systems, the design and
implementation of abstractions that enable humans to use computers
efficiently, the basics of assembly programming, how to translate
between assembly and machine language, how it is possible to build a
machine
that executes instructions, and the various interfaces between
processors, memory, peripherals, and operating system software.
CS 210 is a principal course
for computer science majors. It provides background for courses in the
systems area such as operating systems, compilers, networks and
databases, not to mention more advanced courses in computer
architecture.
Discussion Sections:
The Teaching Fellow will
lead the discussion sessions. The objective is to re-enforce the
concepts covered in the lectures, and answer questions (or provide
clarifications) regarding the homework and programming/lab assignments.
The schedule for discussion
sections can be found here (please
check regularly for updates).