Announcements - Course Info - Assignments - Resources
part2.cc which you should
edit to implement the decoder. Your decoder should read from the
standard input and write to the standard output.
submit.sh.
drawing_c.h.
CSI 1121, TuTh 9:30am-10:45am
Instructor: Hanan Samet
Office: AVW 4425
Office hours: Tu 11am-noon
Teaching assistant: Saeed Alaei
Office: TA Room (AVW 1112)
Office hours: Monday 1:30pm-2:30pm, Friday 3:00pm-4:00pm
(Please email the TA if none of the above hours work for you)
H. Samet. Foundations of Multi-Dimensional and Metric Data Structures. Morgan Kaufmann, 2006. ISBN 0-12-3694469.
H. Samet. Notes on Data Structures. University of Maryland, College Park, MD, 2003 (available for purchase in lecture note form at the University Book Center)
All projects should compile and will be tested on the GRACE cluster, and specifically on one of the linux.grace.umd.edu machines. To access GRACE, you will need a Glue account. Click here for information about gaining access to and using the GRACE cluster, as well as requesting a Glue account.
Once your account is activated, you should be able to access GRACE by using an SSH client. Click here to see a list of OIT-supported SSH software. Use your client to connect to linux.grace.umd.edu using your Directory ID and password.
If you have trouble connecting to GRACE or questions about class accounts, please notify the teaching assistant.
| Exams | Date |
|---|---|
| Midterm Exam | Thursday, Oct 21 |
| Final Exam | Tuesday, Dec 14, 8:00am-10:00am |
| Assignment | Due Date |
|---|---|
| Assignment 1 | Sep 14th 2010 |
| Assignment 2 | Sep 23rd 2010 |
| Assignment 3 | Oct 5th 2010 |
| Assignment (Searching) | Oct 19th 2010 |
| LISP Assignment 1 | Oct 19th 2010 |
| LISP Assignment 2 | Oct 28th 2010 |
| LISP Assignment 3 | Oct 28th 2010 |
| LISP Assignment 4 | Nov 16th 2010 |
Link to the updated project descriptoin
| Assignment | Due Date | Sample Test Data | Other | All Test Data |
|---|---|---|---|---|
| Part 1 | 7 Sep 2010 | N/A | ||
| Part 2 | 14 Sep 2010 | [sample input ][sample output] | [starter files] | [all tests] |
| Part 3 | 30 Sep 2010 | [sample input ][sample output] | [starter files] | [all tests] |
| Part 4 | 26 Oct 2010 | [sample input ][sample output] | [starter files] |
| Assignment | Due Date | Test Data | Other |
|---|---|---|---|
| LISP Project 1 | 11 Nov 2010 | [sample input ][sample output] | [starter files] |
| LISP Project 2 | 23 Nov 2010 | [sample input ][sample output] | [starter files] |
| LISP Project 3 | 9 Dec 2010 | [sample input ][sample output] | [starter files] |
These lecture slides are a natural complement to the textbooks, and are provided here for your information. Each slide set has two versions: "Animated" and "Cumulative". The Animated slides contain multiple overlays per slide, which are traversed in sequence. This makes for more understandable viewing on your computer. The Cumulative slides contain only the slides after all layers have been added, which saves paper if you need to print the slides.
| List Structures | [anim] | [cum] |
| Trees | [anim] | [cum] |
| Graphs | [anim] | [cum] |
| Winged Edge Data Structure | [anim] | [cum] |
| Triangulations | [anim] | [cum] |
| Searching Techniques | [anim] | [cum] |
| Sorting Techniques | [anim] | [cum] |
| Dynamic Storage Allocation | [anim] | [cum] |
| Garbage Collection | [anim] | [cum] |
| Representation of Point Data | [anim] | [cum] |
| Rectangle Data | [anim] | [cum] |
| Range Trees | [anim] | [cum] |
| Hashing Methods | [anim] | [cum] |
| Nearest Neighbor | [anim] | [cum] |
| Bulk Loading | [anim] | [cum] |
| Quadtrees | [anim] | [cum] |
| Surface Data | [anim] | [cum] |
| 3d Data | [anim] | [cum] |
| Lisp | [anim] | [cum] |
| Laths | [anim] | [cum] |
All course materials are copyright © Hanan Samet 2010. All rights reserved. Students are permitted to use course materials for their own personal use only. Course materials may not be reproduced by any means (mechanical, electronic, or any other) and/or distributed without the express written permission of Hanan Samet.
Some useful Lisp resources:
The Lisp interpreter that we'll be using is called Allegro Common Lisp (or Franz Lisp). It is installed on the GRACE cluster, so just connect as normal to linux.grace.umd.edu.
Once connected, run the command tap allegro81 to get access to the Lisp interpreter. To start up the interpreter, run mlisp. You should now have a Lisp prompt, and you can begin entering Lisp commands and seeing the results.
If you have your Lisp program stored in a file called, for example, helloworld.lisp, you can load the program by entering (load "helloworld") at the Lisp prompt. Note that you don't need to include the .lisp extension in the argument to load the program.