Computer Science Fundamentals (CS153 2003S)

CS153 2003S Course Syllabus

This is a highly approximate syllabus. Expect topics, assignments, ordering, and almost everything else to change.

Week One: Starting Scheme

Class 01 (Monday, 20 January 2003) Introduction to The Course

Assignments:

Overview:

Class 02 (Tuesday, 21 January 2003) Starting Scheme

Assignments:

Related Pages:

Overview:

Class 03 (Wednesday, 22 January 2003) Basic Types: Symbols, Lists, and Numbers

Assignments:

Handouts:

Related Pages:

Overview:

Class 04 (Friday, 24 January 2003) Procedures

Assignments:

Related Pages:

Overview:

Week Two: Control Structures

Class 05 (Monday, 27 January 2003) Conditionals

Due

Assignments:

Related Pages:

Overview:

Class 06 (Tuesday, 28 January 2003) Conditionals Lab

Assignments:

Related Pages:

Overview:

Class 07 (Wednesday, 29 January 2003) Recursion with Lists

Assignments:

Related Pages:

Overview:

Class 08 (Friday, 31 January 2003) Recursion with Numbers

Assignments:

Related Pages:

Overview:

Week Three: Procedures, Revisited

Class 09 (Monday, 3 February 2003) Local Bindings

Assignments:

Related Pages:

Overview:

Class 10 (Tuesday, 4 February 2003) Preconditions and Postconditions

Due

Assignments:

Related Pages:

Overview:

Class 11 (Wednesday, 5 February 2003) Local Procedures

Assignments:

Related Pages:

Overview:

Class 12 (Friday, 7 February 2003) Variable-Arity Procedures

Assignments:

Related Pages:

Overview:

Week Four: More Types

Class 13 (Monday, 10 February 2003) Strings

Assignments:

Related Pages:

Overview:

Class 14 (Tuesday, 11 February 2003) CGI Scripting

Assignments:

Related Pages:

Overview:

Class 15 (Wednesday, 12 February 2003) Pairs and Pair Structures

Assignments:

Related Pages:

Overview:

Class 16 (Friday, 14 February 2003) Vectors

Assignments:

Related Pages:

Overview:

Week Five: Higher-Order Procedures and More

Class 17 (Monday, 17 February 2003) Higher-Order Procedures

Assignments:

Related Pages:

Overview:

Class 18 (Tuesday, 18 February 2003) More Higher-Order Procedures

Assignments:

Related Pages:

Overview:

Class 19 (Wednesday, 19 February 2003) Algorithm Analysis

Related Pages:

Overview:

Class 20 (Friday, 21 February 2003) More Algorithm Analysis

Due

Assignments:

Related Pages:

Overview:

Week Six: Algorithms

Class 21 (Monday, 24 February 2003) Tail Recursion

Related Pages:

Overview:

Class 22 (Tuesday, 25 February 2003) Searching

Assignments:

Related Pages:

Overview:

Class 23 (Wednesday, 26 February 2003) Sorting

Assignments:

Related Pages:

Overview:

Class 24 (Friday, 28 February 2003) Fast Sorting Algorithms

Assignments:

Related Pages:

Overview:

Week Seven: Scheme, Concluded

Class 25 (Monday, 3 March 2003) Sorting Laboratory

Due

Assignments:

Related Pages:

Class 26 (Tuesday, 4 March 2003) Randomness and Simulation

Assignments:

Related Pages:

Overview:

Class 27 (Wednesday, 5 March 2003) Program Input

Assignments:

Related Pages:

Overview:

Class 28 (Friday, 7 March 2003) Files

Due

Assignments:

Related Pages:

Overview:

Week Eight: Introduction to Java

Class 29 (Monday, 10 March 2003) Getting Started with Object-Oriented Programming

