CS 2010 - Fundamentals of Computing

Course Syllabus

Fall 2005

Administrative Details:

Course Goals: This semester's course in "Fundamentals of Computing " has several goals:

Homework: In this course we will use a textbook, but because we are doing a lot of fairly new things, much of the material will come from class notes and handouts. It is essential that you study this supplementary material as well as the assigned sections of the text. In most labs, you will be asked to finish the lab as homework. This means you must come to the Memorial 312 lab outside of lab time and complete the work. Some weeks may require 2-3 hours of extra work to finish the lab; other weeks may require 4-5 hours. This is in addtion to normal study of the text, your notes and supplementary materials

Topic Outline
Note: several of the "links" in this document are in Adobe PDF format.
If it is not installed on your computer, Adobe Reader may be downloaded and installed on your computer for free. 
See http://www.adobe.com


These dates are currently being revised


Chapter /
Other Materials
(see below for class notes)
Textbook Homework
8/31 Introduction to course and IIntroduction to HTML


class notes
Chapter 1

HTML & JavaScript

1 -- all sections

16 -- all sections

see lab of 9/14 ... for homework assignment on this topic ... you will be asked to "finish the lab for homework"
9/12 Computer representation and storage of text & numbers
Chapter 2 - all sections
3.1-3.3 except "Text Compression" on pp 69-73
Chapter 2
9/14 Computer numbers
Chapter 3
25,27,32,34,35, 36, 46, 47
9/19 Machine Structures - an overview
4 - all except 4.5

Machine / Assembly Language 1

5 - all sections

9/26 Machine / Assembly Language 2
& Notes
9/28 Machine Structures 2 - CPU and Memory ... the Boot Process
10/3 TBA
Study Everything
10/5 Exam 1 ----- Exam questions may come directly from material in the textbook while others will be from class notes.      
10/12 Karel the Robot
10/17 Algorithms 1 -- Karel Algorithms
6.1 - 6.2

Programming Languages 2 - describing languages through bubble diagrams and BNF

10.1, 10.3


Robotics 1 - the basics -- what is a robot?

Program Translation process, virtual machines, intermediate code, firmware

Program Translation -- 8.1

Imperative Languages -- 8.3 (pp 241-270)

NQC Tutorial

NQC Programmer's Guide

The Art of Lego Design


NQC 2 - variables, conditional execution, looping

Robotics -- 13.6  



  NQC 2 - functions and tasks - multitasking      
  Robot I/O Systems ... sensors      
  Algorithms 2 - Describing robot actions through logic flow diagrams... robot algorithms      
  Algorithms 3 - Recursion (Hanoi and BST)
  Exam 2 ... study notes and handouts
Karel and Robotics ... and biographies on pp. 155, 214, 251, 304, 376
 (Exam preparation hints)  
  Object Oriented Programming 1 - Introduction to "Alice". What is an object?: properties, methods and queries using Alice
Ch 6.3 -- pp 173-186

OOP 2 - Animations ... storyboards, concurrent versus sequential actions


OOP 3 - Inheritance, Interaction and Events

Ch 8.4 -- pp 271-274
  OOP 4 - Repetition and decisions in Alice methods
  Algorithms 4 - Searching, Sorting and Algorithm Complexity
Ch 17.3 pp 545-551
  Algorithms 5 - State Diagrams and Search Trees in AI  
  AI, Robots and Humanity -- the Turing Question
Ch 13 1-3 (pp 418-430)
pp 436-437
  Review and Final Questions
12/12 Final Exam 8:00 - 10:30 AM

Study everything since the last exam AND
biographies on pp 396, 459, 481, 511, 552-553



Laboratory Projects

Note:     Many of these labs have homework based on the lab. All labs (reports or other requirements) and all homework is due by the beginning of the next lab period; late labs and homeworks will not be accepted.    A lab not finished on Tuesday must be completed during the week .  You may give me your lab work after lab, in class, during the week or at the beginning of the following week's lab. However it will not be accepted after we have begun the succeeding week's lab.


9/5 No lab ... Labor Day
9/12 Building Web pages    downloads ...    SlacApp.class      Slacker.class
9/19 Chips and Gates          AnswerSheet
9/26 Assembly Language Programming on the Decimal RISC Computer (DRC) ... Part 1
10/3 Assembly Language Programming on the DRC ... Part 2
10/10 No Lab ... Columbus Day


test file

10/24 Karel II

Robotics 1 ... NQC and simple mobile robots

11/7 Robotics 2 ... Robots with decision control
11/14 Robotics 3 ... sequential versus multitasking algorithms
11/21 Alice 1 ... set up of initial scenes

Hitchhikers Guide to Alice ... tutorial and reference guide
11/28 Alice 2 ... movement of objects

Alice 3 ... events and parameters


Class Notes

The instructor's notes are available for review by topic (below).

NOTE: These notes are not a complete explanation of the material. They are simply the instructor's notes from which he presents the class lectures, a reminder to the instructor of what to explain next.  They are not a substitute for the textbook but can be useful to give a "history" of what was covered in class.

Robotics Links

Other Stuff