Our lab meets online on Google Meet Monday from 3:00 pm - 3:50 pm and our lecture meets in person in HH 306 Tuesday and Thursday 11:00 am - 12:15 pm. Readings shown should be completed before class that day (since we'll discuss in class).
Note that UMD defines 1 credit hour as being equal to 3 hours of work. This is a 4 credit hour class, so in total you should expect to spend about 12 hours a week on this class. 4 hours are devoted to attending class, leaving 8 hours per week for reading, writing, etc. Please let me know if you find that you are spending significantly more time on this class than that.
Please bring whichever book we are reading to class as we will often refer to it.
Week 1
Thur Jan 15 : First Day of Class. What is a Computer? What is the Architecture of a Computer?
By today you should have a copy of The Thrilling Adventures of Lovelace and Babbage (TALB), and start reading ...
Week 2
Mon Jan 19 : [no class] MLK Day
Tue Jan 20 : Read pages 11 - 44 of TALB (aka Part 1). Discuss. Method of Differences.
Watch a 7 minute video about the Silver Swan, an automaton by Merlin (from page 20 of TALB)
Thu Jan 22 : Read pages 45 - 94 of TALB (aka Part 2). Discuss. What is a Personal Essay?
Watch a 2 minute video of a Jacquard Loom in action and a 4 minute explanation with a few more details (from pages 86 - 87 of TALB)
Week 3
Mon Jan 26 : [Google Meet] Notes By The Translator (by Ada Lovelace).
Skim through the Sketch of the Analytical Engine (1843). Slow down and pay particular attention to the first program/s, and Ada Lovelace's Notes of The Translator.
Tue Jan 27 : Read pages 95 - 139 of TALB (aka Part 3). Programming the Analytical Engine. Discuss.
Watch a 5 minute video of the MONIAC in action (from page 135 of TALB)
Wed Jan 28 : Personal Essay #1 due by 11:59 pm. Here are the guidelines for your essay :
Before writing this essay, please watch the following video about the Difference Engine and Analytical Engine (37 minutes total viewing time):
Demo of Charles Babbages' Difference Engine (24 minutes)
Babbage's Analytical Engine - Computerphile (13 minutes) (the diagram referred to in this video is on pages 286-287 of TALB)
NOTES : Take notes as you are watching both videos. Do not produce a summary, just take notes point by point as the videos go along. Please make sure your notes cover both videos from start to finish. Your notes should include not only what the speaker is saying but also whatever you are visually observing in these videos. For those points in your notes that you observe visually please begin those with SAW: Your notes will include more information than you will use in your essay. That is to be expected and will allow you to choose the "best" content for your essay after watching both videos.
OUTLINE : Once your notes are finished, make an outline by describing each element from the prompt below that you will need to address in your essay. Each item in your outline should be followed by the specific points you will make to address them. You should complete both your notes and outline before writing your essay. Please start your essay after your notes and outline so that all are immediately visible in your submission.
ESSAY : Based on what you saw and heard in these videos I'd like like you to explain at least three connections between the Difference Engine (DE) and/or the Analytical Engine (AE) to ideas you have studied in other Computer Science classes. These should be classes you have taken at UMD and not include this one. Please be specific in discussing these connections and discuss how the ideas are similar and different. You should also provide both the name and number (eg. CS 4412 Computer Architecture) of the courses you are connecting to. In addition, you should also describe at least three physical features of the DE and/or AE that you observed visually in the videos. Describe what they look like, how (if) they move, and what role they have in the overall device. If any are connected to the ideas that relate to your previous classes please make that clear. You should not have an introductory paragraph or summarizing conclusion in these essays given their relatively brief length (minimum 500 words).
Thur Jan 29 : Read pages 140 - 207 of TALB (aka Part 4). Discuss.
Week 4
Mon Feb 2: [Google Meet] Read pages 286 - 317 of TALB (aka Appendix 2). Discuss.
Watch a 13 minute video from Sydney Padua Explaining the Analytical Engine (from pages 290 - 291 of TALB)
Review the manual (28 pages) for Programming Cards for the Analytical Engine (from pages 302 - 305 of TALB)
Tue Feb 3 : Read pages 208 - 258 of TALB (aka Part 5). Discuss. Punched Cards.
Watch a 4 minute video about the Jevon's Logic Piano (from page 211 of TALB)
Watch a 12 minute video from Numberphile on Fantastic Quaternions (pages pages 253 - 254 of TALB)
[optional] Watch a very beautiful 31 minute video from 3blue1brown on Visualizing Quaternions (from pages 253 - 254 of TALB)
Wed Feb 4 : Personal Essay #2 due by 11:59 pm. Here are the guidelines for your essay :
NOTES : We have divided TALB into file parts. Part 1 (pages 11 - 44), Part 2 (pages 45 - 94), Part 3 (pages 95 - 139), Part 4 (pages 140 - 207) and Part 5 (pages 208 - 258). Takes notes from each part on the two most interesting (to you) ideas related to the Analytical Engine or Difference you find therein. What is the idea, briefly explain it, how does it impact the AE or DE, and why is it interesting to you? Also give the page number/s for each point. Then, also take note of one idea from each Part that connects to previous courses you have taken at UMD not including this one. These should be different than the most interesting ideas you have already selected and can be in CS or any other subject area. Please provide exact page numbers for these ideas and specific course names and numbers (eg CS 4412 Computer Architecture). Make sure that all of the ideas you include are very specific and not general or vague (eg the AE was ahead of its time, Ada Lovelace was brilliant, etc). What is the idea, briefly explain it, and how did it come up in the class you took, how is it connected to the AE or DE? To summarize, for each of the 5 parts of TALB you should have 2 interesting or important ideas and 1 idea also found in a course you took.
OUTLINE : Once your notes are finished, make an outline by describing each element from the prompt below that you will need to address in your essay. Each item in your outline should be followed by the specific points you will make to address them. You should complete both your notes and outline before writing your essay. Please start your essay after your notes and outline so that all are immediately visible in your submission.
ESSAY : In this essay I'd like you to discuss the one idea from each part of TALB that stands out the most to you. These should be selected from the points you have made in your NOTES. At least two of these should be from the ideas that connect to classes you have taken. Describe each idea, how it impacts the AE or DE, and what makes it interesting to you. If the idea connects to a class you have taken describe how that idea comes up in the class you took and how it connected to the overall themes of the class. Finally, conclude your essay by discussing how these ideas relate to each other and what connects them. Since they all come from TALB they should in some way be connected to the AE or DE and so must presumably have some relationship to each other. You should not have an introductory paragraph or summarizing conclusion in these essays given their relatively brief length (minimum 500 words).
Thur Feb 5 : Read pages 258 - 286 of TALB (aka Appendix 1). Discuss. Wrap up Babbage and Lovelace.
Watch a 5 minute overview of the Analytical Engine (new as of Nov 2025 work in progress by Sydney Padua)
[optional] Watch a 9 minute video by Sydney Padua on the Difference Engine Carry Mechanism (from pages 296 - 297 of TALB)
[optional] Watch an 11 minute video by Sydney Padua on Babbage's Anticipating Carriage (from pages 298 - 301 of TALB)
Week 5
Mon Feb 9 : [Google Meet] Midterm 1 take-home exam questions introduced. There will be two questions. Please work individually and do not use AI in any way. However, you are welcome to consult with The Writer's Workshop on any aspect of this exam.
Tue Feb 10 : [no class] Work on Midterm 1.
Thur Feb 12 : [no class] Work on Midterm 1.
Fri Feb 13 : Midterm 1 due by 11:59 pm today.
Week 6
Mon Feb 16 : [Google Meet] Read Prologue and Ch 1 of The Soul of a New Machine (TSNM). Discuss.
Tue Feb 17 : Read Ch 2 and 3 of TSNM. Discuss.
Watch 8 minutes on How Does a CPU work? (Gary Explains)
Watch 11 minutes on Design Your Own CPU Instruction Set (Gary Explains)
Thur Feb 19 : Read Ch 4 and 5 of TSNM. Discuss.
Play at least a few turns of Adventure
Watch 13 minutes on Instruction Set Architecture (0612 TV)
Week 7
Mon Feb 23 : [Google Meet] Read Ch 6 of TSNM. Discuss.
Tue Feb 24 : Read Ch 7 and 8 of TSNM. Discuss.
Watch 14 minutes on How Computer Memory Works (Computerphile)
Thur Feb 26 : Read Ch 9 and 10 of TSNM. Discuss.
Watch 6 minutes on Why do CPUs need Cache? (Computerphile)
Watch 11 minutes on Inside the CPU (Computerphile)
Sun Mar 1 : Personal Essay #3 due by 11:59 pm. Here are the guidelines for this assignment:
This assignment concerns Chapters 1 - 10 in The Soul of a New Machine. As a first step, select 5 chapters from Chapters 1 - 10 that you will focus on in this question. Start your notes for each chapter by listing the chapter number, the title of the chapter, and the first and last page number in that chapter (eg. Chapter 5, Midnight Programmer, pages 113 - 145). The page numbers are very important because that lets me know which edition of the book you are using. You will also see that you are asked to provide page numbers in your notes. If you somehow have a version of TSNM that does not have page numbers please go to the UMD Library and check out the copy of TSNM that is on three hour reserve and use that as the source of your page numbers.
NOTES : For each chapter that you select, take notes on the two most interesting (to you) ideas that are related to designing or building a computer found in that chapter. For each of your ideas, what is the idea, briefly explain it, discuss how it impacts designing or building a computer, and then why this idea is interesting to you. Then, also take notes about one idea from each of your selected chapters that connects to previous courses you have taken at UMD not including this one. If you have transfer credit you can use courses from other colleges. This should be different than the most interesting ideas you have already selected for the chapter and can be in CS or any other subject area. What is the idea, briefly explain it, how did it come up in the class you took, and how is it connected to designing or building a computer? Make sure to identify the course by name and number (e.g. CS 4412 Computer Architecture). If you are a transfer student you can use courses at other colleges, just name the college and give specific course names and numbers (at the previous school). To summarize, for each of your five selected chapters you should have two interesting (to you) ideas and also one interesting idea also found in a course you took for a total of 15 different ideas. Please provide specific page numbers for each of the 15 ideas you discuss.
OUTLINE : Once your notes are finished, make an outline by describing each element from the prompt below that you will need to address in your essay. Each item in your outline should be followed by the specific points you will make to address them. You should complete both your notes and outline before writing your essay. Please start your essay after your notes and outline so that all are immediately visible in your submission.
ESSAY : In this essay I'd like you to discuss the one idea from each of your selected chapters that stands out the most to you. These should be selected from the points you have made in your NOTES. At least two of these should be from the ideas that connect to classes you have taken. Describe each idea, how it impacts the design or building of a computer, and what makes it interesting to you. If the idea connects to a class you have taken describe how that idea comes up in the class you took and how it connected to the overall themes of the class. Finally, conclude your essay by discussing how these ideas relate to each other and what theme/s connects them. Since they are all relating to designing and building a computer you should have some idea that ties them together that is more specific than this. Please make sure your theme is not overly vague and has some technical content associated with it. You should not have an introductory paragraph in these essays given their relatively brief length (minimum 500 words) and your conclusion should be very specific to what is described above.
Make sure that the Google Doc with your submission is shared so that anyone with the link is an editor. If you aren't sure how to do that, please watch the following very worthwhile 2 minute video : https://www.youtube.com/watch?v=7q6h1fYuYM4
Week 8
Mon Mar 2 : [Google Meet] Discuss selected issues from Ch 1 - 10 of TSNM
Tue Mar 3 : Read Ch 11 and 12 of TSNM. Discuss.
Watch 10 minute video on Processor Addressing Modes.
Thur Mar 5 : Read Ch 13 and 14 of TSNM. Discuss.
Spring Break (Mar 9 - 13)
Week 9
Mon Mar 16 : [Google Meet]
Week 8
Week 9
Week 10
Week 11
Week 12
Week 13
Week 14
Week 15