UserPreferences

CS206


CS206 Data Structures

This is the homepage for CS206 Data Structures Fall 2003 at Bryn Mawr College, Philadelphia, PA.

This course is the introduction to the fundamental algorithms and data structures of computer science: sorting, searching, recursion, backtrack search; lists, stacks, queues, trees, graphs, dictionaries. It also introduces the student to the analysis of algorithms.

CS206Discussion


  1. CS206 Data Structures
    1. General Information
    2. Materials
      1. Texts
      2. Software
    3. Schedule
    4. Grading
    5. Links
    6. Code Samples

General Information

Instructor: Douglas Blank, 246B Park Hall, (610)526-6501

Email: dblank@cs.brynmawr.edu

Web sites:

Instructor: http://dangermouse.brynmawr.edu
Edventure: http://edventure.brynmawr.edu
Notes (this page): http://wiki.cs.brynmawr.edu/?CS206

Teaching Assistant: Ioana Butoi (ibutoi@brynmawr.edu)

TA Lab Hours: Mon. 8-10 p.m., Tue. 9-11 a.m.

Lecture Hours: Tuesdays & Thursdays, 2:30 p.m. to 4:00 p.m.

Lecture room: Park Science Building, room 338

Laboratory Hours: TBA

CS Laboratory: Park 232 (need access code)

Materials

Texts

Objects First with Java:
A Practical Introduction using BlueJ
(Latest edition)
David J. Barnes & Michael Kölling
Prentice Hall / Pearson Education, 2003
ISBN: 0-13-044929-6
Java Structures:
Data Structures in Java for the Principled Programmer
Second Edition
Duane A. Bailey, Williams College
McGraw-Hill Publishing
ISBN: 0072399090 

In addition, you will need a good Java reference. Here are some recommendations:

Software

We will be using the Java programming language for all laboratory exercises. Software for writing and running Java programs is available on the Linux computers in Room 232. The Linux server (http://bubo.brynmawr.edu/) can be accessed via a terminal session from any networked computer on campus via a SSH client.

Schedule

This schedule may change. Please check here often.

      September               October               November               December
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6             1  2  3  4                      1       1  2  3  4  5  6
 7  8  9 10 11 12 13    5  6  7  8  9 10 11    2  3  4  5  6  7  8    7  8  9 10 11 12 13
14 15 16 17 18 19 20   12 13 14 15 16 17 18    9 10 11 12 13 14 15   14 15 16 17 18 19 20
21 22 23 24 25 26 27   19 20 21 22 23 24 25   16 17 18 19 20 21 22   21 22 23 24 25 26 27
28 29 30               26 27 28 29 30 31      23 24 25 26 27 28 29   28 29 30 31
                       30
Week/Day Dates Topic Assignment due
1 T Sep 1 - Sep 5 Intro Discuss: What is Data Structures?
1 R Sep 1 - Sep 5 Review Introduction to Bluej

2 T Sep 8 - Sep 12 Review Discuss Bluej: Chapter 1
2 R Sep 8 - Sep 12 Class definitions Discuss Bluej: Chapter 2.1 - 2.4. Turn in ex. 2.1 - 2.8
3 T Sep 15 - Sep 19 Class definitions Discuss Bluej: Chapter 2.5 - 2.17
3 R Sep 15 - Sep 19 Java: Review Java syntax Ticket Machine
4 T Sep 22 - Sep 26 Objects Bottles of Beer on the Wall, Smallest
4 R Sep 22 - Sep 26 Streams Input/Output, Try/Catch (see also Chapter BJ#11)
5 T Sep 29 - Oct 3 Linked List Discuss Chapter JS#8, Linked Lists
5 R Sep 29 - Oct 3 Unique List CS206:Project #1 due, linked list
6 T Oct 6 - Oct 10 Analysis Discuss JS#4
6 R Oct 6 - Oct 10 Analysis Discuss JS#4
7 T Oct 13 - Oct 17 Fall Break
7 R Oct 13 - Oct 17 Fall Break
8 T Oct 20 - Oct 24 Graphs: class definition CS206:Project #2 due, unique list; Discuss BJ#7; assign game
8 R Oct 20 - Oct 24 Graphs: traversals CS110Review#1
9 T Oct 27 - Oct 31 Data/Program Abstractions CS206AdventureGame
9 R Oct 27 - Oct 31 File IO, Hashmaps, command-line args Project #3 due (basic world)
10 T Nov 3 - Nov 7 Java built-in data structures; more sample recursion Exam #1 Due
10 R Nov 3 - Nov 7 Finding shortest path; Project #4 due (data file world)
11 T Nov 10 - Nov 14 In class writing assignment: something interesting
11 R Nov 10 - Nov 14 Turn in description of handling objects
12 T Nov 17 - Nov 21 Review CS110Review#2
12 R Nov 17 - Nov 21 Exam #2, in class
13 T Nov 24 - Nov 28 Tree Processing
13 R Nov 24 - Nov 28 Thanksgiving Break
14 T Dec 1 - Dec 5 Trees
14 R Dec 1 - Dec 5 Trees
15 T Dec 8 - Dec 12 Review and Presentations CS110ReviewFinal
15 R Dec 8 - Dec 12 Review and Presentations
Exams Dec 15 - Dec 19

Grading

All work will receive a grade between 0.0 and 4.0 (typically the Bryn Mawr scale 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0, or 0.0 will be used). At the end of the semester, final grades will be calculated as an average of all grades according to the following weights:

Unless explicitly specified, all assignments are due at the beginning of the class on the date due. No credit will be awarded for any late work.

For all programming exercises, hand in a printout of your Java program file along with a printout of the screen output of your program showing an example run. On the top of every Java program include the following comment header:

/* Name:     Your Name 
   Exercise: Exercise#
   Date:     Date assigned        
   Purpose:  A short description of the program/exercise.  
*/

Links

Code Samples