Assignments - Spring 2020

There are three types of assignments you will complete in this course. Readings will give you the basic background information you need for lecture and will help you prepare for the weekly quizzes and final exam. Computing Assignments will allow you to implement some of the early computing ideas and work with simulators for classic computers. The Term Paper is a larger assignment to test deeper understanding in a specific area of the history of computing.

Plan your time accordingly. Look HERE for time management tips from Academic Development.

Academic Integrity

Remember that all work you submit must be your own work. You may ask others general questions about the assignments or course material, but you cannot share your answers to assignments or use all or part of another's solution. If you use material from another source, such as a quotation or code fragment, you should cite your source and check with the instructors to be sure you are not plagiarizing or committing academic dishonesty.

REQUIRED FOR ALL STUDENTS: Academic Integrity Form - Print out this web page, read it carefully, fill in the required information, sign it, and hand this in at the start of class on Wednesday, January 16. This form is not graded, but you must hand this in to receive grades for all course assignments and tests. If you miss this deadline, hand in the form at the start of the next lecture.

If you are having personal health, relationship or family troubles that interfere with your studies, please consult with your instructor instead of making a poor academic decision to use someone else's work; we can usually work something out in these cases.

READINGS

All readings come from the following texts available online, or additional documents as indicated:

LECTURE TOPIC(S) READING(S)
1 The Origins of Computing BBB: Chapter 1;
CBC: Chapter 1
2 Computing in the 1800s: Babbage and his Inventions BBB: Chapter 2;
CBC: Chapter 2
3 Punched Card Computation BBB: Chapter 3 (3.1-3.2), Chapter 6 (6.1-6.6);
CBC: Chapter 4 (to page 149)
4 Early 20th Century Computing Machines and Thought BBB: Chapter 3 (3.3-3.5, 5.3-5.4);
CBC: Chapters 3, 5 (to page 185), 6 (pages 204-207, 213-219)
5 World War II and the Advent of Modern Computing BBB: Chapter 3 (3.6-3.7), 4 (all), 5 (5.5);
CBC: Chapter 7 (to page 242)
6 The Dawn of Commercial Computing after WWII BBB: Chapter 5 (5.1-5.2, 5.6-5.10), Chapter 6 (6.7-6.8); Chapter 7 (7.4)
HMC: Chapter 1
7 Mainframes and IBM Domination BBB: Chapter 7 (7.7-7.8);
HMC: Chapters 2, 5
8 Memory, Integrated Circuits and the Space Race BBB: Chapter 7 (7.1-7.3), Chapter 8;
HMC: Chapter 6
9 Minicomputers and Microprocessors BBB: Chapter 9 (9.1-9.6);
HMC: Chapter 4 (from page 124), Chapter 7
10 The Personal Computer Revolution BBB: Chapter 9 (9.7-9.9);
HMC: Chapter 8 (from page 257)
11 The GUI, A New Leader Emerges HMC: Chapter 10 (to page 319);
A History of the GUI
12 The Internet and the World Wide Web HMC: Chapter 9 (all), Chapter 10 (from page 320);
Brief History of the Internet
13 Search Engines and Social Networking Search Engine History
History of Social Networking
14 Programming Languages, Artificial Intelligence Evolution of the Major Programming Languages (Chapter 2)
The History of Artificial Intelligence

COMPUTING ASSIGNMENTS

Hand in all computing assignments via Autolab (on andrew). A link will be provided once the assignment is released.

ASSIGNMENT DUE DATE/TIME
1 The Difference Engine due Monday, January 27, 2020 by 9:00AM
2 The Enigma Machine due Monday, February 10, 2020 by 9:00AM
3 The PDP Minicomputer due Monday, February 17, 2020 by 9:00AM
4 The IBM Personal Computer due Monday, March 2, 2020 by 9:00AM

TERM PAPER

In this term paper assignment, you will be assigned to research the history of a famous or significant programming language, some of these might be familiar while others will be very obscure. The goal of this paper is not to explain how to program in the given language but to explain why and how it was developed, what potentially famous computer scientists were connected with the development and describe their stories, and determine what languages were influenced (if any) by its development.

Each student will be assigned a different programming language, at random, during class on Monday, January 27.

TERM PAPER ASSIGNMENT

Term Paper Sources: due Monday, February 3 by 9:00AM on Canvas.
Final Term Paper: due Monday, February 24 by 9:00AM on Canvas.