User Tools

Site Tools


haas:spring2018:unix:projects:gfo0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:spring2018:unix:projects:gfo0 [2018/03/21 14:36] – [Background] wedgehaas:spring2018:unix:projects:gfo0 [2018/04/09 15:19] (current) – [Submit] wedge
Line 40: Line 40:
   * participation, which is worth a total of 13% of overall grade.   * participation, which is worth a total of 13% of overall grade.
     * some have gone above and beyond with respect to participation, and have earned bonus points in this area.     * some have gone above and beyond with respect to participation, and have earned bonus points in this area.
 +    * 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 "extra" attribute. This value gets added onto the journal total.     * in certain scenarios, you can earn bonus points by going above and beyond in your journal entries. Look for the "extra" attribute. This value gets added onto the journal total.
 +    * 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 95: Line 97:
  
 <code> <code>
-    8:week1:final tally of results (8/8)+    ...
     6:week2:final tally of results (6/8)     6:week2:final tally of results (6/8)
-    8:week3:final tally of results (8/8) +      *:week2:entry made before deadline [2/2] 
-    8:week4:final tally of results (8/8+      *:week2:filler text removed from entry [2/2] 
-    5:week5:final tally of results (5/8) +      *:week2:met minimal word count (181/256[2/4] 
-    6:week6:final tally of results (6/8) +    ... 
-    3:extra:final tally of results (3/0)+    4:week5:final tally of results (4/8) 
 +      *:week5:entry made before deadline [2/2] 
 +      *:week5:filler text removed from entry [1/2] 
 +      *:week5:met minimal word count (80/256[1/4] 
 +    ...
 </code> </code>
  
Line 141: Line 147:
 Finally, to handle bonus points, notice what happens: the "total" values are all out of 0... so it ONLY counts for you, should we get any bonus points, and doesn't count against you should you not gain any. Finally, to handle bonus points, notice what happens: the "total" values are all out of 0... so it ONLY counts for you, should we get any bonus points, and doesn't count against you should you not gain any.
  
-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: **NOT** an average, but a //tally//).
  
 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 213: 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 223: 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, cheating through getting others to do work for you or finding pre-packaged "answers" on the internet violates the spirit of the project, for they betray your ability to pull off the task on your own. 
 + 
 +=====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 forgiving I may be during evaluation (versus trying to hide the shortcomings and hoping I do not discover them). 
 + 
 +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 238: Line 273:
 </cli> </cli>
  
-Things I'll be looking for:+I'll be looking for the following:
  
 <code> <code>
 78:gfo0:final tally of results (78/78) 78:gfo0:final tally of results (78/78)
-*:gfo0:gfo0.sh submit via submit tool [1/1+*:gfo0:gfo0.sh only uses cached status tool output when run [4/4
-*:gfo0:gfo0.sh is well and consistently commented [4/4] +*:gfo0:gfo0.sh effectively utilizes variables in operations [4/4] 
-*:gfo0:gfo0.sh is well and consistently indented [4/4] +*:gfo0:gfo0.sh effectively utilizes command expansions [4/4] 
-*:gfo0:gfo0.sh generates no errant output during run [4/4] +*:gfo0:gfo0.sh effectively utilizes regular expressions [4/4] 
-*:gfo0:gfo0.sh caches and references status output at run [13/13+*:gfo0:gfo0.sh effectively utilizes selection statements [4/4] 
-*:gfo0:gfo0.sh output matches project specifications [13/13+*:gfo0:gfo0.sh effectively utilizes looping structures [4/4] 
-*:gfo0:gfo0.sh generates results live through calculations [13/13+*:gfo0:gfo0.sh effectively utilizes functions in script [4/4] 
-*:gfo0:gfo0.sh has no line exceeding 80 characters in length [13/13+*:gfo0:gfo0.sh effectively utilizes arrays in script [4/4] 
-*:gfo0:gfo0.sh is a fully automated script, no interaction [13/13]+*:gfo0:gfo0.sh is a proper bash script with shabang and exit [4/4] 
 +*:gfo0:gfo0.sh accurately displays values in consistent alignment [4/4] 
 +*:gfo0:gfo0.sh accurately displays values in pertinent categories [4/4
 +*:gfo0:gfo0.sh accurately displays values based on current data [4/4] 
 +*:gfo0:gfo0.sh use a status output cache file on given argument [4/4
 +*:gfo0:gfo0.sh verifies score and total against detail line items [4/4
 +*:gfo0:gfo0.sh no line exceeds 80 characters in total length [4/4
 +*:gfo0:gfo0.sh all custom variable name lengths at least 4 symbols [4/4] 
 +*:gfo0:gfo0.sh properly manages input violations [4/4] 
 +*:gfo0:gfo0.sh operates according to specifications [5/5] 
 +*:gfo0:gfo0.sh logic is organized and easy to read [5/5]
 </code> </code>
 +
 +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.
haas/spring2018/unix/projects/gfo0.1521642972.txt.gz · Last modified: 2018/03/21 14:36 by wedge