Principles of Computer Science
Week 1
- 5/18/06 - Lecture 1
- What is Computer Science? What will this course will cover? Class information stuff. Introduction to the Internet. (History, how it works, etc.)
- In Lab: Lab 1 | Introduction to HTML programming.
- 5/19/06 - Lecture 2
- More HTML. Introduction to CSS. Representing color.
Week 2
- 5/22/06 - Lecture 3
- More CSS. Also, check out the CSS Tutorial. Or the W3 Schools CSS Tutorial.
- 5/23/06 - Lecture 4
- The internet and networks in general. (Also, graph theory and social networks.)
- In Lab: Lab 2 | CSS webpage projects
- 5/24/06 - Lecture 5
- Introduction to problem solving and algorithms.
- 5/25/06 - Lecture 6
- Introduction to Java.
- In Lab: Lab 3 | Graphs and Algorithms
- 5/26/06 - Lecture 7
- More Java. Primitive data types, operators, the
if
statement.
Week 3
- 5/29/06 - Lecture 8
- More Java. Introduction to References and Objects.
- Two Types: Applications vs. Applets.
- Reading: Textbook Chp. 2
- 5/30/06 - Lecture 9
- More Java. The
String
class. Loops. Writing Methods.
- In Lab: Lab 4 | Java programming with data types and operators.
- 5/31/06 - Lecture 10
- More Java. In-class loop demo.
- 6/01/06 - Lecture 11
- More Java. Finishing in-class loop demos. Demos of Java methods.
- In Lab: Lab 5 | Playing a game.
- 6/02/06 - Lecture 12
- Java. Understanding Method behavior. Scope of identifiers (names).
Week 4
- 6/05/06 - Lecture 13
- Introduction to Arrays.
- 6/06/06 - Lecture 14
- More on Arrays.
- Covering Midterm Topics
- In Lab: Lab 6 | Accessing Arrays
- 6/07/06 - Lecture 15
- Finishing up Arrays
- Short Array Example
- Midterm Practice Exam
- 6/08/06 - Lecture 16
- Introduction to applets and graphics.
- In Lab: Midterm Review Session
- 6/09/06 - No Lecture
- Midterm Exam
Week 5
- 6/12/06 - Lecture 18
- Binary Numbers and Boolean Logic
- 6/13/06 - Lecture 19
- Computer Architecture
- Compilers and OS.
- In Lab: Lab 7 | Boolean Logic
- 6/14/06 - Lecture 20
- Starting on algorithmic complexity. Linear search and binary search.
- The log function. O-notation and &Theta-notation
- 6/15/06 - Lecture 21
- Sorting: Selection sort, insertion sort, and bubble sort.
- In Lab: Lab 8 | Building Software Together
- 6/16/06 - Lecture 22
- A.I.
Week 6
- 6/19/06 - Lecture 23
- Intractable problems and Algorithmic Complexity.
- Parallel Algorithms.
- Reading: Textbook Chp. 13, 14
- 6/20/06 - Lecture 24
- Recursion.
- In Lab: Lab 9 | Towers of Hanoi
- 6/21/06 - No Lecture
- Discussion of Digital Ethics Topics
- 6/22/06 - Lecture 26
- Cryptography.
- In Lab: Work day
- 6/23/06 - Lecture 27
- Discussion of Digital Ethics Topics / Special topic. (Web 2.0? Mashups? Social networks? digg?)
Week 7
- 6/26/06 - Lecture 28
- Special topic / projects / or debates. Finals review materials out.