![]() |
|
Description Schedule Policies Quizzes/Homework Grading
This is where you check for news and information regarding recent additions (assignments, announcements, etc) to this site. The latest revision will be put at the bottom of the list.
3/30/2011
added link to Dr. Taylor's LinkedList wiki
3/8/2011 updates to syllabus for first 2 weeks
3/6/2011 Initial version
This page was last updated on 05/16/2011.
Lecture sessions meet Monday, Wednesday, and Friday in S362 from 10:00am to 10:50am.
Lab sessions are on Tuesday in S362 from 9:00am to 10:50am.
As stated in my general course policies, attendance is mandatory for all lectures and labs. Email me when you foresee yourself to be absent. You'll get a grade of 0 for your assignment for an unexcused absence from lab. Be sure to read the entire document for all relevant policies that apply to this course.
This course covers the organization of data and the algorithms that act upon them. The topics of stacks, queues, trees and sets are introduced. Fundamentals of algorithm performance are also introduced, with an emphasis placed on time complexity analysis. Applications to data structure searching and sorting, memory allocation and file management are included. Laboratory activities include the application of data structures from standard libraries.
Please consult the official course description for detailed objectives.
|
Syllabus
Week | Day | Topics | Reading | Lab (Tuesday) |
---|---|---|---|---|
1 |
M | 1, 2.1, Collections Homework 1 due Tuesday 8am |
||
W |
Arrays and
Collections: Array-based primitive & object management |
2.2-2.3, A.8, A, B, C
Sample Code: |
||
F |
Generics in Java ArrayWrapper exercise |
|||
2 |
M | Algorithm Analysis - introduction |
2.4 |
Quiz 1 - JCF basics, benchmarking |
W |
2.5-2.6
Sample Code: |
|||
F | Linked lists continued |
2.7 Dr. Taylor's LinkedList in pictures and song |
||
3 |
M |
The Iterable and Iterator interfaces for-each revisited |
2.8
|
Quiz 2 - ArrayList implementation, JCF interfaces |
W | Algorithm Analysis - again LinkedList exercise |
Homework 3 | ||
F | Linked lists continued Java Collections Framework |
2.9-2.11 | ||
4 |
M | Review | Study Guide for Exam 1 |
Lab 4:
Dictionary |
W | Exam 1 | |||
F | 3.1-3.4 | |||
5 | M | Queues | 4.1-4.3, 4.5 |
Lab 5:
Guitar Synthesizer due Monday 4/11 Noon (assignment and demonstration) |
W | Recursion | 5.1-5.2 Sample Code: |
||
F | Recursion exercise | 5.3, 5.5 | ||
6 |
M | Binary Trees | Sample Code: Sorter.java 6.1-6.2 |
Quiz 3: Recursion
Lab 6:
Recursive Word Search |
W | Sample Code: binarytree.zip |
|||
F |
Binary Search Trees Recursive operations |
6.3-6.4 | ||
7 |
M |
Removing elements Review |
|
Lab 7:
Morse Encoder |
W |
Exam 2 Bring a calculator |
Study Guide | ||
F | Spring Break | |||
Spring Break | ||||
8 |
M |
Hashing and Hashmaps Homework 6 |
7.1-7.2 Sample Code: |
Quiz 4 Lab 8: Morse Decoder |
W | Collision handling in Hashmaps | 7.3-7.4 | ||
F |
TreeMaps TreeSets |
7.5-7.6 | ||
9 | M | HashSet Dictionary exercise |
SampleCode: HashExercise.java |
Quiz 5 Lab 9: Thesaurus Hash Table due Tuesday 5/17 Noon |
W | Rotations and Balanced Trees | Sample Code: MapDemoApp.zip9.1 |
||
F | Red/Black Balancing | 9.2, 9.3 | ||
10 |
M | Cloning | Sample Code: CloningDemo.zip |
Quiz 6 |
W |
How to pick a Data Structure Algorithm Analysis Revisited |
|||
F |
Final Review Course/Instructor Evaluation |
|||
11 |
Common
Final Exam Tuesday 5/24 11am-1pm S362 |
My general course policies apply to this course.
Quizzes or Homework will be given or assigned each week.
You are encouraged to work with your classmates on homework, so that you can more fully understand the problem and discuss approaches to solution. However, you should work out the solutions to problems individually. Homework problems will be kept short, and will be due the next class period after which they are assigned unless stated otherwise in the homework description.
Quizzes, when given instead of homework, will be given at the beginning of the Lab session. No quiz will be given the week of the Exams. No make-up quizzes will be given.
Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.
Criterion | Weight |
Labs | 30% |
Quizzes | 25% |
Hour Exams | 25% |
Final Exam | 20% |
Follow this link for more information on the tools we use for this course.
All source code submitted must use JavaDoc commenting conventions and meet the minimum documentation standards outlined below.
.