Corning Community College
CSCS1730 UNIX/Linux Fundamentals
======PROJECT: Sorting Random Files (SRF0)======
=====OBJECTIVE=====
To apply your command-line skills in the creation of a script to process some arbitrary collection of files in accordance with stated specifications. And, to collaboratively document the process on this wiki page.
=====OVERVIEW=====
Given the allocated set of pseudorandom files, write a bash shell script to sort the files by size, and name numerically from 10 (smallest) through the largest file.
You will be collaborating together as a class on the project page, which can include some pseudocode and other concepts pertinent to all implementations.
=====EDIT=====
You will want to go [[/notes/unix/fall2022/projects/srf0|here]] to edit and fill in the various sections of the document:
* [[/notes/unix/fall2022/projects/srf0|https://lab46.g7n.org/notes/unix/fall2022/projects/srf0]]
{{page>notes:unix:projects:srf0&nouser&nodate&nomdate&editbtn}}
=====SUBMISSION=====
To be successful in this project, the following criteria (or their equivalent) must be met:
* Project must be submit on time, by the deadline.
* Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline.
* all requested functionality must conform to stated requirements (either on this document or in a comment banner in source code files themselves).
* Executed programs must display in a manner similar to provided output
* output formatted, where applicable, must match that of project requirements
* Processing must be correct based on input given and output requested
* Output, if applicable, must be correct based on values input
* Code must be nicely and consistently indented
* Code must be consistently written, to strive for readability from having a consistent style throughout
* Code must be commented
* Any "to be implemented" comments **MUST** be removed
* these "to be implemented" comments, if still present at evaluation time, will result in points being deducted.
* Sufficient comments explaining the point of provided logic **MUST** be present
* Track/version the source code in your lab46 semester repository
* Submit a copy of your source code to me using the **submit** tool by the deadline.
====Submit Tool Usage====
Let's say you have completed work on the project, and are ready to
submit, you would do the following:
lab46:~/src/SEMESTER/unix/srf0$ submit unix srf0 srf0.sh
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.
=====RUBRIC=====
I'll be evaluating the project based on the following criteria:
78:srf0:final tally of results (78/78)
*:srf0:script clean run, no syntax or error messages [13/13]
*:srf0:script implementation works on all files [26/26]
*:srf0:adequate modifications to script from template [13/13]
*:srf0:script operations conform to project specifications [13/13]
*:srf0:code tracked in lab46 semester repo [13/13]
===Pertaining to the collaborative authoring of project documentation===
* each class member is to participate in the contribution of relevant information and formatting of the documentation
* minimal member contributions consist of:
* near the class average edits (a value of at least four productive edits)
* near the average class content change average (a value of at least 256 bytes (absolute value of data content change))
* near the class content contribution average (a value of at least 1kiB)
* no adding in one commit then later removing in its entirety for the sake of satisfying edit requirements
* adding and formatting data in an organized fashion, aiming to create an informative and readable document that anyone in the class can reference
* content contributions will be factored into a documentation coefficient, a value multiplied against your actual project submission to influence the end result:
* no contributions, co-efficient is 0.50
* less than minimum contributions is 0.75
* met minimum contribution threshold is 1.00
===Additionally===
* Solutions not abiding by spirit of project will be subject to a 50% overall deduction
* 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 or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction
* 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