Programming II IAX0584 Lecture + lab: Risto Heinsar & Co Vladimir Viies Declare subject to: Vladimir Viies
bit.ly/iax0584_intro_quiz 2018 Risto Heinsar
Contact Risto Heinsar Room: ICT-517 Consultations: risto.heinsar [ät] ttu.ee Room: ICT-517 Consultations: Dedicated time: TBD Possible to use my other lab times https://blue.pri.ee/ttu http://www.tud.ttu.ee/im/Vladimir.Viies/ Moodle: TBD 2018 Risto Heinsar
blue.pri.ee/ttu Moodle Lab material Announcements Tutorials Coding style Examples Homework tasks Multilingual Homework submissions and feedback Results Available soon 2018 Risto Heinsar
Prerequisites C program structure Variable declarations Arrays, up to 2 dimensions Loops Conditionals Strings Functions Ability to create a decent title page and write documentation 2018 Risto Heinsar
What to expect Pointers Binary operations File access Programming microcontrollers Structures Etc. Dynamic memory management Recursions Advanced data structures (stack, linked list) 2018 Risto Heinsar
Coding style Using our coding style guide is highly recommended, but not mandatory. If you already have a commonly acceptable style, we’ll allow it. However the following is mandatory Meaningful comments (functions, files, complex operations, conditions etc.) Different naming schemes for variables, functions, macros Whitespace (empty lines, spaces) Line length Uniformity – sticking with the style throughout the code 2018 Risto Heinsar
Borrowing ideas and code When using code written by someone else, you must understand exactly what it does and how it does it. When working together in the lab, everybody involved must have full understanding of the code. We may ask you to defend your lab tasks, homework, test or exam code. In this case, the score will be 0 until a successful defense. Obvious and intentional plagiarism will be dealt with according to the procedure for processing contemptible behavior. 2018 Risto Heinsar
https://www.ttu.ee/faculties/school-of-information-technologies/it- studies/organization-of-studies-2/procedure-for-processing- contemptible-behavior/ 2018 Risto Heinsar
Your grade 15p homework I 15p homework II 10p homework III 65p exam 2p for advanced solutions 15p homework II 10p homework III 65p exam “5” 90p+ “4” 80 – 89p “3” 70 – 79p “2” 60 – 69p “1” 50 – 59p “0” 0 – 49p 2018 Risto Heinsar
The exam Prerequisite = tests (40p) + lab (36p) + bonus (10p) Pre-exam Exam Prerequisite 60p During a lab time Some topics removed Prerequisite 50p During the examination session All of the topics Prerequisite = tests (40p) + lab (36p) + bonus (10p) You can only use the lab computer Exam will consist of code and a written part 2018 Risto Heinsar
Homework I and II Homework I (15p base + 2p bonus) Using structures Files Homework II (15p base + 2p bonus) Dynamic memory management Error-proofing … and everything learnt so far (style, functions etc.) Each week past deadline reduces the score by 1p (up to -5p)* 2018 Risto Heinsar
Homework III Database Programming a microcontroller Your own project Communicating with a database Creating a simple UI Programming a microcontroller TBD Your own project If you have something in mind that’s related to this subject and you really want to do it Only with specific per-project agreements Can involve multiple students (well-defined areas of responsibility) Documentation, code and presentation required 2018 Risto Heinsar
Labs A total of 36p (participation, solving tasks, pop quizzes, etc.) Lab tasks are usually personal, however sharing ideas and seeking answers to problems amongst each other is encouraged Only accepted face to face task submissions When completed, let us know Most tasks have advanced subtasks/extras for additional points If you didn’t finish in time, do it at home and show at a later date. For basic tasks, a coefficient will be applied For tasks published as samples, points become unavailable 2018 Risto Heinsar
Bonus points Creating additional useful/relevant functionality to the given lab tasks that is not in the specification * Creative solutions to problems * Overachieving (performance oriented code, good use of pointers, data structures etc.) * * Subject to our opinions 2018 Risto Heinsar
Tests Test 1 (20p) Pointers Files Structures Test 2 (20p) Dynamic memory allocation Stack Relations Recursion Tests will consist of code and a written task (questions about material) Only using lab computers Retesting during predefined consultation times 2018 Risto Heinsar
Deadlines and dates Item Date Notes Homework I 07.10.2018 Homework II Homework II TBD Homework III Date is provided by task supervisor! Homework III custom project 23.11.2018 (week 12) Agreement only Test I Week 6 or 7 During the lab Test II Tests lock Week 15 or 16 Labs, bonus lock 10.12.2018 Hard deadline, no longer accepted HWI, HWII lock 21.12.2018 12:00 Pre-exam 2018 Risto Heinsar
Questions? 2018 Risto Heinsar