Explain what approaches from class you will bring to bear on the project.
Be explicit about the techiques from the class that you will use. For example:
- Will you use data abstraction? How?
- Will you use recursion? How?
- Will you use map/filter/reduce? How?
- Will you use object-orientation? How?
- Will you use functional approaches to processing your data? How?
- Will you use state-modification approaches? How? (If so, this should be encapsulated within objects. `set!` pretty much should only exist inside an object.)
- Will you build an expression evaluator, like we did in the symbolic differentatior and the metacircular evaluator?
- Will you use lazy evaluation approaches?
The idea here is to identify what ideas from the class you will use in carrying out your project.
**Your project will be graded, in part, by the extent to which you adopt approaches from the course into your implementation, _and_ your discussion about this.**
If you will be working with existing data, where will you get those data from? (Dowload from a website? Access in a database? Create in a simulation you will build? ...)
How will you convert your data into a form usable for your project?
If you are pulling data from somewhere, actually go download it and look at it before writing the proposal. Explain in some detail what your plan is for accomplishing the necessary processing.
If you are using some other starting materials, explain what they are. Basically: anything you plan to use that isn't code.
Explain exactly what you'll have at the end. What will it be able to do at the live demo?
What exactly will you produce at the end of the project? A piece of software, yes, but what will it do? Here are some questions to think about (and answer depending on your application).
Will it run on some data, like batch mode? Will you present some analytical results of the processing? How can it be re-run on different source data?
Will it be interactive? Can you show it working? This project involves a live demo, so interactivity is good.
If you include some kind of _quantitative analysis,_ that would be good.
## Architecture Diagram
Upload the architecture diagram you made for your slide presentation to your repository, and include it in-line here.
Create several paragraphs of narrative to explain the pieces and how they interoperate.
## Schedule
Explain how you will go from proposal to finished product.
There are three deliverable milestones to explicitly define, below.
The nature of deliverables depend on your project, but may include things like processed data ready for import, core algorithms implemented, interface design prototyped, etc.
You will be expected to turn in code, documentation, and data (as appropriate) at each of these stages.
Write concrete steps for your schedule to move from concept to working system.
### First Milestone (Sun Apr 9)
Which portion of the work will be completed (and committed to Github) by this day?
### Second Milestone (Sun Apr 16)
Which portion of the work will be completed (and committed to Github) by this day?
### Public Presentation (Mon Apr 24, Wed Apr 26, or Fri Apr 28 [your date to be determined later])
What additionally will be completed before the public presentation?
## Group Responsibilities
Here each group member gets a section where they, as an individual, detail what they are responsible for in this project. Each group member writes their own Responsibility section. Include the milestones and final deliverable.
Please use Github properly: each individual must make the edits to this file representing their own section of work.