CSC 195 - How Computers Work

Shai Simonson    306 Stanger    (508) 565-1008

Email:  shai@stonehill.edu

Homepage: http://www.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:  MW, 2:30 - 3:45, 308 Stanger.

Teaching Assistants: ??Nick Falcone  Theo Slepski, and ??Megan Sifferlen are the teaching assistants. They will help you in lab, and check your programming assignments.

Lab and Help Sessions:  The lab in 308 Stanger is open for your use anytime there is no class being held there.  There will be help sessions with the TA every Monday and Wednesday evenings at 7:30.  You can also meet with the TA or myself privately.

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,  6th edition,  by Dale and Lewis, Jones and Bartlett Publishers, 2016, 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%). 

Intro Hardware Review        A 7-segment LCD Decoder Circuit      Midterm practice          Final practice

Groups:  All assignments, quizzes and the project will be done in groups of three people who will work together the whole 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 daily.  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 called "LogoStuff" under F-ssimonson\LogoStuff\.  The folder contains other useful things you can download.  To access the folder, go to start->run->\\F-ssimonson\LogoStuff.  

Logo Versions:  We are using Terrapin-Logo.  It runs on both PCs and Macs.  Stonehill has a $20 discount code (Stonehill1718) if you want to purchase a personal copy.

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 via ELearn into the appropriate "dropbox."  For the longer programs, please indicate the "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:  None this semester.



 

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:     Summer ( Tic-Tac-Toe)         Connect Four

Supplemental Reading Assignment: Alan Turing and Artificial Intelligence

You should read his famous article introducing the Turing Test and artificial intelligence, published in Mind magazine in 1950 shortly before he committed suicide.  This movie discusses the paper. Also, read this exchange (article and letter to the editor) about Turing's piece, which appeared Commentary Magazine in the early 1980s.

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 cryptography, artificial intelligence, game playing programs, and the Turing machine - an abstract model of a computer which began the field of computational complexity. 

    Other AI-Related Links


Resources


Brief Syllabus


Week

Topic

Reference: 

CS Illuminated

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

Chapters 1-3
3-6
Introduction to Logo Programming:  Graphics, Input/Output, Selection, Repetition, Procedures,
Tail Recursion, Event Driven Programming.  Tracing a program by hand.

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

Chapters 6.5, 7.6, 8.4
9 Midterm Examination
  Friday, March 24
10-12
Hardware:  Another View of the Computer - Circuits and Machine Language

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

Chapters 10.1, 11.1, 15.1, 15.2
13-14
Artificial Intelligence:  Do Computers Think? Will They Ever?

Chapter 13.1
Alan Turing's AI Article

14-15
Lab Work, Project Presentations, and Review