User Tools

Site Tools


labs

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
labs [2015/05/30 10:18] jackielabs [2015/06/08 00:20] (current) jackie
Line 1: Line 1:
 ====== Weekly Lab Exercises ====== ====== 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) === === Week 2 (May 28) ===
Line 5: Line 13:
 [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/labs/EECS3311-S15_Week02_Lab.pdf|Lab 2 instructions]] [[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|Tutorial Video for Exercise 1 -- A Book of Any vs. A Generic Book]]+  - [[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.     * 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.     * 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) === === Week 1 (May 21) ===
  
-Exercise 1 (follow closely with [[https://www.youtube.com/watch?v=ovBNk6uNQDM&list=PL5dxAmCmjv_6r5VfzCQ5bTznoDDgh__KS|this tutorial series]] and the [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/slides/EECS3311-S15_01A_Overview.pdf|slides]]): +  - Exercise 1 
-  * Launch Eiffel Studio (estudio15.01 &) +    * Follow closely with:  
-  * Create an empty project named //bank// +      - [[https://www.youtube.com/watch?v=ovBNk6uNQDM&list=PL5dxAmCmjv_6r5VfzCQ5bTznoDDgh__KS|this tutorial series]] 
-  * Add the //espec// library from the project setting +      - [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/video_supplements/01_EStudio_Bank.pdf|this document]] 
-  * From the clusters explorer, add a new class //ACCOUNT// +      - [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/slides/EECS3311-S15_01A_Overview.pdf|slides]] 
-    * Copy from slides 15 and 16 the code of //ACCOUNT// to begin with +  Exercise 2: 
-  * From the clusters explorer, add a new class //TEST_ACOUNT//  +    * Download and unzip a version of the [[https://svn.eecs.yorku.ca/repos/3311/2015S/Public/labs/01_bank.zip|bank project]]. 
-    * Choose //ES_TEST// as the parent of this class  +    * Compile the project. 
-    * Copy from slide 23 the code of //TEST_ACCOUNT// to begin with +    * Run Workbench System (described above) 
-  * Add Boolean queries //test_create_account// (slide 10), //test_withdraw// (slide slide 11), //test_withdraw2// (slide 19), and procedure //test_withdraw3// (slide 22) to class //TEST_ACCOUNT// +    * All tests should fail! 
-  * Add these queries and procedures as test cases as shown in slide 23 +    * This is because the implementation and contracts (pre- and post-condition, and invariants) are missing. 
-  * Launch the tests (click on the small down arrow to the right of the //Run// button, then choose //Run Workbench System//)  +    * Complete all the missing implementations and contracts. 
-  * If the tests fail, set break points and debug, and rerun the tests+    * Use breakpoints and the debugger to identify the bugs, if any. 
-  * Follow the rest of slides to gradually add the //TRANSACTION// class and new features to the //ACCOUNT// class. +    * Repeat until you can pass all tests.
- +
-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.+
  
labs.1432981138.txt.gz · Last modified: 2015/05/30 10:18 by jackie

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki