Date | Topic | Notes | Articles/News |
Sept 5 | Introduction and overview.
What is (not) Computer Science? What is an algorithm? |
L1.ppt | pdf
[optional: GS:Ch. 1] |
Faster supercomputer aiding weather forecasts.
|
Sept 6 | Introduction to algorithms.
Pseudocode elements. Basic instructions. Conditional instructions. |
L2.ppt |L2.pdf
[optional: GS:Ch. 2] |
IT field now faces worker shortage.
Robots run like human. Computer game for the blind. Sony creates curios AIBOs. ROBOCUP |
Sept 7 | Lab 1 (Introduction to algorithms, part 1 (basic instructions and if-then-else)) | ||
Sept 12, 13 | [Bowdoin Robocup with Henry Work.]
Loop instructions. Computing 1+2+...+n and variations. Gauss formula. |
L3-4.ppt | pdf
[optional: GS:Ch. 2] |
Forecasting Katrina
Mac securiy |
Sept 14 | Lab 2 (Introduction to algorithms, part 2 (loops)) | Robotic vehicle races | |
Sept 19, 20 | Lists.
Iterating through a list: sequential search and variations (computing smallest, largest, sum, average, etc). Searching: Binary search. |
L5-6.ppt |
pdf
[optional: GS:Ch. 3] |
|
Sept 21 | Lab 3 (Introduction to algorithms, part 3 (lists)) | E-voting security by Avi Rubin | |
Sept 26, 27 | Analysing the efficiency of algorithms.
Worst-case and best-case efficiency and order of magnitude. Analysis of sequential search, binary search, computing sums, finding smallest, largest, etc. Orders of magnitude 1, lg n, n, n2 Sorting: selection sort. |
L7-8.ppt |
pdf
[optional: GS:Ch.3] |
EFF on e-voting |
Sept 28 | Lab 4 (Introduction to algorithms, part 3 (efficiency)) | Okay George, Have you got a girlfriend?
|
|
Oct 3, 4 | Introduction to programming.
The infamous Hello world! program. Basic types and operations (I/O, loops, if-then-else, loops). Class work: a program that reads 3 numbers and prints out the largest Max3.java. Class work: a program that solves a quadratic equation. |
java-basics.ppt |
pdf
JavaStarter The assignment statement.pdf The if statement.pdf The while statement.pdf A programming guide.pdf |
|
Oct 5 | EXAM 1 (Algorithms) | Algorithms. | |
Oct 10 | Fall break | ||
Oct 11 | Fall break | ||
Oct 12 | Lab 5 (Java: basics) | Java reference tips.pdf | |
Oct 17, 18 | Arrays in Java.
Reading and printing an array: ReadArray.java Examples: Seaching through an array: SearchArray.java, RepSearchArray.java, Class work: A red-cell count histogram program Strings. Example: StringStarter.java Array of strings. Class work: my imdb MovieSearch.java | working version |
Arrays.pdf
String documentation |
|
Oct 19 | Lab 6 (Java: Arrays, strings [palindrome, Caesar's cypher]) | ||
Oct 24, 25 | Methods in Java.
Void methods. Example: Circle.java | FunQuest.java Non-void methods. Example: Sum.java | Feet2Inches.java, Class work: ArrayBasicFun.java | working version |
||
Oct 26 | Lab 7 (Java: Methods [printing patterns, guessing game, poetry]) | ||
Oct 31, Nov 1 | Methods in Java, continued. For loops.
Class work: Divisors.java Class work: Bank account | for.pdf | |
Nov 2 | Lab 8 (Java: more methods [Bank account and playing Craps]) | ||
Nov 7, 8 | Recursion.
Examples: RecPrint.java | RecPrintToo.java | RecPrintThree.java Class work: Exercises (min, sum, palindrome). Example: Anagram.java |
Some practice problems | |
Nov 9 | Lab 9 (Java: recursion) | ||
Nov 14 | EXAM 2 | Java Programming | |
Nov 15, 16, 21 | Computer Organisation
Binary numbers and conversions. Boolean logic, logic gates, logic circuits. Von Neumann architecture. A simple computer model and machine code. The fetch-decode-execute cycle. |
GS:Ch. 4,5,6 | |
Nov 22 | Lab 10 (Computer organization) | ||
Nov 23 | Thanksgiving break | ||
Nov 28, 29 | Turing machines. Halting problem. Church-Turing thesis. Computability, complexity classes. | GS:Ch. 10 | |
Nov 30 | Lab 11 (Turing machines) | ||
Dec 5 | Review: recursion, computer organization, Turing machines (Lab 9, 10, 11).
More problems.
Course opinion forms. |
||
Dec 6, 7 | Service learning and social issues: Student presentations.
W. Donahoe & A. Steltzer: Merymeeting mentor project website. S. Cunningham & N. Tomaino: football website. S. Kamin & K. Read: rugby website. Social issues: R. Clark, J. Howard, D. Kraft. |
Guidelines: service | social | |
Dec 16 at 2pm | FINAL EXAM | Recursion, Computer Organization, Turing machines. |
Students are expected to follow the Bowdoin Computer Use Policy and the Academic Honor Code.