Assignments:

  • Related Pages:

  • Overview:

    Class 30 (Tuesday, 11 March 2003) Getting Started with Java

    Assignments:

    Related Pages:

    Overview:

    Class 31 (Wednesday, 12 March 2003) Java Lab

    Related Pages:

    Overview:

    Class 32 (Friday, 14 March 2003) Objects, Methods, and Classes

    Due

    Assignments:

    Related Pages:

    Overview:

    Break

    Break runs from 5:00 p.m. on Friday, March 17, 1998 to 8:00 a.m. on Monday, April 3.

    Week Nine: More Java Basics

    Class 33 (Monday, 31 March 2003) Conditionals

    Assignments:

    Related Pages:

    Overview:

    Class 34 (Tuesday, 1 April 2003) Loops

    Assignments:

    Related Pages:

    Overview:

    Class 35 (Wednesday, 2 April 2003) When Things Go Wrong

    Assignments:

    Related Pages:

    Overview:

    Class 36 (Friday, 4 April 2003) Arrays

    Related Pages:

    Overview:

    Week Ten: Object-Oriented Design

    Class 37 (Monday, 7 April 2003) Exam 2

    Assignments:

    Related Pages:

    Overview:

    Class 38 (Tuesday, 8 April 2003) Designing Objects

    Assignments:

    Related Pages:

    Overview:

    Class 39 (Wednesday, 9 April 2003) Inheritance

    Overview:

    Class 40 (Friday, 11 April 2003) Polymorphism

    Assignments:

    Related Pages:

    Overview:

    Week Eleven: Lists

    Class 41 (Monday, 14 April 2003) Polymorphism Example

    Related Pages:

    Overview:

    Class 42 (Tuesday, 15 April 2003) Introduction to Abstract Data Types and Data Structures

    Related Pages:

    Overview:

    Class 43 (Wednesday, 16 April 2003) Some List ADTs

    Related Pages:

    Overview:

    Class 44 (Friday, 18 April 2003) List ADT Design, Continued

    Due

    Related Pages:

    Week Twelve: Other Linear Structures

    Class 45 (Monday, 21 April 2003) Sorting Out Sorting

    Class 46 (Tuesday, 22 April 2003) Implementing Lists with Arrays

    Due

    Assignments:

    Related Pages:

    Overview:

    Class 47 (Wednesday, 23 April 2003) Implementing Lists with Nodes

    Related Pages:

    Overview:

    Class 48 (Friday, 25 April 2003) LInear Structures

    Assignments:

    Related Pages:

    Overview:

    Week Thirteen: Dictionaries

    Class 49 (Monday, 28 April 2003) Priority Queues, Heaps, and Heap Sort

    Assignments:

    Related Pages:

    Overview:

    Class 50 (Tuesday, 29 April 2003) The Dictionary ADT

    Related Pages:

    Overview:

    Class 51 (Wednesday, 30 April 2003) Implementing Dictionaries with Lists

    Related Pages:

    Overview:

    Class 52 (Friday, 2 May 2003) Implementing Dictionaries with Hash Tables

    Related Pages:

    Overview:

    Week Fourteen: Wrapup

    Attendance is particularly important this week.

    Class 53 (Monday, 5 May 2003) Implementing Dictionaries with Binary Search Trees

    Assignments:

    Related Pages:

    Overview:

    Class 54 (Tuesday, 6 May 2003) Algorithm Design, Revisited

    Due

    Related Pages:

    Overview:

    Class 55 (Wednesday, 7 May 2003) Evaluation

    Related Pages:

    Overview:

    Class 56 (Friday, 9 May 2003) Wrapup

    Related Pages:

    Overview:

     

    History

    The history will not include small changes to the summaries of individual classes or perhaps even on the arrangement of courses. You can find more information on such changes in the individual outlines.

    Friday, 12 January 2001 [Samuel A. rebelsky]

    Tuesday, 7 January 2003 [Samuel A> Rebelsky]

     

    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 Fri May 9 09:31:38 2003.
    The source to the document was last modified on Thu Jan 16 14:02:05 2003.
    This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS153/2003S/Handouts/syllabus.html.

    You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

    Samuel A. Rebelsky, rebelsky@grinnell.edu