Intro to Computer Science
2007-2008
Syllabus

Unit 1: Information Representation
Readings:
- The Most Complex Machine by David J. Eck, chapter 1.1
- Code by Charles Petzold, Chapters 1-3
Exercises:
Hands-on Exercises: Photoshop Tutorials from Adobe Photoshop 7.0 Classroom in a Book
- Lesson 3: Basic Photo Corrections
- Lesson 4: Working with Selections
- Lesson 5: Layer Basics
- Lesson 8: Painting and Editing
- Lesson 9: Basic Pen Tool Techniques
- Optional: Lesson 6: Masks and Channels
- Optional: Lesson 7: Retouching and Repairing
- Optional: Lesson 10: Vector Masks, Paths, and Shapes
- Optional: Lesson 11: Advanced Layer Techniques
- Optional: Lesson 12: Creating Special Effects
Unit 2: Circuits
Readings, part 1:
- Code by Charles Petzold, Chapter 4: Anatomy of a Flashlight
- Code by Charles Petzold, Chapter 5: Seeing Around Corners
Readings, part 2:
- Code by Charles Petzold, Chapter 6: Telegraphs and Relays
- Code by Charles Petzold, Chapter 10: Logic and Switches
- Code by Charles Petzold, Chapter 11: Gates (Not Bill)
In-class Exercise on Logic: A Usual Day at Unusual School
In-class reading & exercise: Converting truth tables into Boolean expressions
Readings: Karnaugh Mapping
Online (Virtual) Circuit Builders
Unit 3: Programming in Scratch
Download Scratch at home (don't register just yet)
Watch Scratch videos
Work through Scratch cards
Unit 4 : Programming with Karel J Robot
Readings:
- Karel J Robot: A Gentle Introduction to the Art of Object-Oriented Programming In Java, Chapter 2
Primitive Instructions and Simple Programs
Downloads:
Homework 1
Homework 2
Homework 3.1: Harvester
Homework 3.2 -- USE THE SAME BLUEJ PROJECT AS IN HOMEWORK 3.1
Bonus Project 1
Sparse Harvester (using the same BlueJ project as in Homework 3)
Homework 4
Homework 5
Homework 6
Homework 7
Midterm Quiz/Test/Exam
Interlude: Technology and Elections
Web Site Design and Implementation
Multimedia Programming using Python
Readings:
- Introduction to Computing and Programming in Python: A Multimedia Approach , Chapters 2-3
Introduction to programming, modifying pictures using loops
Downloads
- CD provided with JES software, multimedia files, and mediaTools
- if no CD, then
Assignments
- reduce the red in a photo by 80%
- increase the red in a photo by 20%
- create a negative of a photo
- convert a photo to grayscale
- reduce the size of a photo by 50%
- double the size of a photo
- take a photo of a person against a green screen and put the person against some other background
- use edge detection to create a line drawing of a photo
Database Design and Implementation
Readings:
Downloads:
- MAMP (PHP development environment for Mac)
- WAMP (PHP development environment for Windows)
Learn SQL: