Final Project
Overview
Create a masterpiece that demonstrates your understanding of basic
programming principles in the modality of your choice. Illustrate
that you understand the fundamental concepts of this discipline and
can create an original example specific to your own interests.
Requirements
As this course covered specific technologies, they are exected as a
minimum standard for your final project. Unless otherwise cleared
with your instructor, your project should have the following elements:
- Be written in a programming language described in this class
(Miracle, JavaScript, or Python) unless you've cleared another
language choice with the instructor.
- Demonstrate basic control structures (if statements, loops,
functions)
- Demonstrate basic data structures (variables, arrays or lists,
objects)
- Solve some identified problem
- Work as designed without crashing
Preparatory Documentation
Note some documentation will be required before the project is
complete. This is a completely normal software engineering practice,
as you must have a basic requirements analysis in place before working
on any significant project. The following documentation will be
required one week before the final project due date:
- A one-page (or more) summary of the problem to be solved.
- What will the project do?
- Who are the main users
- What kinds of problems will they solve with the system?
- What technical skills can you expect of users?
- Do you expect any hardware limitations? (bandwidth, old
browsers)
- Will this be a GUI design? console? CGI? Why did you choose
this modality?
- What are your basic design decisions? (color scheme, page
layout, CSS design.)
- A data plan (If you use a relational database).
- An ER diagram of the data structure (if appropriate)
- The data should be in at least third normal form
- SQL script may be supplied at this time
- A system overview.
- Diagram the main states of your system.
- See diagrams for spyMaster, QuizMachine in book for
examples
- Describe the typical user's path through the system.
Actual Project
The project itself must be available online at the designated time
(although it doesn't necessarily need to run online if it's a
standalone app.) This project must consist of binary code (class or
jar files,) the actual running project and the remainder of the
documentation, including:
- Source code listing for each code file in the project
- Source code listing for each SQL script used in the project
- Passwords for any password-protected fields, so instructors can
log in as administrator
- Any other documentation you feel is appropriate (usability
tests, CSS stylesheets, etc)
- You will be required to present your project in class. You will
have 5 minutes to demonstrate the main features of your project.
- All work must be be original. If you use external libraries,
algorithms etc. you must document your sources.