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

 

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

 

class notes
Chapter 1
6,7,11,15,17,27,40
9/7

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
none
Chapter 2
7,13,16,17,28
9/14 Computer numbers
3.4-3.6
none
 
Chapter 3
25,27,32,34,35, 36, 46, 47
9/19 Machine Structures - an overview
4 - all except 4.5
none
 
9/21

Machine / Assembly Language 1

5 - all sections

 
9/26 Machine / Assembly Language 2
7.1
& Notes
 
9/28 Machine Structures 2 - CPU and Memory ... the Boot Process
Notes
 
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)
9.7
   
  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.

 

Date
Topic
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
10/17

Karel

test file

10/24 Karel II
10/31

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
12/5

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