![]() |
Wellesley College, Summer 2003
CS111 Syllabus |
CS111 is an introduction to the problem solving foundations of computer science. Computer science is the study of imperative ("how to") knowledge, which is at the heart of any problem solving activity. Imperative knowledge is expressed via algorithms, which are descriptions of computational processes that can be encoded as programs written in a programming language. Programs communicate imperative knowledge between people; they can also be executed by computers.
In this course, you will learn "big ideas" about solving problems, developing algorithms, and organizing programs. These ideas include:
You will get hands-on experience with these ideas by reading, modifying, debugging, designing, writing, and testing programs. Example programs will involve graphics, user interfaces, and text manipulation.
This semester we will be using the Java programming language as our main tool for exploring the above ideas. Although you will learn a significant amount about Java along the way, the focus of the course will be on the big ideas, not on the details of Java programming.
Week 1. Monday, June 16. |
|||
|
Lec #1: Introduction Lecture Topics:
|
Assignments handed out:
|
Lab #1
|
|
Tuesday, June 17. |
|||
|
Lec #2: Java Syntax and Semantics Lecture Topics:
|
Assignments due:
|
||
Wednesday, June 18. |
|||
|
Lec #3: Methods I Lecture Topics:
|
Assignments due:
|
Lab #2
|
|
Thursday, June 19. |
|||
|
Lec #4: Methods II Lecture Topics:
|
Assignments due:
|
||
Friday, June 20 |
|||
|
Lec #5: Methods III Lecture Topics:
|
Assignments due:
|
Lab #3
|
|
Week 2. Monday, June 23. |
|||
|
Lec #6: Conditionals Lecture Topics:
|
Assignments due:
|
Lab #4:
|
|
Tuesday, June 24 |
|||
|
Lec #7: Recursion I Lecture Topics:
|
Assignments due:
|
||
Wednesday, June
25
|
|||
|
Lab starts at 10am, ends at noon
Lab #5:
|
Assignments due:
|
Lecture starts at 1:30pm
Lec #8: Recursion II Lecture Topics:
|
|
Thursday, June
26
|
|||
|
Lab starts at 10am, ends at 12:30pm
Lab #6:
|
Assignments due:
|
||
Friday, June
27
|
|||
|
Lec #9: Lists I Lecture Topics:
|
Assignments due:
|
Midterm starts at 2pm. Covers material up to (including) Lecture 7 and Lab 5 |
|
Week 3. Monday, June 30. |
|||
|
Lec #10: Lists II Lecture Topics:
|
Assignments due:
|
Lab #7:
|
|
Tuesday, July 1 |
|||
|
Lec #11: Iteration Lecture Topics:
|
Assignments due:
|
||
Wednesday, July 2
|
|||
|
Lab starts at 10am, ends at noon
Lab #8:
|
Assignments due:
|
Lecture starts at 1:30pm
Lec #12: Java graphics, objects Lecture Topics:
|
|
Thursday, July
3
|
|||
|
Lab starts at 10am, ends at 12:30pm
Lab #9:
|
Assignments due:
|
||
Friday, July
4: Holiday, NO CLASS
|
|||
Week 4. Monday, July 7 |
|||
|
Lec #13: Animation World Lecture Topics:
|
Assignments due:
|
Lab #10:
|
|
Tuesday, July 8 |
|||
|
Lec #14: Arrays Lecture Topics:
|
Assignments due:
|
||
Wednesday, July 9 |
|||
|
Lec #15: Data abstraction Lecture Topics:
|
Assignments due:
|
Lab #11:
|
|
Thursday, July 10 |
|||
|
Lec #16: Review Lecture Topics:
|
Assignments due:
|
||
Friday, July
11
|
Final exam is 3 hours long. You may take it at any time between 10am and
4pm in room 257.
Extra credit problems (if any) due at 6pm. Have a great summer! |
||