CMSC 420, Section 0301 - Data Structures

Fall 2018

Assignments

For the first part of the programming assignment, as well as for all the homeworks, you should hand in printed copies to the professor / TA at the time of the lecture. For the rest of the programming assignments, you should submit electronic copies via the GRACE cluster.

Homework

AssignmentDue Date
Assignment 1September 6th
Assignment 2September 20th
Assignment 3October 9th
Assignment 4October 16th
Lisp Assignment 1October 18th
Lisp Assignment 2October 25th
Lisp Warm upOctober 30th
Lisp APPEND FLAT homeworkNovember 13th

Quadtree Projects

Link to project description

Link to the enhanced project description NOTE: This is included because it includes hints towards some of the geometry used in the project. The operations being described are for Rectangle Quadtrees, not MXCIF [go for the project description for the actual details of the MXCIF project]. Only refer to this when looking for hints on the geometry, which would be on pages 6 and 7.

Quadtree Drawing Routines [readme] (These files are used to help you look at your output.)

Testing & Submission Instructions

Link to the applet demo for MX-CIF quadtree (Required JAVA permission for Browser [readme]).

  • [More concise specs for part 3 functions (beta)]
  • AssignmentDue DateSample Test DataAssignment NO.Executeable File Name
    Part 1September 4thN/AN/AN/A
    Part 2September 13th[input][output]2part2
    Part 3September 29th
  • [sample_1 input ][sample_1 output]
  • [sample_2 input ][sample_2 output]
  • [sample fig]
  • Part 4October 11th[input][output]4part4
    Note: output.demo in part3 corresponds to the coordinate system in the "demo", and output.notes in part3 corresponds to the one in the enchanced description of project.

    Lisp Projects

    AssignmentDue Date
    LISP Project 3November 8th
  • [starter file]
  • [sample input ]
  • [sample output ]
  • LISP Project 4November 20th
  • [starter file]
  • [sample input ]
  • [sample output ]
  • LISP Project 5December 6th
  • [starter file]
  • [sample input ]
  • [sample output ]
  • Lisp Information

    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.


    Web Accessibility