CS 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, 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 a helpful teaching assistant.  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 8:30 - 9:20, 308 Stanger.

Teaching Assistant: Tom Wall, twall@student.stonehill.edu, is the teaching assistant.  He will check off your assignments, run review sessions, and assist in class and laboratory.  All exams and projects are graded by Professor Simonson.

Review Sessions:  There will be weekly review sessions on Wednesday evenings, 7:30 PM in the 308 Stanger lab.  These are not compulsary.  If the times are not convenient for you, one on one meetings with Tom or myself are always available.

Text:  Computer Science Illuminated,  3rd edition,  by Dale and Lewis, Jones and Bartlett Publishers, 2007, Paperback.

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.  

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    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:  Homeworks will be weekly and are worth 25% of your grade.

Resources and Lecture Notes:  All the programs we do in class are available in a shared directory called Logo_Stuff under Xp_ssimonson\Share.  The directory contains other useful things you can download.  For example, you may use Logo at home by downloading appropriate directories.  To access the folder, go to start->run->\\Xp_ssimonson\share.

How to Submit an Assignment:  All programs should have your group members names listed in the comments, and should be submitted via email in one file (i.e. all your procedures and programs should be in one file).  The TA or myself will show you how to do this.  You should email assignments to cs195@stonehill.edu, and not to the TA's or my own personal email.  Use my personal email for course questions, setting up appointments, and projects, but not for the weekly assignments.  This ensures that no assignments will get lost.

Project:  There is a programming project that is due at the end of the semester and is worth 25% of your grade.  The project, like all the homeworks, 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.  Please email your project to me directly at shai@stonehill.edu, and no to the TA account.  Each group will exhibit their project in class during the last week.

Grading: You can guarantee an A with 90% a B with 80% etc.  I may curve these numbers in your favor, if I feel it is needed.

Special Dates:  The class on Monday April 21 will be a day used for projects.  The TA will be there to assist.  I will be not be there that day due to Passover.



 

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

Connect Four

Alan Turing - Supplemental Reading

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 younf age.

Please look at the Alan Turing homepage, to learn about one of the pioneers 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.  You should read his famous article introducing the Turing Test and artificial intelligence, published in Mind magazine in 1950 shortly before he commited suicide. 

Other AI-Related Links


Resources


Brief Syllabus

Week

Topic

Reading

1-2 Introduction, Terminology, Overview:  Hardware, Software, and Systems Chapters 1-3, 10
3-6 Introduction to Logo Programming:  Graphics, Input/Output, Selection, Repetition, Procedures, Tail Recursion.  Tracing a program by hand.
Chapter  6
7-8 Advanced Logo Programming:  Program Design, Algorithms, Data Structures, and Recursion. Tracing revisited.
Chapters 8-9
9 Midterm Examination - March 17, Monday
10-11 Hardware:  Another View of the Computer - Circuits and Machine Language Chapters 4-5, 7
12 Files, Operating Systems, The Internet:   How do Computer Networks Work?  A Practical Discussion. Chapters 11,15,16
13 Artificial Intelligence:  Do Computers Think? Will They Ever?  Chapter 13, Alan Turing's AI Article
14-15 Lab Work, Project Presentations, and Review