600.226 Syllabus: Data Structures (Spring 2000)
Where: Shaffer 3
When: MTW 11am
(Other CS
Dept. courses and up-to-date dates/places)
Course TAs:
| Name
| e-mail
| office
| phone #
| office hours
|
| Andrew (Drew) Schleit
| aschleit@jhu.edu
| CS lab
| x8412
| Mon: 3:30pm-5pm, Tue: 1pm-2pm, Wed: 1pm-2pm, 3:30pm-5pm
|
| Nelson Yang
| ncy1@jhu.edu
| CS lab
| x8412
| Mon,Wed: 12pm-3pm, Fri: 12pm-2pm
|
| Lynny (Yun Yang Liu)
| lynny@jhu.edu
| CS lab
| x8412
| Mon-Tue: 2pm-5pm, Wed: 7pm-9pm, Thu-Fri: 10am-12am
|
| John (Lyric) Stoneham
| lyric@jhu.edu
| CS lab
| x8412
| Tue: 2pm-6pm, Thu: 2pm-6pm
|
| Mukta C Srivastava
| mukta@jhu.edu
| CS lab
| x8412, home x3896
| Mon: 8am-11am, 2pm-3pm, Wed: 2pm-3pm
|
New on this course's web pages:
Have a great summer!
(and I hope to see you in the fall at 600.465, Introduction to NLP! :-))
- 04/27/00 Final exams: ROOM CHANGE: I've just received
confirmation that we can use Shafer 3 even for the extra exam on
Tuesday, 5/9, 9-12. You can still come to the corridor on the 3rd
floor, but you can also come directly to Shaf 3, as I will take
everyone there anyway.
- 04/26/00 Final exams: Main: Thursday
5/11, 2-5pm, Shaf 3. For those with a conflict: Tuesday, 5/9, 9-12
(am), meet in the corridor, 3rd floor, in front of NEB325. Please
watch the web for possible room change for the Tuesday exam.
- 04/11/00 For submitting the Projects 3
and 4: do not
use e-mail any more. There is a new
web-based
method to submit your Projects. You are now required to use it.
- 04/11/00 Answer key to Midterm version B has been uploaded.
Some pictures are still missing but most of it is there.
- 04/10/00 Homework 4 and Project
4 are open now. NB: there
are changes in the Homework 4 when compared to DS Fall'99
Homework 4; in particular, there is more of Chapter 9.
- 04/05/00 John (Lyric) Stoneham's
office hours are cancelled on 4/20, 4/25, 4/27.
- 04/04/00 Class Challenge winner:
John Lane (AS) is collecting extra 100 points (+ 200 make-up
points) for winning the class challenge. Remember, the goal was to
minimize the provided "big" Finite State Automaton (almost 7,000,000
nodes) in 250MB of memory under 1 hour of CPU (using Java). His
result: 139MB and 1630 sec. (i.e. 27 min. 10 sec.) of CPU time. To put
this result into context, it should be said that the professional AT&T
FSM Tools need for the same job over 500MB of memory (but they
are still faster, even though we are comparing here the uncomparable:
Java VM with optimized C, presumably). IMPORTANT: since the
difficulty of the challenge has been more than expected, I am offering
the lesser award (30 points plus 100 make-up points, see the challenge page) to anyone who submits a
solution fulfilling the requirements before May 3rd, 2000. I know
there are some of you working hard on it - you still have the chance!
- 03/31/00 Final Exam date fixed: 5/11
(Thursday), 2-5pm, Shaf 3.
- 03/27/00 Make-up Midterm Exam (for
those who have asked for a different date for some valid reason) will be
given on April 3 (Monday) at 4pm in NEB 325 (3rd floor, CS
Dept. graduate lounge back room). Please meet in front of the
lounge. You will be given the same 55 minutes to finish the exam, as
was the case on the regular date. Don't be late, or you will be unable to
enter the lounge!
- 03/27/00 Midterm
Exam version A answer key (with result statistics) now available on-line.
- 03/27/00 Class challenge meeting at
3:30pm Tuesday 3/28. We will meet in front of my office (NEB 326).
- 03/16/00 Homework 3 and Project
3 are open now (to take home for the spring break :-)). NB: there
are substantial changes in the Homework 3 when compared to DS Fall'99
Homework 3; in particular, Chapter 9 is included, too.
- 03/14/00 Points
for HW 1 and Project 1 now available.
- 03/13/00 Midterm
Exam texts published on the web site. Solutions to follow soon.
- 03/13/00 Class Challenge: based on
the feedback I got at the last meeting (Thu 3/9), I extend the deadline
for submitting the Challenge project to 4/3 (Monday) 11am.
- 03/10/00 Drew Schleit's office hours
on Tuesday, March 14 are cancelled. He will hold his office hours on
Wednesday, March 15, 5-6pm instead.
- 03/10/00 To answer many questions: the
midterm exam will go as far as Chapter 7.4, plus Chapter 9. However,
the style will be similar to the older exams.
- 02/25/00 Class Challenge related only: The Algorithm(s) now available online.
- 02/25/00 Class Challenge related only:
in order to make your life easier, the states in the input file (tags
<f>, <t> as well as <S> and <F>) will be continuously
numbered, starting with number 1, leaving thus zero for whatever
"null" you need it. The requirement that you have to handle general
strings for state names no longer applies. For details, see the News on the Challenge page.
- 02/24/00 List of accepted strings in Class Challenge
FSA example corrected (thanks to Eric Yang). The extra <N> tags
have been deleted, too (the SGML
format example).
- 02/24/00 Class Challenge project open.
- 02/14/00 Homework 2 and Project 2 are
open to work on.
- 02/11/00 Final exam date set
tentatively for Thursday May 11th, 2-5; see the Homeworks page. The date will be really
fixed in April, as is the usual procedure.
- 02/09/00 TA Office hours changed.
- 02/07/00 Project submission procedure
change (new e-mail: cs226@cs.jhu.edu) - please see (reload) the Project
1 home page and/or the Homeworks
And Projects page.
- 02/07/00 Project 1 open. You may start working on it.
- 02/02/00 CS lab phone extension corrected in the TA table.
- 02/01/00 Java tutorial (thanks to Drew Schleit) today at 2pm and tomorrow (2/2) at 1pm in the NT lab.
- 02/01/00 Jeremy Mullendore's (our Head
TA) course web
page set up. It contains many useful links and some more info
about the course.
- 01/31/00 Slides for the Design principles uploaded.
!! PAGE(S) STILL UNDER CONSTRUCTION !!
Prerequisites & Relation to Other Courses:
600.107 (preferred) or 600.109; 600.118 or 600.121 recommended.
This course covers the design and implementation of data structures
including arrays, stacks, queues, linked lists, binary
trees, heaps, balanced trees (e.g. AVL-trees)
and graphs. Other topics include sorting, hashing,
memory allocation, and garbage collection. Course work
involves both written homework and Java programming
assignments.
Readings:
Tentative syllabus
If an item does not dipslay a link, look for the foils at the book web site.
- Design principles
- Data Structures and Algorithms
- Object-Oriented Design Principles
- Analysis techniques
- Running Time
- Pseudo-Code
- Quick Mathematical
Review
- Analysis of
Algorithms
- Asymptotic Notation: The ``Big-Oh''
- Asymptotic Analysis
- Stacks, Queues, Lists
- Stacks
- Queues
- Linked Lists
- Double-Ended Queues
- Sequences
- Ranked Sequences
- Positional Sequences
- General Sequences
- Case Study: Bubble-Sort on a Sequence
- Trees
- The Tree Abstract Data Type
- Basic Algorithms on Trees
- Binary Trees
- Data Structures for Representing Trees
- Priority Queues
- The Priority Queue Abstract Data Type
- Priority Queue as a Sequence
- Heaps
- Dictionaries
- The Dictionary Abstract Data Type
- Binary Search
Trees
- AVL Trees
- Hash Tables
- Sets, Sorting, Selection
- Sets
- Sorting: Merge Sort, Quick Sort, Radix Sort
- Complexity of Sorting
- Selection
- Graphs
- The Graph Abstract Data Type
- Data Structures for Graphs
- Graph Traversal
- Directed Graphs
- Strings
- The String Abstract Data Type
- Brute-Force String Pattern Matching
- Regular
Expression Pattern Matching
- Tries
You might also want to look at
Prof. Goodrich's course syllabus
taught in Fall 99. This course will be very similar to that one.
Assignments & Due Dates:
The description of required homeworks and
projects. NB: Some of the homeworks/projects might (and will)
change!
And here is the Class Challenge, an extra
project (completely voluntary) project (with the possibility of great
rewards, though! :-).
Plagiarism
No plagiarism will be tolerated. If the
assignment is to be worked on on your own, please respect it. If the
instructor determines that there are substantial similarities
exceeding the likelihood of such an event, he will call the two (or
more) students to explain them and possibly to take an immediate test
(or assignment, at the discretion of the instructor, not to exceed
four hours of work) to determine the student's abilities related to
the offending work. *All* cases of confirmed plagiarism will be
reported to the Student Ethics Board.