This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:spring2015:unix:projects:uxi0 [2015/01/20 12:50] – created wedge | haas:spring2015:unix:projects:uxi0 [2015/01/20 21:03] (current) – [Submit Tool Usage] wedge | ||
---|---|---|---|
Line 64: | Line 64: | ||
Like the Opus, I will be looking for a minimal amount of repository-related activity PER WEEK (for example, I will be looking for AT LEAST 1 commit in relation to your program for week 1). | Like the Opus, I will be looking for a minimal amount of repository-related activity PER WEEK (for example, I will be looking for AT LEAST 1 commit in relation to your program for week 1). | ||
- | ====Program to Implement==== | + | ====Reading==== |
- | As a first week exercise, I would like you to implement, successfully compile, and verify correct execution of the best first program every great programmer writes: | + | As a first week activity, I would like for you to read the **UNIX for the Beginning Mage** book in its entirety, and spend ample time practicing the commands and concepts covered on lab46. |
- | Code will be as follows: | ||
- | <code c 1> | ||
- | /* | ||
- | * hello.c - the first best C program ever | ||
- | * | ||
- | * written by: your name | ||
- | */ | ||
- | #include < | ||
- | |||
- | int main() | ||
- | { | ||
- | fprintf(stdout, | ||
- | return (0); // return a success status to OS | ||
- | } | ||
- | </ | ||
- | |||
- | Your task will be to transcribe this code (sans line numbers), into a source file (call it **hello.c** for simplicity), | ||
- | |||
- | Verify you typed in everything correctly by compiling it; you want no warnings or errors: | ||
- | |||
- | <cli> | ||
- | lab46: | ||
- | lab46: | ||
- | </ | ||
- | |||
- | Get to know/ask questions about that **gcc** line... this will not be the only time you see it. | ||
- | |||
- | Finally, verify the program runs as anticipated: | ||
- | |||
- | <cli> | ||
- | lab46: | ||
- | Hello, World! | ||
- | lab46: | ||
- | </ | ||
- | |||
- | Once satisfied, be sure to submit the program as indicated below. | ||
- | =====Submission Criteria===== | ||
- | To be successful in this project, the following criteria must be met: | ||
- | |||
- | * Project must be submit on time, by the posted deadline. | ||
- | * Late submissions will lose 25% credit per day, with the submission window closing on the 4th day following the deadline. | ||
- | * All code must compile cleanly (no warnings or errors) | ||
- | * all requested functions must be implemented in the related library or program | ||
- | * all requested functionality must conform to stated requirements (either on this project page or in 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 (you may use the **indent** tool) | ||
- | * Code must be commented | ||
- | * Any "to be implemented" | ||
- | * these "to be implemented" | ||
- | * Sufficient comments explaining the point of provided logic **MUST** be present | ||
- | * Track/ | ||
- | * Submit a copy of your source code to me using the **submit** tool (**make submit** will do this) 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 (assuming you have a file called info.txt): | ||
- | |||
- | <cli> | ||
- | lab46: | ||
- | Submitting unix project " | ||
- | -> info.txt(OK) | ||
- | |||
- | SUCCESSFULLY SUBMITTED | ||
- | lab46: | ||
- | </ |