Course Syllabus
Overview
In this course we will take a look under the hood of computers. Modern computer systems are composed of several layered abstractions that interact in complex ways. One consequence of this complexity is that it can seem like there's a lot of magic happening behind the scenes. After taking this course you'll understand much of what might seem magical now, and be equipped to continue demystifying obscure technologies on your own.
Basic Logistics
Instructor | Benjamin Ylvisaker |
Paraprof | Colter Fatt |
Room | Tutt Science 223 |
Meeting Time | M-F, 9-noon |
Office Hours | M-Th, 2-4 |
Textbook | Computer Systems: A Programmer's Perspective, 2/E (CS:APP2e) by Randal E. Bryant and David R. O'Hallaron Note: This book is quite expensive, but excellent. Consider rental, if the price is daunting. |
Schedule
Day | Date | Topic | Reading | Other |
M | 2-16 | Comp Sys; C | 1 | |
Tu | 2-17 | C; integral data | 2.1-2.2 | Data A |
W | 2-18 | More data | 2.3-2.4 | Data B |
Th | 2-19 | Fractional data | 3.1-3.5 | Data C |
F | 2-20 | Assembly: Basics | 3.6 | Asm |
Day | Date | Topic | Reading | Other |
M | 2-23 | Assembly: Control | 3.7 | Data A |
Tu | 2-24 | Assembly: Procedures | 3.8-3.9 | Data B |
W | 2-25 | Assembly: Data | 3.10-3.14 | Buf A |
Th | 2-26 | Assembly: Advanced | 6.1-6.3 | Buf B |
F | 2-27 | Memory Hierarchy | 6.4-6.6 | Cache A |
Day | Date | Topic | Reading | Other |
M | 3-2 | Caches | 7.1-7.11 | Cache B |
Tu | 3-3 | Linking, Exceptions | 8.1-8.5, 8.7 | Shell A |
W | 3-4 | Processes, Signals, System I/O | 10 | Shell B |
Th | 3-5 | Memory | 9.1-9.8 | Malloc A |
F | 3-6 | Memory | 9.9-9.11 | Malloc B |
Day | Date | Topic | Reading | Other |
M | 3-9 | |||
Tu | 3-10 | Exam | ||
W | 3-11 | Verification |
Scoring
Your score in Org will be based on the following:
- Daily quizzes
- Daily programming exercises
- Honor programming assignments (3; one per weekend)
- Final exam
Your scores on the daily programming exercises will not be averaged into your grade in the conventional way. Rather, you will get participation points for completing daily exercises on time. The more participation points you accumulate, the more low quiz grades will be dropped from your final score. You are permitted to work together and use absolutely any resources to complete daily exercises. You should think of daily exercises as an opportunity to study for the daily quizzes. The more work you put into the exercises, the easier the quizzes will be.
Daily Quizzes
The daily quizzes will start on the first Wednesday of the block. They will generally cover the topic of the daily exercise you turned in the previous morning. The quizzes will start at 11:30 and be designed to take less than 30 minutes. The daily quizzes will account for 35% of your final score.
Daily Programming Exercises
The daily programming assignments will be available by after class and due before class the next day. You will get no credit for late daily exercises. Daily exercises will be scored on a simple scale: 0=little or no evidence of work; 5=got started, but missing big pieces; 8=mostly right, but still missing an important piece or two; 10=good. The points you get on daily assignments are "participation points" and are not directly averaged in to your finals score. The more participation points you earn, the more low quiz scores will be dropped to compute your final average (exact formula TBD).
Honor Programming Assignments
Each Friday you will get an honor assignment (there will be no daily exercise on Fridays). The honor assignments will be due before class on Monday. You will be expected to work on your own on honor assignments. The honor assignments will be graded out of 100. Each day late will cost you 20 percentage points. The honor assignments together will be 45% of your final score.
Final Exam
The final exam will be given on Tuesday (the day before the last day of class). It will be cumulative. The final exam will be approximately all of the daily quizzes stapled together, filtered down and tweaked slightly. The final exam will be 20% of your final score.
Policies
Attendance
Attendance will be measured by the quizzes. In addition to your regular score, simply taking a quiz will earn you participation points. If you know you will miss class, talk with the instructor in advance. Retroactive adjustments for late/missed work will only be considered in extreme circumstances (held hostage, car accident, etc).
Disability Accommodations
If you have a disability and require accommodations for this course, please speak with the instructors privately as soon as possible so that your needs may be appropriately met. If you have not already done so, you will need to register with Accessibility Resources (Learning Commons at Tutt Library, Room 152, 719-227-8285), the office responsible for coordinating accommodations and services for students with disabilities. You must present a letter from Accessibility Resources to get any disability accommodations in this class.
Course Summary:
Date | Details | Due |
---|---|---|