The course syllabus.
Instructor's Home Page and current
schedule.
The reading assignments.
Definitions etc.
Two of the key ideas in this course is the notion of abstraction and the concept of an algorithm.
Other important definitions.
Here is a list of the algorithmic patterns and specific algorithms carefully studied during the semester.
A suggested guide to expressing one's algorithms in Python.
In addition to studying algorithms, we have also focused on computational complexity. Here are some links that help one understand this important concept
Webopedia - An useful encyclopedia of computer (science) terminology.
The Spring 2012 XU Karel/Scratch/Kodu Contest:
As an extra credit opportunity consider participating in the Spring 2011 XU Monty-Karel/Scratch/Kodu Programming Contest. The contest deadline is Tuesday, April 24, 2012.
Homework Assignments:
The Examples from class.
See below for other Simple Computer-based extra credit opportunities.
To prepare for this assignment, download Scratch, install the program, work through the on-line tutorial (found under Support tab on the Scratch site), work through the MazeWalk2.sb program (right-click to download this Scratch pgm.) demonstrated in class, and try to create your own game. This is a self-directed learning activity and will not be covered in any serious depth via lecture/class.
The babySaver.py, babySaver2.py
and windowCloser.py programs developed in class.
Here is the Figure Eight Runner problem from class - a good example of Top-Down design
For those having trouble running the world builder (Windows Vista/7 users), here are some prebuilt worlds to use:
walkAroundBlock(Fig2-7).kwld,
fetchNewspaper(Fig2-8).kwld,
groceryPickUp(Fig2-10).kwld, and
olympicTraining(Fig2-12).kwld
Right-click-ing each file affords you the option to download and save the file.
Extra Credit Opportunities:
Compute the product of two input card values: A x B ==> ? - due Thursday 3/22/12
Show, using only NAND gates, how to construct an "AND" circuit, and "OR" circuit and a "NOT" circuit.
Show, using only NOR gates, how to construct an "AND" circuit, and "OR" circuit and a "NOT" circuit. - due Thursday 2/23/12
Software Environments
A listing of the relevant JES Commands.
Note: This is a java (jar file) program. You must have java installed on your machine for this to run.
Install Python on your home/personal computer, and downlowd and extract MontyKarel onto your computer/USB key drive. Here are the instructions for installing Python and MontyKarel on your computer (or how to find Python on a public lab machine). Try running the included program firstKarelPgm.py -- found in the MontyKarel folder to test the installation.
Install Scratch on your home/personal computer. Simply visit the Scratch Website and following the download/installation instructions found there.