CMSC 132H - Object Oriented Programming - Fall 2009
Staff and office hours
- William Pugh, professor; office hours MW 1:30pm-2:30pm, AVW 4121 (pugh@cs.umd.edu)
- Raul Guerra, TA; office hours ThF 2-3pm, AVW 1112 (rguerra at cs dot umd dot edu)
Notes
Graded coding exercises/projects
- RobotMaster
coding project, due Monday, September 14th
- Plurality, due September 18th
- Swing Starter, due Monday, September 21st
- Move
to Front Cache exercise posted, due Monday, Oct 9th, 6pm
- Polymorhphic binary search tree, Due Friday, Oct 23rd, 6pm
- Huffman exercise, Due Friday, Oct 30th, 6pm
- Demo exercise, Due Monday, 10am, Nov 2nd
Resources
Slides presented in class
- Monday, August 31st: getting started
- Friday, September 4th
- For Wednesday, read Koffman, Chapter 3, please multidimensional arrays and enums
- Alternatively, Java Precisely, Sections 8.3, 9.1-9.6, 13, 14
- Wednesday, Sept 9th
- Friday, September 11th
- For Monday, read Koffman, Chapter 2 (post questions to Google moderator)
- Robot master due Monday
- Monday, September 14th
- Prep for quiz on Wednesday
- Activities for study groups
- iPhone development: Get XCode/iPhone dev kit up and running, and/or find Objective-C learning sources
- Android development: Get Android dev kit up and running
- Puzzles: Review problems from Google code jam 2009, qualifying round and round 1
- Advanced Java coding: Find, download and build an open source Java application from source.
- Wednesday, September 16th
- Friday, September 18th
- Wednesday, September 23th
- Move
to Front Cache exercise posted, due Monday, Oct 9th, 6pm
- Sand and Deal or No Deal examples posted to examples directory in your CVS repository; feel
free to check them out, play with them.
- Nelsons slides:
- Monday, September 28th
- LinearDataStructures.pdf
- Prepare for quiz on Wednesday on linked list node insertion/deletion, implementing
stacks using arrays and implementing queues using circular arrays.
- Wednesday, Sept 30th
- Friday, Oct 2nd
- Monday, Oct 5th
- Wednesday, Oct 7th
- Friday, Oct 9th
- Monday, Oct 12th
- Slides
- Dynamic programming code distributed to linuxlab account; ungraded
- Read Koffman, Chapter 8 (Trees) for Wednesday
- Wednesday, Oct 14th
- Friday, Oct 16th
- Monday, Oct 19th
- Wednesday, Oct 21st, Midterm
- Java language features
- enums
- multidimensional arrays
- classes, interfaces, inner classes
- generics, including PECS (e.g., ? extends E and ? super E)
- Algorithmic complexity
- Hashing, hash codes, hash tables, open and closed hashing
- linked data structures
- Java Collections: Iterators, Lists/queues/stacks, Sets, Maps
- Recursion
- Dynamic programming, edit distance
- Binary search trees
- Heaps, binary search trees
- Projects: Move to front cache, dense bag, markov text generation
- Search tree project suggestions/hints
- Test case: insert 2, insert 1, insert 3, delete 2; check
search tree properties
- keyList should contain keys in order
- write a toString method for NonEmptyTree and EmptyTree;
it will make your life easier
- Don't check to see if a reference to a Tree is null
it never should be
- Minimize the use of instanceof. The delete method, and maybe min/max are the
only method where it might be at all applicable.
It doesn't belong in your search or insert methods.
- Use recursion, not loops
- Friday, Oct 23rd
- Monday, Oct 26th
- Wednesday, Oct 28th
- Huffman trees;
Koffman 8.6, pages 447-450, Wikipedia entry
- Huffman exercise, Due Friday, Oct 30th, 6pm
- Demo exercise, Due Monday, 10am, Nov 2nd
- Anything cool
- Something based on Sand or Picture demo code
- Android, iPhone, twitter or facebook app
- something other than just compiling an example app
- Make up 20 or more points by fixing Markov Text or Binary search tree code
- Friday, Oct 30th
- Monday, Nov 2nd
- Wednesday, Nov 4th
- Friday, Nov 6th: Networking
- Monday, Nov 9th
- Wednesday, Nov 11th: Synchronization
- Excercise distributed to linuxlab accounts, due Thursday, Nov 12th, 6pm
- Friday, Nov 13th: Advanced Concurrency
- Monday, Nov 16th
- Wednesday, Nov 18th
- Samir Khuller's
distiguished scholar teacher talk (PDF, PPT)
- Puzzles for programmers and pros
- Read all of it for Friday
- Turn in on Friday solution to Preferential Romance, question 1
- Test data for preferential romance will be added to your graph exercise project later today
- Friday, Nov 20th: Sorting
- Monday, Nov 23th: More Sorting
- Wednesday, Nov 25th: Javascript
- Monday, Nov 30th
- Friday, Dec 4th: sort performance
- Monday, Dec 7th: Final exam
- Wednesday, Dec 9th
- Friday, Dec 11th
- Tuesday, Dec 15th, 4-6pm, CSIC 3117: Final exam