This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
haas:fall2016:data:projects:dsi0 [2016/08/14 23:01] – [Errata] wedge | haas:fall2016:data:projects:dsi0 [2016/08/27 18:10] (current) – [Verify Your Program] wedge | ||
---|---|---|---|
Line 13: | Line 13: | ||
* __revision 1__: added some additional output specifications that need to be followed. There will probably be more as time goes by, so keep checking for updates (20160813) | * __revision 1__: added some additional output specifications that need to be followed. There will probably be more as time goes by, so keep checking for updates (20160813) | ||
* __revision 2__: nice to see people already getting started; I've had a few questions about project specifications I've clarified below, namely: your display function(s), | * __revision 2__: nice to see people already getting started; I've had a few questions about project specifications I've clarified below, namely: your display function(s), | ||
+ | * __revision 3__: clarification- all prompts should display to STDERR. Only produced output (such as displaying or showing the obtained value) should go to STDOUT (20160820) | ||
+ | * __revision 4__: added the " | ||
=====Objective===== | =====Objective===== | ||
In this project, we get started with some course initialization and review activities. | In this project, we get started with some course initialization and review activities. | ||
Line 34: | Line 36: | ||
* create your first week content | * create your first week content | ||
- | **NOTE:** Week 1 journal entry will be due before Monday, the remainder of the intro Journal content will be due by this project' | + | **NOTE:** Week 1 journal entry will be due before Monday |
====Mailing List==== | ====Mailing List==== | ||
Line 51: | Line 53: | ||
Ensure you can still (or if you are new to this, that you can successfully) log into lab46 via an ssh or mosh client. | Ensure you can still (or if you are new to this, that you can successfully) log into lab46 via an ssh or mosh client. | ||
- | Lab46 will be the primary and supported development environment for the course. While you are free to use your own systems, any assigned projects: | + | Lab46 will be the primary and supported development environment for the course. While you are free to use your own systems |
- | * MUST be submitted via lab46 | + | * MUST be submitted via lab46 (typically via the **submit** tool) |
* MUST compile, run, and function as required ON lab46 | * MUST compile, run, and function as required ON lab46 | ||
Remember, during open LAIR times you can always come in and use the pods. | Remember, during open LAIR times you can always come in and use the pods. | ||
+ | NOTE that **many** of the projects in this class are heavily tied into Lab46, so you'll want to get used to using it as a development platform. | ||
====Personal/ | ====Personal/ | ||
To both aid you and help you develop better development skills, I'd like for you to make regular commits and pushes to your [[/ | To both aid you and help you develop better development skills, I'd like for you to make regular commits and pushes to your [[/ | ||
Line 93: | Line 96: | ||
* build list | * build list | ||
- | * prompt the user to enter number after number, appending it to the list, until the user terminates the action by entering a -1 | + | * prompt the user to enter number after number, appending it to the list, until the user terminates the action by entering a -1. Prompt will display to STDERR. |
* We will check for the -1 in the array to signify the end of our list | * We will check for the -1 in the array to signify the end of our list | ||
* if you're crafty about it, this doesn' | * if you're crafty about it, this doesn' | ||
Line 150: | Line 153: | ||
* insert into list | * insert into list | ||
- | * prompt for array index | + | * prompt for array index (prompt will display to STDERR) |
* accept new value from the user | * accept new value from the user | ||
* without destroying any array contents, place new value BEFORE specified array index | * without destroying any array contents, place new value BEFORE specified array index | ||
Line 177: | Line 180: | ||
* append into list | * append into list | ||
- | * prompt for array index | + | * prompt for array index (prompt will display to STDERR) |
* accept new value from the user | * accept new value from the user | ||
* without destroying any array contents, place new value AFTER specified array index | * without destroying any array contents, place new value AFTER specified array index | ||
Line 214: | Line 217: | ||
* obtain from list | * obtain from list | ||
- | * prompt for array index | + | * prompt for array index (prompt will display to STDERR) |
* obtain value at array index and place it in a standalone variable (to be displayed to STDOUT) | * obtain value at array index and place it in a standalone variable (to be displayed to STDOUT) | ||
* adjust array contents to no longer include this obtained value (we've removed it from the list) | * adjust array contents to no longer include this obtained value (we've removed it from the list) | ||
Line 301: | Line 304: | ||
* structs | * structs | ||
* pointers | * pointers | ||
+ | |||
+ | |||
+ | =====Verify Your Program===== | ||
+ | When your program is functional, you can test it for correctness by using the **projeval** tool on lab46. A series of tests will be run, and you will be able to see if you program is in spec (SUCCESS) or out of spec (MISMATCH). | ||
+ | |||
+ | An example of a fully compliant test run follows: | ||
+ | |||
+ | <cli> | ||
+ | lab46: | ||
+ | [projeval] Evaluating dsi0 for username | ||
+ | [test 0] display 4 element populated list forward ... | ||
+ | you have: [0] 2 -> [1] 4 -> [2] 6 -> [3] 8 -> [4] -1 | ||
+ | should be: [0] 2 -> [1] 4 -> [2] 6 -> [3] 8 -> [4] -1 | ||
+ | | ||
+ | |||
+ | [test 1] inserting into empty list ... | ||
+ | you have: [0] 7 -> [1] -1 | ||
+ | should be: [0] 7 -> [1] -1 | ||
+ | | ||
+ | |||
+ | [test 2] appending into empty list ... | ||
+ | you have: [0] 7 -> [1] -1 | ||
+ | should be: [0] 7 -> [1] -1 | ||
+ | | ||
+ | |||
+ | [test 3] obtaining from 1 entry list ... | ||
+ | you have: The value you obtained is: 7 | ||
+ | should be: The value you obtained is: 7 | ||
+ | | ||
+ | |||
+ | [test 4] obtaining first entry from 2 entry list ... | ||
+ | you have: The value you obtained is: 7 | ||
+ | should be: The value you obtained is: 7 | ||
+ | | ||
+ | |||
+ | [test 5] obtaining second entry from 2 entry list ... | ||
+ | you have: The value you obtained is: 8 | ||
+ | should be: The value you obtained is: 8 | ||
+ | | ||
+ | |||
+ | [test 6] inserting before first entry in list ... | ||
+ | you have: [0] 6 -> [1] 7 -> [2] -1 | ||
+ | should be: [0] 6 -> [1] 7 -> [2] -1 | ||
+ | | ||
+ | |||
+ | [test 7] inserting before second entry in list ... | ||
+ | you have: [0] 7 -> [1] 8 -> [2] 9 -> [3] -1 | ||
+ | should be: [0] 7 -> [1] 8 -> [2] 9 -> [3] -1 | ||
+ | | ||
+ | |||
+ | [test 8] appending after last entry in list ... | ||
+ | you have: [0] 7 -> [1] 8 -> [2] 9 -> [3] -1 | ||
+ | should be: [0] 7 -> [1] 8 -> [2] 9 -> [3] -1 | ||
+ | | ||
+ | |||
+ | [test 9] appending after second to last entry in list ... | ||
+ | you have: [0] 7 -> [1] 8 -> [2] 9 -> [3] -1 | ||
+ | should be: [0] 7 -> [1] 8 -> [2] 9 -> [3] -1 | ||
+ | | ||
+ | |||
+ | [test 10] clearing list then appending ... | ||
+ | you have: [0] 7 -> [1] -1 | ||
+ | should be: [0] 7 -> [1] -1 | ||
+ | | ||
+ | |||
+ | [test 11] obtaining second entry from 2 entry list (check list integrity) ... | ||
+ | you have: [0] 7 -> [1] -1 | ||
+ | should be: [0] 7 -> [1] -1 | ||
+ | | ||
+ | |||
+ | [test 12] obtaining first entry from 2 entry list (checking list integrity) ... | ||
+ | you have: [0] 8 -> [1] -1 | ||
+ | should be: [0] 8 -> [1] -1 | ||
+ | | ||
+ | |||
+ | [test 13] obtaining from 1 entry list (checking list integrity) ... | ||
+ | you have: [0] -1 | ||
+ | should be: [0] -1 | ||
+ | | ||
+ | |||
+ | lab46: | ||
+ | </ | ||
=====Submission Criteria===== | =====Submission Criteria===== | ||
Line 333: | Line 418: | ||
lab46: | lab46: | ||
</ | </ | ||
- |