====== Weekly Lab Exercises ====== === Week 3 (June 4) === [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/labs/EECS3311-S15_Week03_Lab.pdf|Lab 3 instructions]] - [[https://www.youtube.com/watch?v=Ky62mHb-TJ8&index=1&list=PL5dxAmCmjv_6eGKzRH__poynurbWS3MIr|Video for Exercise 1 -- Using the across Constructs on Iterable Objects]] - [[https://www.youtube.com/watch?v=Geh60ySLeIw&list=PL5dxAmCmjv_4XB5HNM2AfExEo5qsSDQXS&index=2|Video for Exercise 2 -- Making the Cart of Orders Iterable]] - [[https://www.youtube.com/watch?v=_0ObNUtKsXo&index=2&list=PL5dxAmCmjv_7dzL0y9L0ZLCKb6cMcsqOm|Video for Exercise 3 -- Making the Generic Book Iterable]] === Week 2 (May 28) === [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/labs/EECS3311-S15_Week02_Lab.pdf|Lab 2 instructions]] - [[https://www.youtube.com/watch?v=2nkKWzZJ50g|Video for Exercise 1 -- A Book of Any vs. A Generic Book]] ([[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/video_supplements/02_Book_of_Any_vs_Generic_Book.pdf|supplement document]]) * After following the video, you are asked to complete the **contracts**, **implementations**, and **tests** for both //BOOK// and //GENERIC_BOOK// classes. * You are also asked to try with **all** the four possible implementations (i.e., two //ARRAY//'s, two //LINKED_LIST//'s, a //HASH_TABLE//, and a collection of //RECORD//) for the mappings between names and records. - [[https://www.youtube.com/watch?v=01zGKAjJM5w|Video for Exercise 2 -- Applying Information Hiding to an Online Shopping System]] ([[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/video_supplements/03_Information_Hiding_Shop_Cart.pdf|supplement document]]) * After following the video, you are asked to complete the **contracts**, **implementations**, and **tests** for both //GOOD_CART// and //GOOD_SHOP// classes. * You are also asked to try with **both** of the possible implementations (i.e., an //ARRAY//, a //LINKED_LIST//) for representing the cart orders. === Week 1 (May 21) === - Exercise 1 * Follow closely with: - [[https://www.youtube.com/watch?v=ovBNk6uNQDM&list=PL5dxAmCmjv_6r5VfzCQ5bTznoDDgh__KS|this tutorial series]] - [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/video_supplements/01_EStudio_Bank.pdf|this document]] - [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/slides/EECS3311-S15_01A_Overview.pdf|slides]] - Exercise 2: * Download and unzip a version of the [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/labs/01_bank.zip|bank project]]. * Compile the project. * Run Workbench System (described above) * All tests should fail! * This is because the implementation and contracts (pre- and post-condition, and invariants) are missing. * Complete all the missing implementations and contracts. * Use breakpoints and the debugger to identify the bugs, if any. * Repeat until you can pass all tests.