Dr. Carl Burch
Our primary goal is to understand how computing systems work
at all layers, from the digital circuit level through the
assembly language level, the operating systems level, and the
high-level languages level. By the end
of this course, you should be able to:
- design digital circuits to perform simple combinational and
- write assembly language programs.
- compose C programs involving sophisticated pointer
- describe the purpose of the operating system and the
approaches typically used to provide some of its more important
behavior, such as loading programs and manipulating virtual
- describe techniques for implementing high-level language
techniques, such as object-oriented design or garbage
collection, in terms the computer can execute.
Key topics to be covered in this course:
- Using the UNIX shell and basic UNIX system calls
(including fork, exec)
- The C programming language,
with particular emphasis on pointers and bit operators
- The ARM assembly language
- Binary representation of integer, floating-point, and
- Digital logic design, including Karnaugh maps, multiplexers,
- Cache design
- Process memory: program stack, heap, garbage collection
- Operating system fundamentals: process switching, virtual memory
In place of a textbook, there are extensive notes posted on the class
There are a total of 1,000 points over the semester.
Letter grades will be assigned with cutoffs at 900 for an A, 800
for B, 700 for C, and 600 for D.
|Assignments (13, 25–50 pts each)
|Tests (three, 100 pts each)
I reserve the right to make adjustments in the entire
grading scheme or in particular cases.
I do not normally
curve grades at the end of the course; instead,
I monitor your progress and perform any
curves as I grade tests.
curve test scores, I add a fixed amount to all
scores; as a result, some test scores may end up being above 100%.
I anticipate, but will not insist, that the median test score will
be around 75%. Normally, scores in the non-test categories will be
higher; the average class grade will likely be a B even though the
average test grade is a C.
Several points are designated for
class participation. I will
assign half of these points near the semester's middle, and the
other half near the semester's end.
I do monitor your class attendance. If your attendance is excellent
(missing one or fewer classes each half-semester), you
will receive at least 60% of these attendance/participation points.
If you feel your absence should be excused, please warn me about the
absence a day in advance. Whether I excuse your absence is my
The remaining 40% of these points are for participation, including
both questions during class and responses to questions during class.
I may give more than full credit in unusual circumstances. Take this
as an invitation: I value your active participation in class, and
I expect you to show evidence of being fully tuned in during class
Normally, an assignment will be posted on the course Web page
each Friday, and it will be due the following Friday.
For each 24-hour period after the time due, I will deduct up to 10%
of the points possible.
For most assignments (when teamwork is unspecified),
you may feel free to work alone or with one other student.
If you work with somebody else, you should jointly submit a single solution.
I reserve the right to change this policy,
individually or collectively, at any time.
You may also ask occasional questions of classmates when you
need help, but no solutions (even if only partial) should be passed
between students (or teams). Under no circumstances should I receive
two copies of identical or near-identical solutions.
The Linux laboratory computers are the official testbed for
your solutions. Even if your solution works on another computer,
your program has failed if it does not work on these. (Note our
The scheduled days for tests, listed below,
will likely not change.
|Tue 16 Sep||Test 1|
|Tue 7 Oct||Test 2|
|Tue 4 Nov||Test 3|
|Wed 10 Dec||Final, 9:00am|
All tests will last for only 60 minutes of the 75-minute class period,
except for the two-hour final.
If you miss a test, you must receive advance permission from me to
receive more than a 0. (Dire medical emergencies usually constitute
an exception.) If you are excused from the test, I will either
double your lowest quiz or exam score or administer a make-up,
at my discretion. Let me know well in advance — 24 hours for
exams and quizzes, and two weeks for the final. I would like to
remind you that, when e-mail is impossible, telephones exist also.
Do not skip a test without my prior approval!
Note that I may require you to document your reason for absence.
Travel arrangements and work schedules are not adequate reasons
to miss a test.
You must properly attribute any work or ideas you use in assignments
for this course which are quoted or derived from others. Plagiarism
includes not only copying the ideas and the written and spoken words
of others, but also copying or otherwise appropriating their computer
files as well. Interfering with the work of others is also a serious
academic offense. I will abide by the catalog's Academic Honesty
policy in referring cases to the college's Committee on Academic
Discussing or viewing others' solutions to assignments is officially
out of bounds, as is discussing or showing your own solution to others.
In practice, I realize, you may help other students; this presents a
problem only when the solution you submit is substantially similar
to another student's. A strong correlation between your solution
and a classmate's solution constitutes evidence of cheating.
Feel free to stop by my office any time you want to talk about
something related to the class. I have listed
but they are not intended to limit you.
The office hours represent when I will try to be available in my
office, but I'm equally available at all times that my office door
is open. I'm also happy to arrange appointments.
If you're not in the building, feel free to telephone my office.
And if I'm not in my office, you can send e-mail. But please try to
contact me directly before asking questions via e-mail: E-mail is
much less efficient.
Most Hendrix students intuitively know the appropriate bounds for
behavior in class. But: Cellphone use is prohibited during class,
even if calls are received outside the classroom, and even if it
is only text-messaging. Use of laptops is restricted to activities
directly related to what is currently being discussed; I reserve the
right to prohibit them if I feel this policy is being abused.
Any inappropriate use of electronic devices (or of reading
materials) is worse than an absence, since it distracts other students.
It will count accordingly in the attendance/participation policy;
you could potentially receive a negative score.
On tests, no electronic devices other than a simple watch are
It is the policy of Hendrix College to accommodate students with
disabilities, pursuant to federal and state law.
Students should contact Julie Brown in Academic Support Services
(505.2954; firstname.lastname@example.org) to begin the accommodation
process. Any student seeking
accommodation in relation to a recognized disability should
inform the instructor at the beginning of the course.