{"id":2364,"date":"2015-12-18T23:32:50","date_gmt":"2015-12-18T21:32:50","guid":{"rendered":"http:\/\/www.blue.pri.ee\/ttu\/?page_id=2364"},"modified":"2026-04-05T20:42:08","modified_gmt":"2026-04-05T18:42:08","slug":"labs","status":"publish","type":"page","link":"https:\/\/blue.pri.ee\/ttu\/programming-ii\/labs\/","title":{"rendered":"Labs"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Note: Future labs can change<\/p>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>1. Introduction + pointers<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2_en\/pr2en1-pointers\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/00_introduction.pdf\"><strong>Introduction<\/strong><\/a><\/li>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/01_pointers.pdf\"><strong>Pointers<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>2. Introduction + enumeration<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p>Homework: <a href=\"https:\/\/blue.pri.ee\/ttu\/programming-ii\/getting-started-programming-2\/\"><b>Go through Getting Started!<\/b><\/a><\/p>\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2_en\/pr2en2-enumerations\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/02_enum.pdf\"><strong>Enumeration<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>3. Structures<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/maaratlemata-en\/pr2en3-structures\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/03_structures.pdf\"><strong>Structures<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>4. Structures pt 2 and basic header files<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en4-structures-2-and-basic-header\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/04_structures_vol2.pdf\"><strong>Structures vol2<\/strong><\/a><\/li>\n<\/ul>\n<p data-select-like-a-boss=\"1\"><\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>5. QSort, dividing code and using libraries<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p data-select-like-a-boss=\"1\"><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en5-qsort-and-dividing-code\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/05_qsort.pdf\"><strong>QSort<\/strong><\/a><\/li>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/05_division.pdf\"><strong>Dividing code<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>6.  Valgrind, basic Makefile, logging, library creation<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en6-makefile-and-logging\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/06_debugging.pdf\"><strong>Debugging<\/strong><\/a><\/li>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/06_makefile_logging.pdf\"><strong>Makefile and logging<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>7. Dynamic memory allocation<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en7-dynamic-memory-allocation\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/07_dynamic_memory_management.pdf\"><strong>Dynamic memory 1<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>8. Dynamic memory allocation 2: reallocation<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p>Homework: Watch [<strong><a href=\"http:\/\/www.youtube.com\/watch?v=_8-ht2AKyH4&amp;list=TLn7hcrtQgrIsNuGQujVnwzM8jbtxwTgrb\">this video<\/a><\/strong>]<strong>\u00a0<\/strong>and try to understand it<\/p>\n<p><a style=\"cursor: pointer !important; user-select: none !important;\" href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en8-dynamic-memory-2\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/08_dynamic_memory_management_2.pdf\"><strong>Dynamic memory 2<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>9. Embedded systems<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><strong>NB! This lab requires a development board that&#8217;s available only during the class<\/strong><\/p>\n<ul>\n<li>Materials for the lab (slides, basecode etc.) <strong><a href=\"http:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\">ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII<\/a><\/strong>\n<ul>\n<li><a href=\"https:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\/uController.pdf\">uController.pdf<\/a> &#8211; theory on embedded systems<\/li>\n<li><a class=\"item file\" href=\"https:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\/MPLABX_Basys_MX3.pdf\">MPLABX_Basys_MX3.pdf<\/a> &#8211; how to create a project<\/li>\n<li><a href=\"https:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\/Basys3%20TASKs.pdf\">Basys3 TASKs.pdf<\/a> &#8211; lab tasks<\/li>\n<li><a href=\"https:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\/config.c\">config.c<\/a>, <a href=\"https:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\/config.h\">config.h<\/a> and <a href=\"https:\/\/ati.ttu.ee\/~hartz\/basys-mx3\/ENG\/ProgII\/main.c\">main.c<\/a> are starter code files.<\/li>\n<\/ul>\n<\/li>\n<li>Demo video of tasks 2 and 4 [ <a href=\"https:\/\/www.youtube.com\/watch?v=ujzB1zlODso&amp;feature=youtu.be\"><strong>youtube<\/strong><\/a> ]\n<ul>\n<li>Task 4 is shown first, then task 2.<\/li>\n<li><strong>Note:<\/strong> Task 4 in the video shows also additional operations not a part of the lab task.<\/li>\n<\/ul>\n<\/li>\n<li>Supplemental slides on\u00a0<a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/x_numeral_systems.pdf\"><strong>numeral systems<\/strong><\/a><\/li>\n<li data-select-like-a-boss=\"1\">Supplemental slides on <strong><a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/x_Binary_Operations.pdf\">bitwise operations<\/a><\/strong><\/li>\n<li data-select-like-a-boss=\"1\">Bit hacks: <strong><a href=\"https:\/\/graphics.stanford.edu\/~seander\/bithacks.html\">https:\/\/graphics.stanford.edu\/~seander\/bithacks.html<\/a><\/strong><\/li>\n<\/ul>\n<\/div><\/div><div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>10. Test<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p>Test during the lesson!<\/p>\n<ul>\n<li>Slides:<a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/09_test_info.pdf\"><strong> Test information<\/strong><\/a><\/li>\n<li>Sample test: <strong><a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/sample_test.pdf\">https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/sample_test.pdf<\/a><\/strong><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>11. Recursions and stack<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en11-stack-and-recursion-2\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/11_recursion.pdf\"><strong>Recursion<\/strong><\/a><\/li>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/11_stack.pdf\"><strong>Stack<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>12. Linked list<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en12-linked-list\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/12_linked_list.pdf\"><strong>Linked\u00a0list<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>13. Trees<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en13-trees\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/13_trees.pdf\"><strong>Tr<\/strong><strong>e<\/strong><strong>es<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>14. SQL<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><a style=\"cursor: pointer !important; user-select: none !important;\" href=\"https:\/\/blue.pri.ee\/ttu\/labs\/pr2en14-sql\/\"><strong>Extended lab description<\/strong><\/a><\/p>\n<ul>\n<li>Slides: <a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/slaidid-en\/14_sql.pdf\"><strong>SQL<\/strong><\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>15. C++ and OOP<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-simple su-spoiler-icon-plus\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>16. Exam<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p>Registration to the exam is mandatory on OIS!<\/p>\n<p>Note: It is possible to write the retest this week. Retake is during the same time as the exam. Please inform me if you wish to retake the test by writing to me on MM at least a day before.<\/p>\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/programming-ii\/exam\/\"><strong>Exam informaton<\/strong><\/a><\/p>\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/files\/iax0584\/sample_exam.pdf\"><strong>Sample exam<\/strong><\/a><\/p>\n<\/div><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Note: Future labs can change &nbsp; &nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2340,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"footnotes":""},"class_list":["post-2364","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/2364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/comments?post=2364"}],"version-history":[{"count":45,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/2364\/revisions"}],"predecessor-version":[{"id":11334,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/2364\/revisions\/11334"}],"up":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/2340"}],"wp:attachment":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/media?parent=2364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}