Difference between revisions of "CSC231 Homework 11"
(→Overall description) |
|||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
--[[User:Thiebaut|D. Thiebaut]] 23:23, 3 December 2008 (UTC) | --[[User:Thiebaut|D. Thiebaut]] 23:23, 3 December 2008 (UTC) | ||
---- | ---- | ||
+ | |||
+ | <font color="red">'''THIS IS A MINI-ASSIGNMENT, BUT MAXI-IMPORTANT!'''</font> | ||
+ | |||
The deadline for this assignment is Monday, Dec 8th, at 11:59 p.m. plus 1 minute. | 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 | + | Instead of submitting your assignment, send an email to [mailto:thiebaut@cs.smith.edu thiebaut@cs.smith.edu] with the URL of your wiki page describing the information requested. |
=Project: Software description= | =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 projects. 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 imagining a not-yet-implemented, sophisticated, fully working solution that may take another 6 months of hard 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: | 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 '''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 '''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. | Put all this information together in an easily understandable fashion in your wiki pages. | ||
Line 18: | Line 28: | ||
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. | 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. | ||
− | Please send me the URL of | + | ==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! :-) |
Latest revision as of 18:43, 3 December 2008
--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 projects. 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 imagining a not-yet-implemented, sophisticated, fully working solution that may take another 6 months of hard 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! :-)