[Skip to Body]
Primary:
[Front Door]
[Current]
[Glance]
-
[Honesty]
[On Teaching and Learning]
Groupings:
[EBoards]
[Examples]
[Exams]
[Handouts]
[Homework]
[Labs]
[Outlines]
[Readings]
[Reference]
Misc:
[SamR]
[Java 1.5 API]
[Espresso]
[TAO of Java]
[CS152 2004F]
This is an abbreviated course syllabus. Like everything else in this course, it is likely to change.
Weeks: 1, 2, 3, 4, 5, 6, 7, 8, break, 9, 10, 11, 12, 13, 14.
Week 1: Course Basics | |||
(01) Monday, January 24, 2005 About the Course About the course. Grounding ourselves. Some basic administrative issues. Programming paradigms. An introduction to data structures and algorithms. Assignments: Homework 1: Rational Numbers. |
(02) Tuesday, January 25, 2005 An Introduction to Object-Oriented Programming Object-Oriented Programming ADTs and Data Structures Exercise: Rational Numbers Due: Homework 1: Rational Numbers. Assignments: Read An Introduction to Unix in MathLAN. Homework 2: Course Guidelines. |
(03) Wednesday, January 26, 2005 An Introduction to Unix Questions and answers Lab Assignments: Read Espresso: An Introduction to Java. Due: Homework 2: Course stuff. |
(04) Friday, January 28, 2005 An Introduction to Java (1) Java basics. Detour: Packages. Compiling and running programs. Your first Java program. Assignments: Read Espresso: An Introduction to Java. Read Espresso: Packages in Java. Read Espresso: Java in the MathLAN. |
Week 2: Designing Objects | |||
(05) Monday, January 31, 2005 An Introduction to Java (2) Review readings. Lab. Assignments: Read Basic Input and Output in Java. |
(06) Tuesday, February 1, 2005 Input and Output in Java Lab. Assignments: Read Espresso: Strings in Java. |
(07) Wednesday, February 2, 2005 Strings in Java (1) Brief introduction to strings Q & A Lab Assignments: Read Espresso: Numeric Values in Java (available Thursday). |
(08) Friday, February 4, 2005 Strings in Java (2) Questions Lab Reflection |
Week 3: Object Fundamentals | |||
(09) Monday, February 7, 2005 Numeric Values in Java String wrapup. Lab. Assignments: Read Espresso: Writing Your Own Classes. |
(10) Tuesday, February 8, 2005 Object Basics (1) What is a class? The three components of classes: fields, methods, and constructors. |
(11) Wednesday, February 9, 2005 Object Basics (2) Constructor details. Kinds of classes. Standard methods. |
(12) Friday, February 11, 2005 Object Basics Lab Lab. Reflection. |
Week 4: Control | |||
(13) Monday, February 14, 2005 Conditionals (1) Boolean expressions in Java. Basic conditionals: the if statement.
Lab.
|
(14) Tuesday, February 15, 2005 Conditionals (2) Review Standard comparison methods Lab |
(15) Wednesday, February 16, 2005 Conditionals (3) Questions and answer. Lab. |
(16) Friday, February 18, 2005 Cancelled |
Week 5: Miscellaneous | |||
(17) Monday, February 21, 2005 Exceptions Techniques for Handling Errors. Problems in Programs. Exceptions: Java's Primary Error-Handling Technique. Dealing with Procedures that Throw Exceptions. |
(18) Tuesday, February 22, 2005 Exceptions Lab Question. Lab. Reflection. |
(19) Wednesday, February 23, 2005 Loops Iterative Repetition. While Loops. Do Loops. For Loops. Lab. |
(20) Friday, February 25, 2005 Documentation and JavaDoc Why document? Kinds of documentation. Javadoc basics. |
Week 6: Object-Oriented Design Issues, Revisited | |||
(21) Monday, February 28, 2005 An Initial Problem: Laying Out Text Object-oriented design, revisited. Motivating problem: Text layout. Basic classes: Lines and Chunks. Assignments: Exam 1 (due Friday). |
(22) Tuesday, March 1, 2005 Interfaces and Polymorphism Representing Operations. Your first operation: Surround. Simplifying things with Java Interfaces. |
(23) Wednesday, March 2, 2005 Text Composition Lab Review. New code. Informal lab. |
(24) Friday, March 4, 2005 Reuse through Inheritance Polymorphism. Reuse. Inheritance. Inheritance in Java. Special issue: Constructors. Example. Due: Exam 1. |
Week 7: Linear Structures | |||
(25) Monday, March 7, 2005 Arrays Introduction to Arrays. Arrays in Java. An Application: Fibonacci Numbers. An Application: Box Packing. |
(26) Tuesday, March 8, 2005 Stacks and Their Implementation Collections. Linear structures. The Stack ADT. Implementing stacks. |
(27) Wednesday, March 9, 2005 Queues and Their Implementation Review of homework. Queues, revisited. Problems with the array-based implementation. Implementing queues with nodes. Priority queues. |
(28) Friday, March 11, 2005 Priority Queues Priority queue basics. Applying priority queues. Implementing priorty queues. |
Week 8: Algorithm Analysis | |||
(29) Monday, March 14, 2005 Algorithm Analysis (1) An Example: Exponentiation. Comparing Algorithms. |
(30) Tuesday, March 15, 2005 Algorithm Analysis (2) Example, revisited. Asymptotic Analysis. Asymptotic Analysis in Practice. |
(31) Wednesday, March 16, 2005 Algorithm Analysis (3) Review Lab The role of experimentation Using the notation: Eliminating constants Using the notation: Simplifying running times |
(32) Friday, March 18, 2005 Discussion of Exam 1 General notes Calculators Questions |
Spring Break | |||
Week 9: Miscellaneous | |||
(33) Monday, April 4, 2005 Heaps and Heap Sort Review: Priority Queues. Trees. Tree Terminology. Heaps. Implementing Heaps. |
(34) Tuesday, April 5, 2005 Lab on Heaps and Heap Sort |
(35) Wednesday, April 6, 2005 Cancelled |
(36) Friday, April 8, 2005 Dictionaries (1): The Dictionary ADT Introduction to dictionaries Applications of dictionaries A Dictionary ADT Comparing dictionaries and databases Implementing dictionaries with arrays Assignments: Exam 2 |
Week 10: Dictionaries | |||
(37) Monday, April 11, 2005 Generics: Paramterized Types Heterogenous vs. homogeneous types. Java's generic types (parameterized types). Using generic types in linear structures. Using generic types in dictionaries. |
(38) Tuesday, April 12, 2005 Dictionaries (2): An Array-Based Implementation Binary search trees. BSTs and dictionaries. Lab. Reflection. |
(39) Wednesday, April 13, 2005 Dictionaries (3): Binary Search Trees Binary search trees. BSTs and dictionaries. Lab. Reflection. |
(40) Friday, April 15, 2005 Dictionaries (4): Hash Tables The Idea of Hashing. Hash Functions. Hashing in Java. Handling Hashing Conflicts. Due: Exam 2. |
Week 11: Miscellaneous | |||
(41) Monday, April 18, 2005 Dictionaries (5): Hash Table Lab Short review. Lab. |
(42) Tuesday, April 19, 2005 Vectors Vector philosophy. Vector methods. Lab. |
(43) Wednesday, April 20, 2005 Pause for Breath Time for lab. |
(44) Friday, April 22, 2005 Continuing in CS |
Week 12: Lists | |||
(45) Monday, April 25, 2005 List ADTs What else is a list? Two ways to iterate lists: Cursors and Positions Three kinds of lists: Simple, Ordered, and Sorted |
(46) Tuesday, April 26, 2005 Implementing Lists with Arrays |
(47) Wednesday, April 27, 2005 Linked Lists |
(48) Friday, April 29, 2005 Discussion of Exam 2 Problem 1: Implementation Issues Problem 2: Making Change Problem 3: Randomized Lists Problem 4: Heaps |
Week 13: Sorting | |||
(49) Monday, May 2, 2005 An Introduction to Sorting The problem of sorting Carefully specifying that problem Testing a sorting method |
(50) Tuesday, May 3, 2005 Quadratic Sorts Testing sorting Bubble sort, and why not to use it Selection sort Insertion sort |
(51) Wednesday, May 4, 2005 Faster Sorts Review Divide and conquer sorting Merge sort Iterative merge sort Asymptotic analysis of merge sort Quicksort Asymptotic analysis of Quicksort |
(52) Friday, May 6, 2005 Distribution of Exam 3 Discussion of exam 3 Assignments: Exam 3. |
Week 14: Wrapup | |||
(53) Monday, May 9, 2005 Sorting Lab A short lab |
(54) Tuesday, May 10, 2005 An Overview of Computer Science What is computer science? Revisited Key subfields of computer science |
(55) Wednesday, May 11, 2005 Evaluation and Wrapup Evaluations The subject matter of the course Final statements |
(56) Friday, May 13, 2005 Discussion of Exam 3 |
This document is automatically generated from a number of other documents. Hence, I may not always remember to update the history.
Friday, 12 January 2001 [Samuel A. Rebelsky]
Course at a Glanceform.
Tuesday, 7 Janaury 2003 [Samuel A. Rebelsky]
Tuesday, 14 January 2003 [Samuel A. Rebelsky]
[Skip to Body]
Primary:
[Front Door]
[Current]
[Glance]
-
[Honesty]
[On Teaching and Learning]
Groupings:
[EBoards]
[Examples]
[Exams]
[Handouts]
[Homework]
[Labs]
[Outlines]
[Readings]
[Reference]
Misc:
[SamR]
[Java 1.5 API]
[Espresso]
[TAO of Java]
[CS152 2004F]
Disclaimer:
I usually create these pages on the fly
, which means that I rarely
proofread them and they may contain bad grammar and incorrect details.
It also means that I tend to update them regularly (see the history for
more details). Feel free to contact me with any suggestions for changes.
This document was generated by
Siteweaver on Wed May 11 10:55:20 2005.
The source to the document was last modified on Fri Jan 21 11:20:31 2005.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS152/2005S/Handouts/glance.html
.
You may wish to
validate this document's HTML
;
;
Check with Bobby