next up previous
Next: Warning and Encouragement Up: CMSC420 Project - Summer Previous: CMSC420 Project - Summer

Introduction and General Overview

Welcome to the Summer 2019, edition of Dr. Hugue's CMSC 420 project. A substantial portion of your grade in this course will be determined by your performance on several programming assignments (collectively referred to as The Project. 1 The time commitment required on your part varies from student to student, but expect to spend a good bit of time planning as well as coding and debugging each part of the projects.

The primary motivation of this project is to give you the experience of building portions of a real world application using the data structures and algorithms that we will study during the semester. This semester's long term goal is to mimic some of the functionality of MapQuest 2. By the end of this course, if you have worked hard and done your job well, you will have a program that is capable of drawing maps of a general area and supporting the following functions: displaying a highlighted route; calculating shortest routes (based on time or distance); generating driving instructions (complete with correct ``turn left and then go straight for 2.34 miles'' annotations); determining closest points of interest, such as all of the ``Internet Cafes'' within a 20 mile radius of College Park, MD; and just generally impressing friends and family with its awesome ability to tell you how to get to where you want to be in both plain text and picture form. And, even if things don't go smoothly, you will have had the opportunity to think about data structures, and programming in general, in new and interesting ways.

The project comprises three parts, which build upon one another to produce the desired features of an on-line mapping system. Part 1 will establish a custom database, including insertion, deletion, and search functions using elements of the JAVA API, and, of course establishing standard notation for inputs and outputs, based on XML. In later parts, you will be replacing elements of the JAVA API with custom code based on structures other than those used in JAVA. MeeshQuest functions will be added with each part, resulting in a very powerful piece of software at the end of the semester.



Subsections
next up previous
Next: Warning and Encouragement Up: CMSC420 Project - Summer Previous: CMSC420 Project - Summer
MM Hugue 2019-05-28