Warning: It is not easy to learn how computers work. This is a rigorous course that requires a great deal of work and commitment. A "general studies" label does not, and should not, mean that the course has little content or requirements. Throughout the years, some students have told me that they worked harder in this course than in their major courses. That may well be true, so be aware of what will be expected of you when you register. What do you get for all that work? I promise to teach you a lot about how computers work. I promise to hold your hand and help you every step of the way. I promise to provide review sessions and helpful teaching assistants. I promise to make it fun and entertaining. The course has no prerequisites, and you don't need any previous experience with computers.
Lectures: TRF 10:00 - 10:50, Computer Lab - 228 College Center.
Office Hours: TR 11:00 - 12:30, or by appointment
Teaching Assistants: Johana Papa is the teaching assistant. She will help you in lab with your programming assignments.
Lab and Help Sessions: The lab in 228 College Center is open for your use anytime there is no class being held there.
TA hours: Thursday evenings 6-8 in the lab.
Goals: To learn how computers work, from the technical issues associated with programming computers (software) down to the inner workings of the electronic components (hardware). Emphasis is placed on gaining personal experience by programming graphically through Logo. This is not a course about how to work with computers. It is a course about how computers work. You will not learn how to use the most popular software products on the market. You will learn how to build programs and how the computer makes those programs work.
Texts: (Optional) Computer Science Illuminated, 7th edition, by Dale and Lewis, Jones and Bartlett Publishers, 2020, Paperback. The text is a good reference for general computer science, and a nice coffee table book, but the coverage is broad rather than deep. You can get by without the text if you take good notes and work hard. There is also an online Logo text, free for personal use.
General Education Objectives:
To learn how the computer works inside (hardware), and how it is able to perform the tasks you program (software).
To learn how to write programs to make a computer perform your own designed tasks.
To study the evolution and history of the computer from a mathematical abstraction to the foundation of e-commerce.
To appreciate and discuss the nature of artificial intelligence as discussed in primary texts.
To understand issues of privacy and how to communication is encrypted on the internet.
When you finish this course, you will have an understanding of how computers work that will stand the test of time. The principles we study will be relevant to how computers work ten years from now as well as today.
Exams: There will be one midterm (20%) and one final examination (30%). The midterm will be Friday March 21, after spring break. The final will be Thursday, May 8, 9 AM, in our lab.
Groups: All assignments, quizzes and the project will be done in groups of three people who will work together the entire semester. Everyone in each group gets the same credit. The idea is to promote discussion and experimentation in problem solving. You should immediately organize yourselves into groups. If you cannot find a group yourself, I will find one for you.
Assignments and Quizzes: Homework assignments will be weekly. There will also be a number of in-class quizzes/assignments. Together these are worth 30% of your grade.
Resources and Lecture Notes: All the programs we do in class are available in a shared folder on \\F-ssimonson01\Logo-Programs. On a PC, type \\F-ssimonson01\ into the finder window (magnifying glass), or into the Run app. On a Mac, go to "Go", then click "connect to server", then type "smb://F-ssimonson01". When asked for username and password, make sure you are connected to Hillnet securely, use your full Stonehill name like ssimonson@students.stonehill.edu and your Stonehill password. You can set up a permanent link to the location (map a network drive) to avoid having to type it all in every time - ask me or Helpdesk or TA if you need help.
Here are extensive class notes on hardware. Here is a Logo Quick Reference.
Logo Versions: We are using Terrapin-Logo. It runs on both PCs and Macs. If you want to purchase a personal copy so you can work away from school, you can buy a household license for $25. This could be split among your group -- a single license serves four people.
How to Submit an Assignment: All programs should be saved in a single file with your group members' names listed in the comments. You should submit your programs via Canvas into the appropriate "dropbox." For the longer programs, please indicate which procedure is your "main" procedure, i.e., the one used to start the program.
Project: There is a programming project that is due at the end of the semester and is worth 20% of your grade. The project, like all the homework assignments, is done in groups. Each group will demo their project to me before the final, and then email me the final version. Do not submit your project into Canvas.
Grading: There will be one midterm (20%) and one final examination (30%). The project is 20% and your assignments/quizzes are 30%. You can guarantee an A- or better with 90%, a B- or better with 80% etc. I may curve these numbers in your favor, if I feel it is warranted.
All assignments, in class labs, quizzes, and projects have specific due dates that you are expected to honor. The late penalty is two points per day. Extensions are possible in emergencies, or if you have a good reason and have made the request well in advance. In the case of a late assignment, it will be graded normally and returned to you. The number of late days is calculated separately and tallied to a total that runs throughout the semester for that individual or group. I may decide at the end of the semester, if this total number is very low, to ignore the late penalty.
Dice_Program Quiz1 Quiz2 Quiz3
You should read his famous article introducing the Turing Test and artificial intelligence, published in Mind magazine in 1950 shortly before he committed suicide.
Also, read this exchange (article and letter to the editor) about Turing's piece, which appeared in Commentary magazine in the early 1980s.
This video discusses the paper.
Good Logo Text - Available free online for personal use.
All lecture notes from class can be downloaded from the shared folder on \\F-ssimonson01\Logo-Programs, as described above (Resources and Lecture Notes).
Here are extensive class notes on hardware. Here is the example of A 7-segment LCD Decoder Circuit; it can also be found in the notes.
The movies Breaking the Code with Derek Jacobi, and The Imitation Game with Benedict Cumberbatch, show in different ways, the role of Alan Turing in the British decryption of German codes in World War II. They are both excellent films and worth watching in order to understand Turing better.
Alan Turing was a brilliant scientist and a British war hero who helped decode German communications during World War II. He was an open homosexual, in a time and place not receptive to such action, and was persecuted by his own country. He tragically committed suicide at a young age. See Alan Turing homepage, to learn about this pioneer of computer science. He was involved with the German enigma machine and cryptography, artificial intelligence, game playing programs, and the Turing machine - an abstract model of a computer which began the field of computational complexity.
Here is a video about The Turk, (1770-1854), an early AI hoax. Although too early to be real AI, it showed the receptiveness of the public to the idea of AI. This video includes a Chess game between The Turk and Napolean Bonaparte!
Here is Eliza, an early AI program related indirectly to the Turing Test.
This is the story of the greatest Checkers player in the world and his connection with Checker's programs and AI.
The Loebner prize is a modern version of the Turing Test.
This award-winning documentary and this Nature article about machine learning and the game Go shows the amazing strides AI has made in the area of learning.
ChatGPT - the newest version of machine learning based Chatbots.
1-2: Introduction, Terminology, Overview: Hardware, Software, and Systems.
Reference: Chapters 1-3, Khan Academy Review of Binary Numbers And Representing Information
3-6: Introduction to Logo Programming: Graphics, Input/Output, Selection, Repetition, Procedures, Tail Recursion, Event Driven Programming.
Tracing a program by hand. Reference: Chapters 6-7.
7-8: Advanced Logo Programming: Program Design, Algorithms, Data Structures, and Recursion. Tracing revisited. Reference: Chapter 8
9: Midterm Examination. Friday, March 1, 2023
These Notes cover the rest of the semester
10-11: Hardware: Another View of the Computer - Circuits and Machine Language. Reference: Chapters 4-5.
12: Files, Operating Systems, The Internet: How do Computer Networks Work? A Practical Discussion. Reference: Chapters 10-11, 15
13-14: Artificial Intelligence: Do Computers Think? Will They Ever? Reference: Chapter 13 and 18, Alan Turing's AI Article
15: Lab Work, Project Presentations, and Review