CSC 195 - How Computers Work

Shai Simonson    226 College Center    (508) 565-1008

Email:  shai@stonehill.edu

Homepage: https://web.stonehill.edu/compsci/shai.htm


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:  MWF, 9:30 - 10:20, Computer Lab - 228 College Center.

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:  Wednesday evenings in the lab 5-7.

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:

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 final will be Wednesday, May 8, 9:00 AM, in our lab.

Midterm practice              More_Midterm_Practice_from_TA_Nick    
Final practice        More Final Practice from TA Nick

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.  There will be a standard project handout, however any group is welcome to design their own project of comparable difficulty with my help and approval.  Each group will demo their project to me before the final, and then email me the final version.  Do not submit your project into ELearn.

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.

Special Dates:  Wed. April 24 and Mon. April 29 are Passover and I will not be in class.  There will be a lab day with the TA. I will announce this in class as we get close to the date.



 

Projects and Assignments

Late Policy for Assignments

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.
 

Home Assignments:

Asg1 Asg2 Asg3 Asg4 Asg5 Asg6

In Class Assignments and Quizzes:


Dice_Program Quiz1 Quiz2 Quiz3


Project:    Four-Row Nim               (Previous year's Projects)   Tic-Tac-Toe  Connect Four

Supplemental Reading Assignment: Alan Turing and Artificial Intelligence

This video discusses the paper.

Alan Turing and AI Links of Interest


T
he 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. 

Resources and Lecture Notes


Brief Syllabus


Week

Topic

Reference: 

CS Illuminated

1-2
Introduction, Terminology, Overview:  Hardware, Software, and Systems


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.

Chapters  6-7
7-8
Advanced Logo Programming:  Program Design, Algorithms, Data Structures, and Recursion.
Tracing revisited.

Chapter 8
9 Midterm Examination
 Friday, March 1, 2023


These Notes cover the rest of the semester

10-12
Hardware:  Another View of the Computer - Circuits and Machine Language

Chapters 4-5
12-13
Files, Operating Systems, The Internet:   How do Computer Networks Work?  A Practical Discussion.

Chapters 10-11, 15
13-14
Artificial Intelligence:  Do Computers Think? Will They Ever?

Chapter 13 and 18
Alan Turing's AI Article

14-15
Lab Work, Project Presentations, and Review