meta data for this page
  •  

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:ct30a5000:generic_instructions_and_requirements [2010/08/10 18:15]
julaakko
courses:ct30a5000:generic_instructions_and_requirements [2012/08/29 13:22]
julaakko
Line 1: Line 1:
-Network programming [[https://​noppa.lut.fi/​noppa/​opintojakso/​ct30a5000/etusivu|@ Noppa]] | [[courses:​ct30a5000:​start|@ wiki]] -  +Network programming [[https://​noppa.lut.fi/​noppa/​opintojakso/​ct30a5001/etusivu|@ Noppa]] | [[courses:​ct30a5000:​start|@ wiki]] -  
-Updated: ​ --- //​[[jussi.laakkonen@lut.fi|Jussi Laakkonen]] ​2010/08/10 17:55//+Updated: ​ --- //​[[jussi.laakkonen@lut.fi|Jussi Laakkonen]] ​2012/08/20 17:38//
 ---- ----
 +
 +Updates:
 +> 16.9.2011: Added clarification for README file
 +
 ====== Generic instructions and requirements ====== ====== Generic instructions and requirements ======
  
   * INDIVIDUAL WORK – **NO COPYING** – NO GROUPWORK (discuss but do not share code)   * INDIVIDUAL WORK – **NO COPYING** – NO GROUPWORK (discuss but do not share code)
 +    * If you're caught copying directly from others or from Internet/​books your grade is 0.
 +    * Remember the difference between plagiarism and adaptation.
   * Use **C-language** and **GCC compiler** (see //man gcc//)   * Use **C-language** and **GCC compiler** (see //man gcc//)
     * Eliminate warning-messages (use ''​-Wall''​ for ''​gcc''​)     * Eliminate warning-messages (use ''​-Wall''​ for ''​gcc''​)
-  ​* Program can be **run in Linux** (on [[admin:​pentinkulma|computers in classroom ​6325]]) +    * Try to follow coding standards (''​-ansi''​ **is not required**),​ use extended C99 standard: GNU99: ''​-std=gnu99''​. 
-  * Do not use external libraries (use only system libraries) +  ​* Program can be **run in Linux** (on [[admin:​pentinkulma|computers in classroom ​6218]]) 
-  * Use iterative approach (no threads or fork() unless requested)+  * Do not use external libraries (use only system libraries, all required should be installed into classroom 6218 machines
 +  * Use iterative approach (__no threads or fork()__ unless requested) 
 +  * **Graphical user interface __IS NOT REQUIRED__, NOR RECOMMENDED**
   * Use a **make file** (see //man make// or use a [[http://​www2.it.lut.fi/​courses/​CT30A5000/​material/​Makefile|Makefile template]])   * Use a **make file** (see //man make// or use a [[http://​www2.it.lut.fi/​courses/​CT30A5000/​material/​Makefile|Makefile template]])
     * Compile: make build     * Compile: make build
Line 15: Line 23:
   * **Comment** and **document** your code   * **Comment** and **document** your code
     * Comments directly to source code files     * Comments directly to source code files
-    * Add name, student number and email into beginning of **EVERY** file.+    * Add name, student number and email into the beginning of **EVERY** file. 
 +    * All documentation either in __English__ or in __Finnish__
   * Use **good structure** for your code   * Use **good structure** for your code
     * Divide code to functions based on responsibilities.     * Divide code to functions based on responsibilities.
Line 21: Line 30:
     * C-code in .c files and header descriptions in .h files.     * C-code in .c files and header descriptions in .h files.
     * **ONE MAIN FUNCTION IS NOT GOOD STRUCTURING OF CODE** !     * **ONE MAIN FUNCTION IS NOT GOOD STRUCTURING OF CODE** !
-    * **!!!!!!! NO GOTO !!!!!!!** ​People it is the year 2009, we're not anymore living in the 80s!+    * **!!!!!!! NO GOTO STRUCTURES ​!!!!!!!**
     * See [[courses:​ct30a5000:​generic_instructions_and_requirements#​using_multiple_files|short example about how to use multiple files]].     * See [[courses:​ct30a5000:​generic_instructions_and_requirements#​using_multiple_files|short example about how to use multiple files]].
-  * Write a **readme file**, which contains:+  * Write a **readme file**, ​**AS PLAIN TEXT, !__NO DOC/​ODT/​PDF/​__!,​ **which contains:
     * How to run the program. **Follow the given instructions on __every__ assignment**     * How to run the program. **Follow the given instructions on __every__ assignment**
-    * Description of the task (what has been done, **what references were used**)+    * Description of the task (what has been done
 +    ​List what **references were used** ​(books, Internet pages/​tutorials,​ etc.)
     * Features that were implemented     * Features that were implemented
     * Description of division of code into separate files     * Description of division of code into separate files
-    * Own ides (text) or solutions (code) for improving the task+    * Own ideas (text) or solutions (code) for improving the task
       * __Own improvements must clearly be a new feature__, i.e. separate feature that enhances functionalities of the application.       * __Own improvements must clearly be a new feature__, i.e. separate feature that enhances functionalities of the application.
       * __Must be documented__! No documentation about own feature(s) → no additional points       * __Must be documented__! No documentation about own feature(s) → no additional points
Line 95: Line 105:
 int main(int argc, char *argv[]) int main(int argc, char *argv[])
 { {
- ​printf("​Main"​);​+ ​printf("​Main\n");
  
  ​run(argc);​  ​run(argc);​