ca9b9cc59d35fbfbf8fa478b909e12a1aa0dfe6d
haas/spring2026/comporg/projects.md
| ... | ... | @@ -3,15 +3,21 @@ |
| 3 | 3 | |
| 4 | 4 | | project | duedate | |
| 5 | 5 | | ---------------------------------- | ---------------------- | |
| 6 | -| [ntr0](../common/projects/ntr0.md) | (due: 20260128) | |
|
| 7 | 6 | | [pct0](../common/projects/pctX.md) | (bonus; due: 20260204) | |
| 8 | 7 | | [pct1](../common/projects/pctX.md) | (bonus; due: 20260204) | |
| 9 | -| [wcp1](../common/projects/wcpX.md) | (due: 20260128) | |
|
| 10 | 8 | | [ntr1](../common/projects/ntr1.md) | (due: 20260204) | |
| 11 | 9 | | [btt0](projects/btt0.md) | (due: 20260204) | |
| 12 | 10 | | [pct2](../common/projects/pctX.md) | (due: 20260204) | |
| 13 | 11 | | [wcp2](../common/projects/wcpX.md) | (due: 20260204) | |
| 12 | +| [mab0](projects/mab0.md) | (due: 20260211) | |
|
| 13 | +| [pct3](../common/projects/pctX.md) | (bonus; due: 20260211) | |
|
| 14 | +| [wcp3](../common/projects/wcpX.md) | (due: 20260211) | |
|
| 14 | 15 | |
| 15 | 16 | ## Late Projects |
| 16 | 17 | |
| 17 | 18 | ## Past Due Projects |
| 19 | + |
|
| 20 | +| project | duedate | |
|
| 21 | +| ---------------------------------- | ---------------------- | |
|
| 22 | +| [ntr0](../common/projects/ntr0.md) | (due: 20260128) | |
|
| 23 | +| [wcp1](../common/projects/wcpX.md) | (due: 20260128) | |
haas/spring2026/comporg/projects/mab0.md
| ... | ... | @@ -0,0 +1,77 @@ |
| 1 | +# CSCS2650 Computer Organization |
|
| 2 | + |
|
| 3 | +# PROJECT: MOVE A BLOCK (mab0) |
|
| 4 | + |
|
| 5 | +## OBJECTIVE |
|
| 6 | + |
|
| 7 | +This week we turn our attention to starting to write (from scratch) code |
|
| 8 | +in Vircon32 assembly language. |
|
| 9 | + |
|
| 10 | +We will start with the most basic of ingredients: render a block on the |
|
| 11 | +screen, and allow it to move via the gamepad. |
|
| 12 | + |
|
| 13 | +## GRABIT |
|
| 14 | + |
|
| 15 | +There is a GRABIT available, containing some skeleton code, an XML file, |
|
| 16 | +and a Makefile, that will facilitate building the cartridge. |
|
| 17 | + |
|
| 18 | +## TASK |
|
| 19 | + |
|
| 20 | +Implemented from scratch, in assembly: |
|
| 21 | + |
|
| 22 | + * select the loaded texture |
|
| 23 | + * select 4 objects (regions) to display |
|
| 24 | + * display the object on the screen, allowing for its control via the gamepads |
|
| 25 | + * each gamepad direction should display a different object |
|
| 26 | + * implement bounds checks on the screen edges, preventing the object from moving off the screen (or performing a wraparound, as desired) |
|
| 27 | + |
|
| 28 | +## SUBMISSION |
|
| 29 | + |
|
| 30 | +To be successful in this project, the following criteria (or their |
|
| 31 | +equivalent) must be met: |
|
| 32 | + |
|
| 33 | + * Project must be submit on time, by the deadline. |
|
| 34 | + * Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline. |
|
| 35 | + * Processing must be correct based on input given and output requested |
|
| 36 | + * Output, if applicable, must be correct based on values input |
|
| 37 | + * Code must be nicely and consistently indented and aligned |
|
| 38 | + * Code must be consistently written, to strive for readability from having a consistent style throughout |
|
| 39 | + * Code must be commented |
|
| 40 | + * Sufficient comments explaining the point of provided logic **MUST** be present |
|
| 41 | + * Track/version the source code in your private semester repository |
|
| 42 | + * Submit a copy of your source code to me using the **submit** tool by the deadline. |
|
| 43 | + |
|
| 44 | +## SUBMIT TOOL USAGE |
|
| 45 | + |
|
| 46 | +Let's say you have completed work on the project, and are ready to |
|
| 47 | +submit, you would do the following (once on LAB46, with all your data |
|
| 48 | +present): |
|
| 49 | + |
|
| 50 | +``` |
|
| 51 | +lab46:~/src/SEMESTER/DESIG/mab0$ make submit |
|
| 52 | +``` |
|
| 53 | + |
|
| 54 | +You should get some sort of confirmation indicating successful submission |
|
| 55 | +if all went according to plan. If not, check for typos and or locational |
|
| 56 | +mismatches. |
|
| 57 | + |
|
| 58 | +### RUBRIC |
|
| 59 | + |
|
| 60 | +I'll be evaluating the project based on the following criteria: |
|
| 61 | + |
|
| 62 | +``` |
|
| 63 | +78:mab0:final tally of results (78/78) |
|
| 64 | +*:mab0:code written from scratch in Vircon32 assembly [13/13] |
|
| 65 | +*:mab0:code assembles cleanly, with no warnings [13/13] |
|
| 66 | +*:mab0:submit code, XML file, and v32 cartridge [13/13] |
|
| 67 | +*:mab0:program displays one of four regions based on direction [13/13] |
|
| 68 | +*:mab0:program reads the gamepad to adjust position of region [13/13] |
|
| 69 | +*:mab0:region when encountering screen edge will stop or wrap [13/13] |
|
| 70 | +``` |
|
| 71 | + |
|
| 72 | +### ADDITIONALLY |
|
| 73 | + |
|
| 74 | + * Solutions not abiding by spirit of project will be subject to a 50% overall deduction |
|
| 75 | + * Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction |
|
| 76 | + * Solutions not utilizing indentation to promote scope and clarity or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction |
|
| 77 | + * Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction |
haas/spring2026/cprog/projects.md
| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | | [pct2](../common/projects/pctX.md) | (due: 20260204) | |
| 11 | 11 | | [wcp2](../common/projects/wcpX.md) | (due: 20260204) | |
| 12 | 12 | | [dap0](projects/dap0.md) | (due: 20260211) | |
| 13 | -| [pct3](../common/projects/pctX.md) | (due: 20260211) | |
|
| 13 | +| [pct3](../common/projects/pctX.md) | (bonus; due: 20260211) | |
|
| 14 | 14 | | [wcp3](../common/projects/wcpX.md) | (due: 20260211) | |
| 15 | 15 | |
| 16 | 16 | ## LATE PROJECTS |
haas/spring2026/sysprog/projects.md
| ... | ... | @@ -3,15 +3,24 @@ |
| 3 | 3 | |
| 4 | 4 | | project | duedate | |
| 5 | 5 | | ---------------------------------- | ---------------------- | |
| 6 | -| [ntr0](../common/projects/ntr0.md) | (due: 20260128) | |
|
| 7 | 6 | | [pct0](../common/projects/pctX.md) | (bonus; due: 20260204) | |
| 8 | 7 | | [pct1](../common/projects/pctX.md) | (bonus; due: 20260204) | |
| 9 | -| [wcp1](../common/projects/wcpX.md) | (due: 20260128) | |
|
| 10 | 8 | | [ntr1](../common/projects/ntr1.md) | (due: 20260204) | |
| 11 | 9 | | [spp2](projects/sppX.md) | (due: 20260204) | |
| 12 | 10 | | [pct2](../common/projects/pctX.md) | (due: 20260204) | |
| 13 | 11 | | [wcp2](../common/projects/wcpX.md) | (due: 20260204) | |
| 12 | +| [spp3](projects/sppX.md) | (due: 20260211) | |
|
| 13 | +| [pct3](../common/projects/pctX.md) | (bonus; due: 20260211) | |
|
| 14 | +| [wcp3](../common/projects/wcpX.md) | (due: 20260211) | |
|
| 15 | +| [spp4](projects/sppX.md) | (due: 20260218) | |
|
| 16 | +| [pct4](../common/projects/pctX.md) | (due: 20260218) | |
|
| 17 | +| [wcp4](../common/projects/wcpX.md) | (due: 20260218) | |
|
| 14 | 18 | |
| 15 | 19 | ## Late Projects |
| 16 | 20 | |
| 17 | 21 | ## Past Due Projects |
| 22 | + |
|
| 23 | +| project | duedate | |
|
| 24 | +| ---------------------------------- | ---------------------- | |
|
| 25 | +| [ntr0](../common/projects/ntr0.md) | (due: 20260128) | |
|
| 26 | +| [wcp1](../common/projects/wcpX.md) | (due: 20260128) | |
haas/spring2026/unix/projects.md
| ... | ... | @@ -3,14 +3,20 @@ |
| 3 | 3 | |
| 4 | 4 | | project | duedate | |
| 5 | 5 | | ---------------------------------- | ---------------------- | |
| 6 | -| [ntr0](../common/projects/ntr0.md) | (due: 20260128) | |
|
| 7 | 6 | | [pct0](../common/projects/pctX.md) | (bonus; due: 20260204) | |
| 8 | 7 | | [pct1](../common/projects/pctX.md) | (bonus; due: 20260204) | |
| 9 | -| [wcp1](../common/projects/wcpX.md) | (due: 20260128) | |
|
| 10 | 8 | | [ntr1](../common/projects/ntr1.md) | (due: 20260204) | |
| 11 | 9 | | [pct2](../common/projects/pctX.md) | (due: 20260204) | |
| 12 | 10 | | [wcp2](../common/projects/wcpX.md) | (due: 20260204) | |
| 11 | +| [dac0](projects/dac0.md) | (due: 20260211) | |
|
| 12 | +| [pct3](../common/projects/pctX.md) | (bonus; due: 20260211) | |
|
| 13 | +| [wcp3](../common/projects/wcpX.md) | (due: 20260211) | |
|
| 13 | 14 | |
| 14 | 15 | ## Late Projects |
| 15 | 16 | |
| 16 | 17 | ## Past Due Projects |
| 18 | + |
|
| 19 | +| project | duedate | |
|
| 20 | +| ---------------------------------- | ---------------------- | |
|
| 21 | +| [ntr0](../common/projects/ntr0.md) | (due: 20260128) | |
|
| 22 | +| [wcp1](../common/projects/wcpX.md) | (due: 20260128) | |
haas/spring2026/unix/projects/dac0.md
| ... | ... | @@ -0,0 +1,310 @@ |
| 1 | +# CSCS1730 UNIX/Linux Fundamentals |
|
| 2 | + |
|
| 3 | +# PROJECT: DATA ARCHIVING AND COMPRESSION (dac0) |
|
| 4 | + |
|
| 5 | +## OBJECTIVE |
|
| 6 | + |
|
| 7 | +Reference technical documentation to locate and operate particular tools |
|
| 8 | +to aid you in accomplishing a task. |
|
| 9 | + |
|
| 10 | +## PREREQUISITES |
|
| 11 | + |
|
| 12 | +To successfully accomplish/perform this project, the listed |
|
| 13 | +resources/experiences need to be consulted/achieved: |
|
| 14 | + |
|
| 15 | + * ability to read the manual pages and use the information therein |
|
| 16 | + * ability to copy, move, and list files |
|
| 17 | + * ability to navigate around the filesystem |
|
| 18 | + |
|
| 19 | +## NO GRABIT |
|
| 20 | + |
|
| 21 | +As part of this activity is to test your ability to navigate around the |
|
| 22 | +filesystem and manipulate files on your own, there is no grabit |
|
| 23 | +configured for this project. |
|
| 24 | + |
|
| 25 | +Navigate to the UNIX PUBLIC DIRECTORY yourself and manually copy your |
|
| 26 | +project files back into your repository. |
|
| 27 | + |
|
| 28 | +## TOOLBOX |
|
| 29 | + |
|
| 30 | +It would be especially useful to review the manual pages or any |
|
| 31 | +documentation on the following resources: |
|
| 32 | + |
|
| 33 | + * `cp`(1) |
|
| 34 | + * `mv`(1) |
|
| 35 | + * `ls`(1) |
|
| 36 | + * `mkdir`(1) |
|
| 37 | + * `tar`(1) |
|
| 38 | + * `xz`(1) |
|
| 39 | + * `gzip`(1) |
|
| 40 | + * `bzip2`(1) |
|
| 41 | + * `zip`(1) |
|
| 42 | + * `tac`(1) |
|
| 43 | + * `rev`(1) |
|
| 44 | + * `cat`(1) |
|
| 45 | + * `file`(1) |
|
| 46 | + * `uudecode`(1) |
|
| 47 | + * `md5sum`(1) |
|
| 48 | + |
|
| 49 | +## BACKGROUND |
|
| 50 | + |
|
| 51 | +When we talk about archives, there are commonly two separate actions |
|
| 52 | +taking place. Sometimes they are intertwined, others they represent |
|
| 53 | +discrete steps. |
|
| 54 | + |
|
| 55 | +They are: |
|
| 56 | + |
|
| 57 | + * archiving / extracting |
|
| 58 | + * compression / decompression |
|
| 59 | + |
|
| 60 | +Archives are merely a manifestation of a common computing concept: a |
|
| 61 | +container. |
|
| 62 | + |
|
| 63 | +Containers encapsulate things; in this case- files. And the fact that |
|
| 64 | +UNIX tries to make everything a file really enhances the viability of |
|
| 65 | +this ability. |
|
| 66 | + |
|
| 67 | +Compression, on the other hand, is an action performed on a single file. |
|
| 68 | +Utilizing various algorithms, we accomplish a sort of "more in less"... |
|
| 69 | +we can take the data present and cram it into a smaller box (file)... |
|
| 70 | +where the aim is to take up less storage on the filesystem (also makes |
|
| 71 | +copying easier). |
|
| 72 | + |
|
| 73 | + |
|
| 74 | +There are many compression algorithms in existence. There are commonly two categories of compression algorithm: |
|
| 75 | + |
|
| 76 | + * [lossless compression](http://en.wikipedia.org/wiki/Lossless_data_compression) - no data is lost as a part of the compression process |
|
| 77 | + * [lossy compression](http://en.wikipedia.org/wiki/Lossy_data_compression) - unnecessary data is discarded as part of the compression process |
|
| 78 | + |
|
| 79 | +Wikipedia has categories identifying various algorithms implemented for |
|
| 80 | +both **lossless** and **lossy** compression algorithms. |
|
| 81 | + |
|
| 82 | +Where confusion may set in is when a tool combines the actions of |
|
| 83 | +archival AND compression. But if you think about it, even in such cases, |
|
| 84 | +we always end up with one file, and that file is compressed (unless we |
|
| 85 | +have a concatenation of separately compressed files into a single file. |
|
| 86 | + |
|
| 87 | +Archives are useful in that they let us pack items together. If something |
|
| 88 | +needs 100 files, making a copy of that, or copying it/install it onto |
|
| 89 | +another system would be made more complex if we had to deal with each of |
|
| 90 | +those files individually. Archives simplify the problem in that they can |
|
| 91 | +provide us all those files, all contained within a single file (lessening |
|
| 92 | +opportunities for error). So, archives make our lives easier. |
|
| 93 | + |
|
| 94 | +## ON YOUR DEVELOPMENT SYSTEM |
|
| 95 | + |
|
| 96 | +Once you obtain the project files on the LAB46 SHELL SYSTEM, and transfer |
|
| 97 | +them over to your development system (you can add them to your private |
|
| 98 | +repository), you will want to perform the project off of lab46, as you |
|
| 99 | +may need to install additional packages and tools to process the data. |
|
| 100 | + |
|
| 101 | +On your development system, I want you to do the following: |
|
| 102 | + |
|
| 103 | + * Figure out the format of the files, and read up on the available tools for manipulating them |
|
| 104 | + * Install any needed tools to accomplish the task of accessing the information contained within |
|
| 105 | + * Extract the contents of the archive and study it (contents will extract to the current working directory, so you WILL want to be in a custom project directory) |
|
| 106 | + * Analyze the files extracted from the archive. Each file will ultimately be contextually readable plain text (in English), but some may be encoded or compressed or otherwise manipulated and will need further processing to get to the final readable state. |
|
| 107 | + * Once in their readable states, name the files **a**, **b**, **c**, **d**, **e**, **f**, **g**, **h**, in order of their file sizes (in bytes), from least to greatest. |
|
| 108 | + * Place these single-lettered files in a new **tar** archive called **result.tar** (files should be added to the archive in the current directory, do not embed any directory information in the archive). |
|
| 109 | + * Compress it (using **maximum** compression) with **gzip**(**1**); it should now be called **result.tar.gz** |
|
| 110 | + * you are going to submit this archive |
|
| 111 | + * In addition to the created archive, you will also submit a text file named **dac0.steps** which will contain step-by-step command-lines used to copy, extract, manipulate, rename, create a new archive and compress **result.tar.gz** (document from the point of having the copied files in place on your development system). |
|
| 112 | + * you do NOT need to include any repository, verify, or submit commands, JUST those steps for accomplishing the core task of the files in the project to stated specifications. |
|
| 113 | + * The file should JUST contain the exact commands you used, in order from start to finish. If you'd like to add any additional commentary, prefix it with a # sign. |
|
| 114 | + * Commands should be left justified, one command-line per line (lines can wrap). |
|
| 115 | + * Do NOT number your steps. Just place the command-line incantations utilized, one after the other. |
|
| 116 | + |
|
| 117 | +## PROCESS |
|
| 118 | + |
|
| 119 | +On the system hosting the needed resources, egress from your home |
|
| 120 | +directory and navigate to the UNIX PUBLIC DIRECTORY, locate the |
|
| 121 | +subdirectory for this project and navigate there. |
|
| 122 | + |
|
| 123 | +Assess the layout of files. What type of files are here? Are they named |
|
| 124 | +in a manner so as to indicate a specific course of action? |
|
| 125 | + |
|
| 126 | +Once you locate your files, proceed to copy them into your home |
|
| 127 | +directory, into a custom project subdirectory you've made, ideally in |
|
| 128 | +your repository. |
|
| 129 | + |
|
| 130 | +Ingress to that destination, ensure said files have been included into |
|
| 131 | +your repository. Do note: your repository by default may be configured to |
|
| 132 | +ignore many archive files. To override this, add them specifically by |
|
| 133 | +name. |
|
| 134 | + |
|
| 135 | +Transition to your development system, navigate into your repository. |
|
| 136 | +Obtain the files, and verify they are present. |
|
| 137 | + |
|
| 138 | +Focusing on one archive at a time: |
|
| 139 | + |
|
| 140 | + * what type of archive is it? |
|
| 141 | + * what tools might be needed to extract and/or decompress it? |
|
| 142 | + * reference the manual page(s) for any tools in question, determine any options that need to be applied. |
|
| 143 | + * attempt to extract files from the archive. Did it work? How can you tell what new additions there are? (Do note: many of these tools have options to enable *verbose* operation, which might prove particularly helpful in this endeavour). |
|
| 144 | + * one at a time, investigate any new files: |
|
| 145 | + * is it viewable? |
|
| 146 | + * is it readable? |
|
| 147 | + * if not, is there something that looks out of sorts that you could manipulate to correct it? |
|
| 148 | + * is it contextually readable, english text? |
|
| 149 | + * take note of the file size |
|
| 150 | + * as you accumulate processed files, proceed to order them by file size |
|
| 151 | + |
|
| 152 | +## VERIFICATION |
|
| 153 | + |
|
| 154 | +One of the tests I will perform for output compliance of your code will |
|
| 155 | +involve comparing your program's output against a range of input values, |
|
| 156 | +to see if they all output in conformance with project specifications. |
|
| 157 | + |
|
| 158 | +I will make use of a checksum to verify exactness. |
|
| 159 | + |
|
| 160 | +You will need to run this from your **dac0 project directory**, where |
|
| 161 | +your individual `a`-`h` files are located. |
|
| 162 | + |
|
| 163 | +You can check your project by typing in the following at the prompt (on |
|
| 164 | +lab46): |
|
| 165 | + |
|
| 166 | +``` |
|
| 167 | +lab46:~/src/SEMESTER/unix/dac0$ filechk unix dac0 |
|
| 168 | +``` |
|
| 169 | + |
|
| 170 | +If all aligns, you will see this: |
|
| 171 | + |
|
| 172 | +``` |
|
| 173 | +==========unix/dac0 whole file comparison========================================= |
|
| 174 | + For the file: a |
|
| 175 | + you want: cca000c9cb8a5c134bed61154a7907ba |
|
| 176 | + you have: cca000c9cb8a5c134bed61154a7907ba MATCH |
|
| 177 | + |
|
| 178 | + For the file: b |
|
| 179 | + you want: c8136ca761229bad59497021a8f425af |
|
| 180 | + you have: c8136ca761229bad59497021a8f425af MATCH |
|
| 181 | + |
|
| 182 | + For the file: c |
|
| 183 | + you want: d6db0da4b084fff4b255ae7a4e95ed62 |
|
| 184 | + you have: d6db0da4b084fff4b255ae7a4e95ed62 MATCH |
|
| 185 | + |
|
| 186 | + For the file: d |
|
| 187 | + you want: dadd5272203fa77b80f26cf355e6e833 |
|
| 188 | + you have: dadd5272203fa77b80f26cf355e6e833 MATCH |
|
| 189 | + |
|
| 190 | + For the file: e |
|
| 191 | + you want: af095aeaaf55a8a3b351a921baebc9e7 |
|
| 192 | + you have: af095aeaaf55a8a3b351a921baebc9e7 MATCH |
|
| 193 | + |
|
| 194 | + For the file: f |
|
| 195 | + you want: 84d0fd81532fac6c743c8054f76f0270 |
|
| 196 | + you have: 84d0fd81532fac6c743c8054f76f0270 MATCH |
|
| 197 | + |
|
| 198 | + For the file: g |
|
| 199 | + you want: c36a56a9ab8190e4d007bd16e377639a |
|
| 200 | + you have: c36a56a9ab8190e4d007bd16e377639a MATCH |
|
| 201 | + |
|
| 202 | + For the file: h |
|
| 203 | + you want: 226c53b09f112cf7323cd5263302ea95 |
|
| 204 | + you have: 226c53b09f112cf7323cd5263302ea95 MATCH |
|
| 205 | + |
|
| 206 | +``` |
|
| 207 | + |
|
| 208 | +If something is off, your checksum will not match the dac0 checksum, and |
|
| 209 | +verification will instead say "**MISMATCH**", like follows (note that a |
|
| 210 | +mismatched checksum can be anything, and likely not what is seen in this |
|
| 211 | +example): |
|
| 212 | + |
|
| 213 | +``` |
|
| 214 | +==========unix/dac0 whole file comparison========================================= |
|
| 215 | + For the file: a |
|
| 216 | + you want: cca000c9cb8a5c134bed61154a7907ba |
|
| 217 | + you have: cca000c9cb8a5c134bed61154a7907ba MATCH |
|
| 218 | + |
|
| 219 | + For the file: b |
|
| 220 | + you want: d8136ca761229bad59497021a8f425af |
|
| 221 | + you have: c8136ca761229bad59497021a8f425af MISMATCH |
|
| 222 | + |
|
| 223 | + For the file: c |
|
| 224 | + you want: d6db0da4b084fff4b255ae7a4e95ed62 |
|
| 225 | + you have: d6db0da4b084fff4b255ae7a4e95ed62 MATCH |
|
| 226 | + |
|
| 227 | + For the file: d |
|
| 228 | + you want: dadd5272203fa77b80f26cf355e6e833 |
|
| 229 | + you have: dadd5272203fa77b80f26cf355e6e833 MATCH |
|
| 230 | + |
|
| 231 | + For the file: e |
|
| 232 | + you want: af095aeaaf55a8a3b351a921baebc9e7 |
|
| 233 | + you have: af095aeaaf55a8a3b351a921baebc9e7 MATCH |
|
| 234 | + |
|
| 235 | + For the file: f |
|
| 236 | + you want: 84d0fd81532fac6c743c8054f76f0270 |
|
| 237 | + you have: 84d0fd81532fac6c743c8054f76f0270 MATCH |
|
| 238 | + |
|
| 239 | + For the file: g |
|
| 240 | + you want: d36a56a9ab8190e4d007bd16e377639a |
|
| 241 | + you have: c36a56a9ab8190e4d007bd16e377639a MISMATCH |
|
| 242 | + |
|
| 243 | + For the file: h |
|
| 244 | + you want: 226c53b09f112cf7323cd5263302ea95 |
|
| 245 | + you have: 226c53b09f112cf7323cd5263302ea95 MATCH |
|
| 246 | + |
|
| 247 | +``` |
|
| 248 | + |
|
| 249 | +## SUBMISSION |
|
| 250 | + |
|
| 251 | +To be successful in this project, the following criteria (or their |
|
| 252 | +equivalent) must be met: |
|
| 253 | + |
|
| 254 | + * Project must be submit on time, by the deadline. |
|
| 255 | + * Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline. |
|
| 256 | + * Track/version your projects files in your private semester repository |
|
| 257 | + * Submit a copy of your final archive to me using the **submit** tool. |
|
| 258 | + |
|
| 259 | +### SUBMIT TOOL USAGE |
|
| 260 | + |
|
| 261 | +Let's say you have completed work on the project, and are ready to |
|
| 262 | +submit, you would do the following: |
|
| 263 | + |
|
| 264 | +``` |
|
| 265 | +lab46:~/src/SEMESTER/DESIG/PROJECT$ submit DESIG PROJECT file1 file2 file3 ... fileN |
|
| 266 | +``` |
|
| 267 | + |
|
| 268 | +A less abstract instantiation of the above (to help you transition): |
|
| 269 | + |
|
| 270 | +``` |
|
| 271 | +lab46:~/src/SEMESTER/unix/dac0$ submit unix dac0 result.tar.gz dac0.steps |
|
| 272 | +Submitting unix project "dac0": |
|
| 273 | + -> result.tar.gz(OK) |
|
| 274 | + -> dac0.steps(OK) |
|
| 275 | + |
|
| 276 | +SUCCESSFULLY SUBMITTED |
|
| 277 | +``` |
|
| 278 | + |
|
| 279 | +You should get some sort of confirmation indicating successful submission |
|
| 280 | +if all went according to plan. If not, check for typos and or locational |
|
| 281 | +mismatches. |
|
| 282 | + |
|
| 283 | +## RUBRIC |
|
| 284 | + |
|
| 285 | +I'll be evaluating the project based on the following criteria: |
|
| 286 | + |
|
| 287 | +``` |
|
| 288 | +78:dac0:final tally of results (78/78) |
|
| 289 | +*:dac0:archive submitted [6/6] |
|
| 290 | +*:dac0:archive has correct name of result.tar.gz [6/6] |
|
| 291 | +*:dac0:archive is max compressed with gzip [6/6] |
|
| 292 | +*:dac0:archive is a tar archive [6/6] |
|
| 293 | +*:dac0:archive extracts into current directory [6/6] |
|
| 294 | +*:dac0:archive contains 8 english readable files [6/6] |
|
| 295 | +*:dac0:archived files are named a-h [6/6] |
|
| 296 | +*:dac0:archived files named in order of size [6/6] |
|
| 297 | +*:dac0:instructions submitted in text file [6/6] |
|
| 298 | +*:dac0:instructions in file named dac0.steps [6/6] |
|
| 299 | +*:dac0:dac0.steps contains list of instructions for accomplishing task [6/6] |
|
| 300 | +*:dac0:dac0.steps instructions are accurate and correct [6/6] |
|
| 301 | +*:dac0:dac0.steps any extra information after hash mark [6/6] |
|
| 302 | +``` |
|
| 303 | + |
|
| 304 | +### ADDITIONALLY |
|
| 305 | + |
|
| 306 | + * Solutions not abiding by spirit of project will be subject to a 50% overall deduction |
|
| 307 | + * Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction |
|
| 308 | + * Solutions not utilizing indentation to promote scope and clarity or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction |
|
| 309 | + * Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction |
|
| 310 | + |