This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
haas:spring2019:unix:projects:pct0 [2019/04/01 16:38] – [puzzle key] wedge | haas:spring2019:unix:projects:pct0 [2019/08/04 13:46] (current) – [Objective] wedge | ||
---|---|---|---|
Line 11: | Line 11: | ||
=====Objective===== | =====Objective===== | ||
- | To continue to cultivate your problem solving, critical thinking, analytical, and observation skills; to apply your skills on the UNIX command-line. | + | To continue to cultivate your problem solving, critical thinking, analytical, and observation skills. |
+ | The aim here is on observation, | ||
=====Background===== | =====Background===== | ||
- | The true nature of problem solving frequently involves critical thinking, analytical, and observation skills. Where problems are not solved by memorizing some pre-defined set of answers and regurgitating them mindlessly, but it crafting an elaborate solution from subtle cues and tested, experimental realizations. | + | The true nature of problem solving frequently involves critical thinking, analytical, and observation skills. Where problems are not solved by memorizing some pre-defined set of answers and regurgitating them mindlessly, but in crafting an elaborate solution from subtle cues and tested, experimental realizations. |
- | This project | + | This project puts you in contact with such endeavours. |
====Long Division==== | ====Long Division==== | ||
Line 520: | Line 521: | ||
=====Getting started===== | =====Getting started===== | ||
- | In the **pct0/** sub-directory of the UNIX Public Directory, under a directory by the name of your username, you will find the following | + | In the **pct0/** sub-directory of the UNIX Public Directory, under a directory by the name of your username, you will find the following |
+ | * **bonus** | ||
+ | * **practice0** | ||
+ | * **practice1** | ||
+ | * **practice2** | ||
+ | * **practice3** | ||
* **puzzle** | * **puzzle** | ||
- | Copy this file into your project directory. | + | Copy these file into your project directory. |
There is also a **MANIFEST** file in the parent directory (the **pct0/** sub-directory), | There is also a **MANIFEST** file in the parent directory (the **pct0/** sub-directory), | ||
- | =====Process===== | ||
- | In the **TASK** file, you will be given a set of source quantities/ | ||
- | As an example, take the following (formatted is it would appear | + | For this project, the only puzzle you HAVE to solve in order to be eligible for full credit will be the one contained in the **puzzle** file. |
- | < | + | Should you desire, there' |
- | task: 0 | + | |
- | precision: 3 | + | |
- | input_value: | + | |
- | input_unit: cm | + | |
- | output_unit: | + | |
- | chain_delim: | + | |
- | </ | + | |
- | With these in mind, we can set about solving this problem, using the tools in combination to arrive at the desired result. | + | As you gear up to work on the project-required puzzle (or additionally |
- | + | =====Process===== | |
- | A potential solution would be as follows: | + | Solve and document the puzzle. |
- | + | ||
- | < | + | |
- | lab46: | + | |
- | 13.78 in | + | |
- | lab46: | + | |
- | 1.15 ft | + | |
- | lab46: | + | |
- | </ | + | |
- | + | ||
- | But that's not very optimized. We could instead do something better, like: | + | |
- | + | ||
- | < | + | |
- | lab46: | + | |
- | 35.000 cm >> 13.780 in >> 1.148 ft | + | |
- | lab46: | + | |
- | </ | + | |
- | + | ||
- | Note that with **precision**, | + | |
- | + | ||
- | We'll want to record our command-lines in the appropriate place. Since this is task #0, we'll want to record it in a file called: **task0.cli**, which should basically just contain | + | |
- | + | ||
- | For final output, we'll want to display the chain of conversions we went through. So, for this above example: | + | |
- | + | ||
- | < | + | |
- | lab46: | + | |
- | 35.000cm >> 13.780in >> 1.148ft | + | |
- | lab46: | + | |
- | </ | + | |
- | Basically, each task#.cli will be its own script. If we were to execute it, the correct result should be produced. | + | On your own. |
+ | Seek to discover and explore and understand, NOT to just come up with an answer. | ||
=====Your Solution===== | =====Your Solution===== | ||
As this project focuses more on the critical thinking process than being heavy in unravelling a problem using UNIX commands, your solution will be in 2 parts: | As this project focuses more on the critical thinking process than being heavy in unravelling a problem using UNIX commands, your solution will be in 2 parts: | ||
- | * your puzzle key, in a textfile called ' | + | * your puzzle key, in a textfile called 'puzzle.key' containing ONLY the capital letters corresponding in order to the 0-9 values (and a trailing newline). |
- | * your documentation of your solving and exploration of the puzzle. If you did this on paper, I'll want it digitized and submitted as a file with this project. | + | * your documentation of your solving and exploration of the puzzle. If you did this on paper, I'll want it digitized and submitted as a file with this project. The file, if is text form, should be called ' |
====puzzle key==== | ====puzzle key==== | ||
- | As indicated, you are to place the determined key to your puzzle in a regular text file called ' | + | As indicated, you are to place the determined key to your puzzle in a regular text file called 'puzzle.key', and will contain ONLY the capital letters, in order from 0-9, of your puzzle (and a trailing newline). |
For example, using the example puzzle above: | For example, using the example puzzle above: | ||
Line 600: | Line 570: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
lab46: | lab46: | ||
</ | </ | ||
Line 607: | Line 577: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
RBVGPMOLJK | RBVGPMOLJK | ||
lab46: | lab46: | ||
Line 631: | Line 601: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
1395327d0826e3145b4f285a2b936707 | 1395327d0826e3145b4f285a2b936707 | ||
lab46: | lab46: | ||
Line 637: | Line 607: | ||
Obviously, YOUR MD5 sum will be DIFFERENT from this, because this is the MD5 sum of the puzzle key explored at the top of this project page. | Obviously, YOUR MD5 sum will be DIFFERENT from this, because this is the MD5 sum of the puzzle key explored at the top of this project page. | ||
+ | |||
+ | NOTE: MD5 sums of your bonus and practice puzzles are also present in the MANIFEST file, so you can perform verifications on them in the same manner. | ||
====Look for matching MD5 sum in MANIFEST==== | ====Look for matching MD5 sum in MANIFEST==== | ||
Line 642: | Line 614: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
MATCH FOUND | MATCH FOUND | ||
lab46: | lab46: | ||
Line 649: | Line 621: | ||
If you have a match, congratulations, | If you have a match, congratulations, | ||
=====Submission===== | =====Submission===== | ||
- | By successfully performing this project, you should | + | By successfully performing this project, you should |
+ | |||
+ | * a ' | ||
+ | * a ' | ||
+ | |||
+ | Additionally, although optional, if you'd like to do similar for the bonus puzzle: | ||
+ | | ||
+ | * a 'bonus.solution' | ||
To submit this project to me using the **submit** tool, run the following command at your lab46 prompt: | To submit this project to me using the **submit** tool, run the following command at your lab46 prompt: | ||
<cli> | <cli> | ||
- | $ submit unix upf1 upf1steps task*.cli | + | $ submit unix pct0 puzzle.key puzzle.solution |
- | Submitting unix project "upf1": | + | Submitting unix project "pct0": |
- | -> upf1steps(OK) | + | -> puzzle.key(OK) |
- | -> task0.cli(OK) | + | -> puzzle.solution(OK) |
- | -> task1.cli(OK) | + | |
- | -> task2.cli(OK) | + | |
- | -> task3.cli(OK) | + | |
- | ... | + | |
SUCCESSFULLY SUBMITTED | SUCCESSFULLY SUBMITTED | ||
</ | </ | ||
- | You should get some sort of confirmation indicating successful submission | + | or, if submitting results for the bonus puzzle as well: |
+ | |||
+ | < | ||
+ | $ submit unix pct0 puzzle.key puzzle.solution bonus.key bonus.solution | ||
+ | Submitting unix project " | ||
+ | -> puzzle.key(OK) | ||
+ | -> puzzle.solution(OK) | ||
+ | -> bonus.key(OK) | ||
+ | -> bonus.solution(OK) | ||
+ | |||
+ | SUCCESSFULLY SUBMITTED | ||
+ | </ | ||
+ | |||
+ | You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches. | ||
I'll be looking for the following: | I'll be looking for the following: | ||
< | < | ||
- | 78:upf1:final tally of results (78/78) | + | 78:pct0:final tally of results (78/78) |
- | *:upf1:upf1steps has valid list of non-interactive instructions [4/4] | + | *:pct0:puzzle.key file submitted |
- | *: | + | *:pct0:puzzle.key file formatted according |
- | *: | + | *:pct0:puzzle.solution is organized and easy to read [35/35] |
- | *: | + | *:pct0:puzzle.solution |
- | *: | + | |
- | *: | + | |
- | *: | + | |
- | *:upf1:upf1steps makes clear, effective use of wildcards [4/4] | + | |
- | *: | + | |
- | *: | + | |
- | *:upf1:upf1steps uses a loop to drive numbers in final output [4/4] | + | |
- | *: | + | |
- | *:upf1:all files are organized, clear, | + | |
- | *:upf1:task#.cli files output using specified precision [3/3] | + | |
- | *: | + | |
- | *: | + | |
- | *: | + | |
- | *: | + | |
- | *: | + | |
- | *: | + | |
</ | </ | ||
- | |||
- | Additionally: | ||
- | * Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction | ||
- | * Solutions not utilizing indentation to promote scope and clarity will be subject to a 25% overall deduction |