CSC231 Homework 11
--D. Thiebaut 23:23, 3 December 2008 (UTC)
THIS IS A MINI-ASSIGNMENT, BUT MAXI-IMPORTANT!
The deadline for this assignment is Monday, Dec 8th, at 11:59 p.m. plus 1 minute. Instead of submitting your assignment, send an email to thiebaut@cs.smith.edu with the URL of your wiki page describing the information requested.
Project: Software description
Overall description
Describe in words (a few paragraphs) what you want your project to accomplish when you present it to the class. Remember, we are considering these projects prototypes, not finished products. Every project, even in start-up companies, require a proof of concept, something that will convince investors that you got something interesting that works and should be funded. This is what your project is: a proof of concept showing that your original "wild" idea of a month and a half ago actually can work, and that you have an implementation (maybe not full scale) of it.
My rule for grading the project: I pay great importance to working project. I'd rather see something scaled down that works, than something very sophisticated in concept that does not work. My experience is that the real world behaves the same way. Convince people that your idea is good by showing that a version of it is working. It's easier then to make the mental leap to a fully sophisticated working solution that may take another 6 months of work to make it work.
Your assignment is to describe in your wiki the general software solution that you will implement for your project. It should include a description of the different tasks and features of the 3 different software pieces required by your project. You do not need to provide code. Instead provide bulleted lists or pseudo-code to describe what each component does:
- The arduino sketch. Explain what setup() will do, and what loop() will perform. What particular inputs and/or outputs will it interact with? Will you be using interrupts? If so, explain how.
- The driver.c program. Will it provide specialized functions that the assembly program will be calling? If so, list them.
- The assembly program. Will it be an endless loop? Will it run forever once started? Will it run until the user stops it? How will this happen? At the PC keyboard? By pressing a key on the arduino system? How will the assembly talk to the arduino? What information will it get from it? What information will it send to the it? Will the assembly program perform some computation on the data it gets from the arduino? What data structure(s) will be needed and used by the assembly program?
Put all this information together in an easily understandable fashion in your wiki pages.
I would prefer that you create a new wiki page dedicated just to the software. When you have finished your project, this page will contain a description of your software, along with the code.
Submission
Please send me the URL of your page, of the type
http://tango.csc.smith.edu/dftwiki/index.php?title=CSC231-xx_Software_Description
in an email message before the due date. The subject should be hw 11. It will help me not get lost in the maze of project wiki pages that we have created this semester! :-)