This page will be updated regularly. Please visit (and reload) often.
All TA Office hours will be held in the undergraduate lab except where specified otherwise.
- MTW 11-11:50
- Shaffer 100
- Subodh Kumar.
- 218A New Engineering Building
- Office Hours:
- Monday 12-1, Wednesday 1-2.
Or by appointment.
- See TA Info
Final Review by Nat Duca on Sunday (May 12) at 6pm.
|Final Exam: May 13, 9am-12pm, in regular classroom (Shaf 100)
|You will be tested on all of the material covered in class
(that includes the basics of sorting and graphs but no part of Ch 11),
but the bulk of the questions will be from the second half of the course.
Course covers the design and implementation of data structures
including sequences, trees, and graphs. Other topics include
sorting, searching and hashing, using JAVA. An overview of JAVA
will be provided. Prereq: 600.107 or 600.109. Recommended:
600.118 or 600.121
Goodrich, M. and Tamassia, R.
Data Structures and Algorithms in Java 2ed,
John Wiley and Sons, Inc., 2000.
Other books on JAVA
Java in a nutshell, 3ed. ,
Arnow & Weiss.
Introduction to Programming using java,
- Design principles
- Data Structures and Algorithms
- Object-Oriented Design Principles
- Analysis techniques
- Running Time
- Quick Mathematical
- Analysis of
- Asymptotic Notation: The ``Big-Oh''
- Asymptotic Analysis
- Stacks, Queues, Lists
- Linked Lists
- Double-Ended Queues
- Ranked Sequences
- Positional Sequences
- General Sequences
- Case Study: Bubble-Sort on a Sequence
- 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
- The Dictionary Abstract Data Type
- Binary Search
- AVL Trees
- Hash Tables
- Sets, Sorting, Selection
- Sorting: Merge Sort, Quick Sort, Radix Sort
- Complexity of Sorting
- The Graph Abstract Data Type
- Data Structures for Graphs
- Graph Traversal
- Directed Graphs
- The String Abstract Data Type
- Brute-Force String Pattern Matching
Expression Pattern Matching
Go to the top
There will be three written assignments (50 points each) and three programming assignments
in addition to a mid-term exam (150 points) and a final exam (200 points).
The programming assignments will be graded 80% on correctness and 20% on
readability and documentation. All assignments must be turned in
There is a 10% penalty for each day that the assignment is late.
No points will be awarded if it is more than 5 days late.
Exception requires a note from the dean's office or one from a physician.
| Work || Date Due || Points
| Homework 1 || Feb 7 || 50
| Homework 2 || Feb 15 || 50
| Project 1 || Mar 10 || 150
| Project 2 || April 7 || 150
| Project 3 || May 6, 9am || 200
| Mid-term Exam || Mar 27, 11am-12pm || 150
| Final Exam || May 13, 9am-12pm || 250
Computer Science Academic Integrity Code
Academic honesty is required in all work you submit to be graded. You must solve
all programming assignments entirely on your own. This means you must not show your
program code, problem solutions, or work to other students. However, you may discuss
assignment specifications with others in the class to be sure you understand what is
required by the assignment. You may use code listed in the textbook or provided
by the professor but from no other source.
Falsifying program output or results is prohibited. Please see your
professor if there are any questions about what is permissible. Cheating detection
software will be employed. Students who are found cheating (this includes people who
make their work available to others) will suffer a serious course grade penalty in
addition to being reported to university officials.
You must abide by JHU's Ethics Code, available at
Go to the top
-- The URL of this page is: http://www.cs.jhu.edu/~subodh/226 --