This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:spring2018:unix:projects:gfo0 [2017/10/22 22:19] – external edit 127.0.0.1 | haas:spring2018:unix:projects:gfo0 [2018/04/09 15:19] (current) – [Submit] wedge | ||
---|---|---|---|
Line 10: | Line 10: | ||
=====Background===== | =====Background===== | ||
- | Throughout the semester your participation, | + | Throughout the semester your participation, |
+ | |||
+ | < | ||
+ | lab46:~$ status | ||
+ | Must specify course (or help). One of: | ||
+ | status unix | ||
+ | status help | ||
+ | </ | ||
In order to pull up your information, | In order to pull up your information, | ||
<cli> | <cli> | ||
- | lab46:~$ status | + | lab46:~$ status |
</ | </ | ||
Line 21: | Line 28: | ||
<cli> | <cli> | ||
- | lab46:~$ status | + | lab46:~$ status |
</ | </ | ||
- | But, throughout all this, some very obvious data points are lacking: your actual, calculated results. All I am giving you is the raw data, and while I have scripts that can quickly give me an overview of your progress, I've left that same role up to you to fill. | + | But, throughout all this, some very obvious data points are lacking: your actual, calculated results. All I am giving you is the raw data, and while I have scripts that can quickly give //me// an overview of your progress, I've left that same role up to you to fill. |
And since you're all unprocrastinating, | And since you're all unprocrastinating, | ||
Line 33: | Line 40: | ||
* participation, | * participation, | ||
* some have gone above and beyond with respect to participation, | * some have gone above and beyond with respect to participation, | ||
+ | * for the spring2018 semester, participation bonus points can raise your maximum participation score to a value of **16**/13. Anything in excess of this is capped at 16. | ||
* journal (your personal reflections / informational composition of your experience in the course, which some have already been reaping great value from), worth a total of 13% of the overall grade. | * journal (your personal reflections / informational composition of your experience in the course, which some have already been reaping great value from), worth a total of 13% of the overall grade. | ||
* in certain scenarios, you can earn bonus points by going above and beyond in your journal entries. Look for the " | * in certain scenarios, you can earn bonus points by going above and beyond in your journal entries. Look for the " | ||
+ | * for the spring2018 semester, journal bonus points can raise your maximum journal score to a value of **17**/13. Anything in excess of this is capped at 17. | ||
* projects (the assigned activities you've been enjoying each week), which rounds out the remaining 52% of your final grade. | * projects (the assigned activities you've been enjoying each week), which rounds out the remaining 52% of your final grade. | ||
* the majority of reported bonus points are earned in relation to the projects, and are therefore applied exclusively to the projects component of your grade. | * the majority of reported bonus points are earned in relation to the projects, and are therefore applied exclusively to the projects component of your grade. | ||
- | * Added up, these three components come out to a value of 78. So at this point in the course, you will be calculating your grade out of that value. | + | * Added up, these three components come out to a value of 78. So at this point in the course, you will be calculating your grade out of that value (78) |
* Once there, you can determine the letter grade. | * Once there, you can determine the letter grade. | ||
- | Letter grades are on the following scale: | + | Letter grades are on the following scale (taken from the syllabus): |
* A (100.00+) | * A (100.00+) | ||
Line 88: | Line 97: | ||
< | < | ||
- | | + | |
6: | 6: | ||
- | 8:week3:final tally of results (8/8) | + | *:week2:entry made before deadline [2/2] |
- | 8:week4:final tally of results | + | *:week2:filler text removed from entry [2/2] |
- | | + | *:week2:met minimal word count (181/256) [2/4] |
- | 6:week6:final tally of results (6/8) | + | ... |
- | 3:extra:final tally of results | + | |
+ | *:week5:entry made before deadline [2/2] | ||
+ | *:week5:filler text removed from entry [1/2] | ||
+ | *:week5:met minimal word count (80/256) [1/4] | ||
+ | ... | ||
</ | </ | ||
Line 134: | Line 147: | ||
Finally, to handle bonus points, notice what happens: the " | Finally, to handle bonus points, notice what happens: the " | ||
- | Each project is clumped together, its "final tally" line leading the stanza, with the follow-up line items beneath it (note: NOT an average, but a tally). | + | Each project is clumped together, its "final tally" line leading the stanza, with the follow-up line items beneath it (note: |
Should there be any points deducted for lateness, they should be on the second line of the stanza (immediately following the "final tally" line). And would have the following format: | Should there be any points deducted for lateness, they should be on the second line of the stanza (immediately following the "final tally" line). And would have the following format: | ||
Line 206: | Line 219: | ||
* When all is said and done, you will submit your script, which: | * When all is said and done, you will submit your script, which: | ||
* runs the **status** tool and creates a snapshot of its output. Have your script process this snapshot vs. running **status** 20 million times during the run of your script (the data may change over time, but it isn't going to change that fast- cache the output to improve performance). | * runs the **status** tool and creates a snapshot of its output. Have your script process this snapshot vs. running **status** 20 million times during the run of your script (the data may change over time, but it isn't going to change that fast- cache the output to improve performance). | ||
+ | * if an existing file is given on the command-line ($1), use that as your cached status file in your processing. | ||
* should be an organized presentation of the requested information as specified above. | * should be an organized presentation of the requested information as specified above. | ||
* spacing is important. I want to see column justification just like in my examples above. | * spacing is important. I want to see column justification just like in my examples above. | ||
Line 216: | Line 230: | ||
* is CONSISTENTLY INDENTED according to logic level (don't have everything riding the left margin, indent code inside if statments, loops, functions, etc.) | * is CONSISTENTLY INDENTED according to logic level (don't have everything riding the left margin, indent code inside if statments, loops, functions, etc.) | ||
* see how this bulleted list is consistent and indented? | * see how this bulleted list is consistent and indented? | ||
- | * no line exceeds 80 characters in width. | + | * no line exceeds 80 characters in width (inclusive of terminating newline). |
+ | * all custom variable names must be at least 4 symbols in length | ||
+ | * top-level score/total values are verified by evaluating line item values | ||
+ | * makes use of selection constructs (if statements, case statements, conditional chaining) | ||
+ | * makes use of looping constructs (the for and while loops we've been playing with) | ||
+ | * makes use of arrays in a central and important way | ||
* the script should entirely automate the process; all you should have to do is run the script, and it will do all the work to output the necessary information. | * the script should entirely automate the process; all you should have to do is run the script, and it will do all the work to output the necessary information. | ||
- | ====Submit==== | + | =====Spirit of project===== |
+ | The spirit of the project embodies many aspects we've been focusing on throughout the semester: | ||
+ | |||
+ | * recognizing patterns to employ effective solutions in problem solving | ||
+ | * utilizing concepts and tools covered | ||
+ | * demonstrating comprehension of concepts, tools, and problems | ||
+ | * employing concepts in knowledgeable and thoughtful manner | ||
+ | * following instructions | ||
+ | * implementing to specifications | ||
+ | * utilizing creativity | ||
+ | * being able to control solution via consistent, clear, and organized presentation | ||
+ | |||
+ | Basically: I want your solution to be the result of an honest, genuine brainstorming process where you have (on your own) figured out a path to solving the problem, you have dabbled and experimented and figured things out, and you can command the concepts and tools with a fluency enabling you to pull off such a feat. Your solution should demonstrate the real learning that took place and experience gained. | ||
+ | |||
+ | Cutting corners, avoiding work, skimping on functionality, | ||
+ | |||
+ | =====Identifying shortcomings===== | ||
+ | I would also like it if you provided an inventory of what functionality is lacking or out of spec when you submit the project. The better you can describe your deviations from stated requirements, | ||
+ | |||
+ | The more fluent you are in describing your shortcomings on accomplishing the project (ie "I didn't know how to do this" is far from fluent), the better I will be able to gauge your understanding on a particular aspect. | ||
+ | |||
+ | This can be in the form of comments in your script, or even a separate file submitted at time of submission (if a file, be sure to make mention of it in your script so I can be sure to look for it). | ||
+ | |||
+ | =====Submit===== | ||
Please submit as follows: | Please submit as follows: | ||
Line 231: | Line 273: | ||
</ | </ | ||
- | Things | + | I'll be looking for the following: |
< | < | ||
78: | 78: | ||
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
- | *: | + | *: |
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
</ | </ | ||
+ | |||
+ | Additionally: | ||
+ | * Solutions not abiding by spirit of project will be subject to a 25% overall deduction | ||
+ | * Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction | ||
+ | * comments should be consistent in appearance (adopt a style; one that promotes readability) | ||
+ | * Solutions not utilizing indentation to promote scope and clarity will be subject to a 25% overall deduction | ||
+ | * indentation should be no fewer than 3 spaces (or 3-space tabs); I prefer 4. |