Difference between revisions of "CISC181 F2017"
(→Schedule) |
(→Schedule) |
||
(57 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
|- | |- | ||
|valign="top"|'''Instructor''' | |valign="top"|'''Instructor''' | ||
− | |Prof. Christopher Rasmussen<br>E-mail: cer@cis.udel.edu<br>Office: Smith 446<br>Office hours: | + | |Prof. Christopher Rasmussen<br>E-mail: cer@cis.udel.edu<br>Office: Smith 446<br>Office hours: Wednesdays, 10:15 am-12:15 pm |
|- | |- | ||
|valign="top"|'''TA''' | |valign="top"|'''TA''' | ||
Line 38: | Line 38: | ||
|valign="top"|'''Grading''' | |valign="top"|'''Grading''' | ||
| | | | ||
− | |||
* 36% Labs (4% each). These are sets of small-to-medium tasks/programs which must be done '''individually'''. Labs 0-7 go out each Tuesday and must be completed by '''Monday night of the following week'''. Lab #8 will take place completely during the lab session (if you absolutely cannot attend, you will have an opportunity to make it up at home). [[CISC181_F2017_LabGrading|Lab grading details here]] | * 36% Labs (4% each). These are sets of small-to-medium tasks/programs which must be done '''individually'''. Labs 0-7 go out each Tuesday and must be completed by '''Monday night of the following week'''. Lab #8 will take place completely during the lab session (if you absolutely cannot attend, you will have an opportunity to make it up at home). [[CISC181_F2017_LabGrading|Lab grading details here]] | ||
+ | * 9% [[CISC181_F2017_ActivityCompletion|Activity completion in ZJ]] before day of midterm | ||
+ | * 20% Midterm exam | ||
* 15% [[CISC181_F2017_ProjectRequirements | Programming project]] This is a two-step, two-week assignment which may be done as part of a '''pair''' | * 15% [[CISC181_F2017_ProjectRequirements | Programming project]] This is a two-step, two-week assignment which may be done as part of a '''pair''' | ||
− | |||
* 20% Final exam (functionally, this is a second midterm) | * 20% Final exam (functionally, this is a second midterm) | ||
* "Bonus 2%" Complete end-of-semester course evaluation | * "Bonus 2%" Complete end-of-semester course evaluation | ||
Line 120: | Line 120: | ||
| | | | ||
| | | | ||
− | |''Lab #0 (Sep. 5)'' | + | |''[[CISC181_F2017_Lab0 | Lab #0: Math, formatting, branching]] (Sep. 5)'' |
|- | |- | ||
|2 | |2 | ||
Line 127: | Line 127: | ||
|Basic input, output; <tt>Scanner</tt> and <tt>Math</tt> class, expressions, formatting for printing; naming, formatting, commenting styles | |Basic input, output; <tt>Scanner</tt> and <tt>Math</tt> class, expressions, formatting for printing; naming, formatting, commenting styles | ||
|ZJ 1.4, 1.11, 2.2-2.7, 4.1, 4.2, 16.3 | |ZJ 1.4, 1.11, 2.2-2.7, 4.1, 4.2, 16.3 | ||
− | | | + | |[https://docs.google.com/presentation/d/1Y46VKQw0Ilp9ppLzE_1_JdtidG0daQpcF0a2vVtMqeU/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|3 | |style="background:rgb(102, 204, 255)"|3 | ||
− | |Sep. 11 | + | |Sep. 11<br> |
+ | ''Register/add deadline Sep. 12'' | ||
|Variables, expressions, branching | |Variables, expressions, branching | ||
|Data types, constants, type conversions; <tt>if/else</tt>, <tt>switch</tt>, comparisons | |Data types, constants, type conversions; <tt>if/else</tt>, <tt>switch</tt>, comparisons | ||
|ZJ 2.6, 4.3-4.5, 4.7-4.8, 5-5.6, 5.11-5.13 | |ZJ 2.6, 4.3-4.5, 4.7-4.8, 5-5.6, 5.11-5.13 | ||
− | |'' | + | |''[[CISC181_F2017_Lab1 | Lab #1: More math, basic loops]] (Sep. 12)''<br> |
− | [https://docs.google.com/presentation/d/ | + | [https://docs.google.com/presentation/d/1WT1UiwcqoVFUKU8kgHW1zdAptGIUc3x_gh7yAW7W3iE/edit?usp=sharing slides] |
|- | |- | ||
|4 | |4 | ||
|Sep. 13 | |Sep. 13 | ||
|Loops | |Loops | ||
− | |<tt>while</tt>, <tt>for</tt> (single and nested); <tt>break</tt>, <tt>continue</tt> | + | |<tt>while</tt>, <tt>for</tt> (single and nested); <tt>break</tt>, <tt>continue</tt> |
|ZJ 6-6.6, 6.8-6.9, 4.9 | |ZJ 6-6.6, 6.8-6.9, 4.9 | ||
− | | | + | |[https://docs.google.com/presentation/d/1cXLfYiU7YJaXANzIi9ZBHAW2-CA5Ai6JxJbotKgYVuA/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|5 | |style="background:rgb(102, 204, 255)"|5 | ||
− | |Sep. 18 | + | |Sep. 18 |
− | + | |Basic arrays and graphics | |
− | |Basic graphics | + | |Randomness; single-dimensional arrays; graphics class: shapes, color, text; programming tips and API lookup |
− | | | ||
|<!--ZJ 5, -->[http://docs.oracle.com/javase/tutorial/uiswing/components/frame.html Making windows in Swing], [http://docs.oracle.com/javase/tutorial/2d/overview/index.html Java 2D API] | |<!--ZJ 5, -->[http://docs.oracle.com/javase/tutorial/uiswing/components/frame.html Making windows in Swing], [http://docs.oracle.com/javase/tutorial/2d/overview/index.html Java 2D API] | ||
− | |'' | + | |''[[CISC181_F2017_Lab2 | Lab #2: Basic arrays and graphics]] (Sep. 19)''<br> |
− | + | [https://docs.google.com/presentation/d/1a3ZKMl2g7wf6Qh6EwTHgQbtKBhJa-E9YeiCGFK-I0Lw/edit?usp=sharing slides] | |
|- | |- | ||
|6 | |6 | ||
Line 158: | Line 158: | ||
|Class concepts, reference variables, constructors, overloading, overriding; intro to access | |Class concepts, reference variables, constructors, overloading, overriding; intro to access | ||
|ZJ 3-3.5, 9.2-9.4, 10.3 | |ZJ 3-3.5, 9.2-9.4, 10.3 | ||
− | | | + | |[https://docs.google.com/presentation/d/1kZvwZUzYMmjLTIPDcVFj_aowcs2YUqiK8OfCwIPgClk/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|7 | |style="background:rgb(102, 204, 255)"|7 | ||
|Sep. 25 | |Sep. 25 | ||
|Objects/methods/classes | |Objects/methods/classes | ||
− | |More about public/private, accessors/mutators, | + | |More about public/private, accessors/mutators, <tt>static</tt> |
|ZJ 2.10, 3.7, 9.5-9.6, 9.11 | |ZJ 2.10, 3.7, 9.5-9.6, 9.11 | ||
− | |'' | + | |''[[CISC181_F2017_Lab3 | Lab #3: Objects]] (Sep. 26)''<br>[https://docs.google.com/presentation/d/128WV4DsV3z7LpnZE8wYOQ5CmBTt_WyJVMUUfhXszJAI/edit?usp=sharing slides] |
|- | |- | ||
|8 | |8 | ||
|Sep. 27 | |Sep. 27 | ||
|Objects/methods/classes | |Objects/methods/classes | ||
− | | | + | |Primitive wrapper classes; object comparison; <tt>this</tt>; start inheritance |
|ZJ 10.1-10.5, 11.1-11.2, 11.4, 11.6 | |ZJ 10.1-10.5, 11.1-11.2, 11.4, 11.6 | ||
− | | | + | |[https://docs.google.com/presentation/d/1RWAjqgN6bC9g_tY_hF2Ndlisd5-HPBfFSBteg7x62os/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|9 | |style="background:rgb(102, 204, 255)"|9 | ||
|Oct. 2 | |Oct. 2 | ||
− | | | + | |Objects/methods/classes |
− | | | + | |Finish inheritance (derived classes, polymorphism) |
− | | | + | | |
− | |<!--[https://docs.google.com/presentation/d/15Z1oUTufq0rgNGFQrhBTOkL8KNA-3DK8oX5hUKHb474/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1_dxpCAN7eIjtRbDQceX0n75sInU8ETGaEFkGvuZaHuA/edit?usp=sharing slides]<br>-->'' | + | |<!--[https://docs.google.com/presentation/d/15Z1oUTufq0rgNGFQrhBTOkL8KNA-3DK8oX5hUKHb474/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1_dxpCAN7eIjtRbDQceX0n75sInU8ETGaEFkGvuZaHuA/edit?usp=sharing slides]<br>-->''[[CISC181_F2017_Lab4 | Lab #4: Array lists]] (Oct. 3)''<br>[https://docs.google.com/presentation/d/1fxtgrhycw30CrmSUXUnQxbum_Noclshws0lLRb_xn6U/edit?usp=sharing slides] |
<!--[[CISC181_S2017_CardClass | Card class]], [[CISC181_S2017_DeckClass | Deck class]]--> | <!--[[CISC181_S2017_CardClass | Card class]], [[CISC181_S2017_DeckClass | Deck class]]--> | ||
|- | |- | ||
|10 | |10 | ||
|Oct. 4 | |Oct. 4 | ||
− | | | + | |Arrays and array lists |
− | | | + | |Multi-dimensional arrays; <tt>ArrayList</tt> (collections), pass-by-value vs. pass-by-reference |
− | |ZJ | + | |ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5 |
− | | | + | |[https://docs.google.com/presentation/d/1B0FBSoGbNGqSAzMJdr_wcJVVb7oIfou-UuQNHGmQBjg/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|11 | |style="background:rgb(102, 204, 255)"|11 | ||
|Oct. 9 | |Oct. 9 | ||
− | | | + | |Interfaces and strings |
− | | | + | |Abstract classes, <tt>Comparable vs. Comparator</tt>, basic string operations |
− | |ZJ 16. | + | |ZJ 5.7-5.10, 16.4, [https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html Object ordering] |
− | | | + | |[https://drive.google.com/open?id=1Ru3DH8vx5rnGrH3cLQjL6nEL3OZNlyJ4MC-nZDvxLQs slides] |
− | '' | + | ''[[CISC181_F2017_Lab5 | Lab #5: Files]] (Oct. 10)'' |
|- | |- | ||
|12 | |12 | ||
|Oct. 11 | |Oct. 11 | ||
− | | | + | |Streams and patterns |
− | | | + | |Stream types, reading text files; <tt>String.split()</tt>; regular expressions |
− | | | + | |ZJ 16.5, [http://download.oracle.com/javase/tutorial/essential/regex/index.html Regex documentation] |
− | | | + | |[https://docs.google.com/presentation/d/11XdFO8KrfDq8i3WYCB3T5bFSqeKn1rIGW0re0Ok7-hI/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|13 | |style="background:rgb(102, 204, 255)"|13 | ||
Line 209: | Line 209: | ||
| | | | ||
| | | | ||
− | |'''NO LAB Oct. 17 -- Activity completion deadline!'''< | + | |'''NO LAB Oct. 17 -- Activity completion deadline!'''<br> |
− | [http://nameless.cis.udel.edu/class_data/181_s2017/2011_midterm.pdf Partial sample midterm] | + | [https://docs.google.com/presentation/d/1-TMi3y49l7pO9p_LVyJjfcBcps1uO7sPd3_oF6ptjJI/edit?usp=sharing slides]<br> |
+ | [http://nameless.cis.udel.edu/class_data/181_s2017/2011_midterm.pdf Partial sample midterm] | ||
|- | |- | ||
|14 | |14 | ||
Line 220: | Line 221: | ||
|- | |- | ||
|style="background:rgb(102, 204, 255)"|15 | |style="background:rgb(102, 204, 255)"|15 | ||
− | |Oct. 23 | + | |Oct. 23<br>''Withdraw deadline Oct. 24'' |
− | | | + | |Generics, collections |
− | |<tt> | + | |Generic methods, classes; <tt>Collection</tt> vs. <tt>Collections</tt>; <tt>Set</tt> interface |
− | |[https://docs.oracle.com/javase/tutorial/ | + | |[https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html Collection interface] |
− | |'''NO LAB on Oct. 24''' | + | |'''NO LAB on Oct. 24'''<br> |
+ | [https://docs.google.com/presentation/d/165RXSCezQBQLWeAWInmr2VgKbtPYzHqFdmAqas_Qzrw/edit?usp=sharing slides] | ||
|- | |- | ||
|16 | |16 | ||
|Oct. 25 | |Oct. 25 | ||
|Go over midterm; testing, error-handling | |Go over midterm; testing, error-handling | ||
− | | | + | |<tt>Map</tt> interface, exceptions |
|ZJ 17-17.3, [https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html Exceptions] | |ZJ 17-17.3, [https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html Exceptions] | ||
− | | | + | |[https://docs.google.com/presentation/d/1QUpjkKT6lsqD17I0I_h7nbCD8ZFC92KWWkiXdVOPmps/edit?usp=sharing slides] |
<!--<br>[https://docs.google.com/presentation/d/1ZseNfzKA7vim7b87LMcIXVstOQPxTgZHQy37w51gDBA/edit?usp=sharing slides]--> | <!--<br>[https://docs.google.com/presentation/d/1ZseNfzKA7vim7b87LMcIXVstOQPxTgZHQy37w51gDBA/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 239: | Line 241: | ||
| | | | ||
| | | | ||
− | | | + | |[[CISC181_F2017_Lab6 | Lab #6: Maps]] (Oct. 31)'' |
|- | |- | ||
|17 | |17 | ||
|Nov. 1 | |Nov. 1 | ||
− | | | + | |Finish maps, error-handling |
− | | | + | | |
− | | | + | | |
− | | | + | |[https://docs.google.com/presentation/d/1KnTnWwhgU-qNci7O-EFBnuOwvkJOnpCLE174V7L8uQg/edit?usp=sharing slides]<!--[https://docs.google.com/presentation/d/1cGkOUQpqQLP4bi44pZhiGmNBQz3-MIiH81yoD0a0-7M/edit?usp=sharing slides] [https://docs.google.com/presentation/d/19meBNl8uuQK-T3MzJaRZ8Eyx-C8VvQXOqkPLelETVRU/edit?usp=sharing slides]--> |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|18 | |style="background:rgb(102, 204, 255)"|18 | ||
− | |Nov. 6 | + | |Nov. 6 |
− | | | + | |Testing |
− | | | + | |Assertions, unit testing |
− | | | + | |ZJ 3.6, 8.2<!--ZJ 14,--> |
− | |<!--[https://docs.google.com/presentation/d/1UrXB0JhLZAQ6wsQ6F5sBR7j4wk_AH_xF9BRVHc9Df7I/edit?usp=sharing slides]<br>-->'' | + | |<!--[https://docs.google.com/presentation/d/1UrXB0JhLZAQ6wsQ6F5sBR7j4wk_AH_xF9BRVHc9Df7I/edit?usp=sharing slides]<br>-->''[[CISC181_F2017_Lab7 | Lab #7: Hello, Android]] (Nov. 7)''<br>[https://docs.google.com/presentation/d/1lTXnYKKXMn66K8vL6_pWrXtbmfmgW7KMZ9t26UMNtPk/edit?usp=sharing slides] |
|- | |- | ||
|19 | |19 | ||
|Nov. 8 | |Nov. 8 | ||
|Android | |Android | ||
− | | | + | |SDK; "Hello, world" app; running |
− | |[https://developer.android.com/training/basics/firstapp/ | + | |[https://developer.android.com/training/basics/firstapp/creating-project.html Creating an Android project], [https://developer.android.com/training/basics/firstapp/running-app.html Running your app] |
− | |<!--[https://docs.google.com/document/d/1NhxKevLLYrWjQuuwpE7xoY6PUP1ewIoiQy9-FtfcvEU/edit?usp=sharing Challenge problems]--> | + | |<!--[https://docs.google.com/document/d/1NhxKevLLYrWjQuuwpE7xoY6PUP1ewIoiQy9-FtfcvEU/edit?usp=sharing Challenge problems]-->[https://docs.google.com/presentation/d/18vqdRuuglBYWuUnfydYMYs8MSpkVBB_qdSiVU3a_3vY/edit?usp=sharing slides] |
<!-- | <!-- | ||
| | | | ||
Line 273: | Line 275: | ||
|style="background:rgb(102, 204, 255)"|20 | |style="background:rgb(102, 204, 255)"|20 | ||
|Nov. 13 | |Nov. 13 | ||
− | | | + | |Android<!--Dates and times--> |
− | | | + | |Layout, UI elements, event handling, multiple activities<!--<tt>Calendar</tt>, <tt>nanoTime</tt>--> |
− | |[https://docs.oracle.com/javase/tutorial/ | + | |[https://developer.android.com/training/basics/firstapp/building-ui.html Building a simple UI], [http://developer.android.com/training/basics/firstapp/starting-activity.html multiple activities]<!--[https://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Dates and times]--> |
|<!--[https://docs.google.com/presentation/d/1dzj1zna_AaPzHH-bsGs0pB8bYvOBaoKgbD0p0c1MDoQ/edit?usp=sharing slides]--> | |<!--[https://docs.google.com/presentation/d/1dzj1zna_AaPzHH-bsGs0pB8bYvOBaoKgbD0p0c1MDoQ/edit?usp=sharing slides]--> | ||
− | ''<!--[[CISC181_S2017_Lab9 | Lab #8: Coding challenge]]-->Lab #8 (Nov. 14)'' | + | ''<!--[[CISC181_S2017_Lab9 | Lab #8: Coding challenge]]-->Lab #8 (Nov. 14)''<br>[https://drive.google.com/open?id=1R3bHrVnmVHNzQAmfHL1ZhMEZibTJTIuvR_4HF20G9wc slides] |
|- | |- | ||
|21 | |21 | ||
Line 284: | Line 286: | ||
|More multiple activities, basic graphics, [http://nameless.cis.udel.edu/class_wiki/index.php/CISC181_F2017_ProjectRequirements project explanation] | |More multiple activities, basic graphics, [http://nameless.cis.udel.edu/class_wiki/index.php/CISC181_F2017_ProjectRequirements project explanation] | ||
|[http://developer.android.com/guide/topics/graphics/2d-graphics.html Canvas and drawables] | |[http://developer.android.com/guide/topics/graphics/2d-graphics.html Canvas and drawables] | ||
− | |<!--[https://docs.google.com/presentation/d/15H-NVg-EONFyfKEsrpzpQQQRKn88u5L0BPqXOAk8H3k/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1qlltcZwG1Eqgot-8o6lc-O9dvAtjq4ASW1QS8Ltu6Mk/edit?usp=sharing slides]--> | + | |<!--[https://docs.google.com/presentation/d/15H-NVg-EONFyfKEsrpzpQQQRKn88u5L0BPqXOAk8H3k/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1qlltcZwG1Eqgot-8o6lc-O9dvAtjq4ASW1QS8Ltu6Mk/edit?usp=sharing slides]-->[https://drive.google.com/open?id=1FRsqr4mjNrrVGhcdtjB9bJKHq7eEYW9tZk5O3bTsWkU slides]<br>[http://nameless.cis.udel.edu/class_data/181_s2017/myviewzoo MyViewZoo], [http://nameless.cis.udel.edu/class_data/181_s2017/simpledraw SimpleDraw] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"| | |style="background:rgb(102, 204, 255)"| | ||
Line 305: | Line 307: | ||
|More basic graphics, touch, animation, sound | |More basic graphics, touch, animation, sound | ||
| | | | ||
− | |'''LAB on Nov. 28 is Project Help only'''<!--[[CISC181_S2017_Lab10 | Lab #10: Android]]<br> [https://docs.google.com/presentation/d/14abdA7NMofbamXCEaURycwSxkNfxukTV6iADL9u5724/edit?usp=sharing slides]--> <!--''[[CISC181_S2017_Lab10 | Lab #10: Android activities]] (May 1)''<br>[https://docs.google.com/presentation/d/1hI0EShU6ZxfghQxOveawL9vl0AjV1ObBK2ikD9tWGD4/edit?usp=sharing slides]<br>[http://nameless.cis.udel.edu/class_data/181_s2017/ | + | |'''LAB on Nov. 28 is Project Help only'''<!--[[CISC181_S2017_Lab10 | Lab #10: Android]]<br> [https://docs.google.com/presentation/d/14abdA7NMofbamXCEaURycwSxkNfxukTV6iADL9u5724/edit?usp=sharing slides]--> <!--''[[CISC181_S2017_Lab10 | Lab #10: Android activities]] (May 1)''<br>[https://docs.google.com/presentation/d/1hI0EShU6ZxfghQxOveawL9vl0AjV1ObBK2ikD9tWGD4/edit?usp=sharing slides]<br>, [http://nameless.cis.udel.edu/class_data/181_s2017/simpledraw SimpleDraw]-->[https://docs.google.com/presentation/d/16mFmyjEaP7saSDh46QwmrN494uXmqAk0iAGYuPRwOI0/edit?usp=sharing slides]<br>[http://nameless.cis.udel.edu/class_data/181_s2017/simpleanimate SimpleAnimate], [http://nameless.cis.udel.edu/class_data/181_s2017/simplemultimedia SimpleMultimedia] |
|- | |- | ||
|23 | |23 | ||
|Nov. 29 | |Nov. 29 | ||
− | |Android | + | |Android; Java dates & times |
|Sensors, cameras, faces | |Sensors, cameras, faces | ||
− | |[https://developer.android.com/guide/components/intents-filters.html Intents and Intent Filters] | + | |[https://developer.android.com/guide/components/intents-filters.html Intents and Intent Filters], [https://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Dates and times] |
− | |''Project milestone #1 due''< | + | |''Project milestone #1 due''<br>[https://docs.google.com/presentation/d/1nqE5BGh5TMo3iYvzhYmixXZW8sOisTEPDrNSlCmCOQQ/edit?usp=sharing slides] |
<!-- | <!-- | ||
|- | |- | ||
Line 325: | Line 327: | ||
|style="background:rgb(102, 204, 255)"|24 | |style="background:rgb(102, 204, 255)"|24 | ||
|Dec. 4 | |Dec. 4 | ||
− | | | + | |Project help (in class) |
| | | | ||
| | | | ||
Line 339: | Line 341: | ||
| | | | ||
| | | | ||
− | |''Project milestone #2 due | + | |''Project milestone #2 due''<br>[https://docs.google.com/presentation/d/11tD5G21YQAwH6vPYEqAmweg-P76IUFhg3xDOyH6Abr0/edit?usp=sharing slides]<br>[http://nameless.cis.udel.edu/class_data/181_s2017/s2015_cisc181_final.pdf 2015 final exam] |
|- | |- | ||
| | | | ||
Line 371: | Line 373: | ||
| | | | ||
|Dec. 11-16 | |Dec. 11-16 | ||
− | |FINAL | + | |FINAL EXAMINATION |
| | | | ||
| | | | ||
| | | | ||
|} | |} |
Latest revision as of 08:20, 6 December 2017
Course information
Description | CISC 181 (section 010) -- Introduction to Computer Science II (Honors) Principles of computer science illustrated and applied through programming in the object oriented language Java. Programming projects illustrate computational problems, styles and issues that arise in computer systems development and in several application areas. |
URL | |
Instructor | Prof. Christopher Rasmussen E-mail: cer@cis.udel.edu Office: Smith 446 Office hours: Wednesdays, 10:15 am-12:15 pm |
TA | Chunbo Song, E-mail: songcb@udel.edu, office hours: Fridays 2-3 pm, Mondays 3-4 pm in Smith 201 (during weeks when there are labs) |
Schedule |
|
Required |
|
Grading |
Your labs and programming projects are due by 5 am after the deadline day. All should be submitted in Sakai. A late homework is a 0 without a valid prior excuse. To give you a little flexibility, you have 6 "late days" to use over the semester to extend the deadline by one 24-hour period each without penalty. No more than two late days may be used per assignment. Late days will automatically be subtracted, but as a courtesy please notify the instructor and TA in an e-mail of your intention to use them before the deadline. For each late day used by a pair of students on the project, both students must subtract a late day. Once you have gotten a grade back on an assignment, if you have any questions or issues you should talk to your TA. For midterm exam grades, talk to the instructor. You have 1 week after a grade is returned to dispute it; after that, your score is final. Make sure to check that any score modifications are reflected in Sakai. For the overall course grade, a preliminary absolute mark will be assigned to each student based on the percentage of the total possible points they earn according to the standard formula: A = 90-100, B = 80-90, C = 70-80, etc., with +'s and -'s given for the upper and lower third of each range, respectively. Based on the distribution of preliminary grades for all students (i.e., "the curve"), the instructor may increase these grades monotonically to calculate final grades. This means that your final grade can't be lower than your preliminary grade, and your final grade won't be higher than that of anyone who had a higher preliminary grade. There will be NO extra credit opportunities at the end of the semester (except the course evaluation), so do your best work early! |
Discussion | We will be using Piazza as a forum for questions about labs, homeworks, exams, and any other course topic. Rather than sending e-mail to a TA or the professor, post your question there so that everyone else can see the answer, and other students can contribute their knowledge. If your question involves posting code, make sure it is the minimum amount necessary to explain the problem you are having.
|
Academic honesty | Students can discuss problems with one another in general terms, but must work independently on all assignments unless otherwise specified. This also applies to online and printed resources: you may consult them as references (as long as you cite them), but the code you turn in must be yours alone. We WILL be checking submitted code for evidence of plagiarism or unauthorized collaboration, and if found you will definitely get a 0 for the assignment and possibly be referred to the Office of Student Conduct. If you are at all unsure about what is and what is not allowed, please contact the instructor or TA.
The University's policies on academic dishonesty are set forth in the student code of conduct here. |
Optional resources |
|
Schedule
Note: The blue squares in the "#" column below indicate Mondays.
UDCapture link
# | Date | Topic | Details | Readings | Links/Lab |
---|---|---|---|---|---|
1 | Aug. 30 | Welcome | Course details; IDE overview; Hello, Java | ZJ 1.2-1.3, 1.5, 1.10, 16.1 | slides |
Sep. 4 | NO CLASS Labor Day holiday |
Lab #0: Math, formatting, branching (Sep. 5) | |||
2 | Sep. 6 | Basic variables, input/output | Basic input, output; Scanner and Math class, expressions, formatting for printing; naming, formatting, commenting styles | ZJ 1.4, 1.11, 2.2-2.7, 4.1, 4.2, 16.3 | slides |
3 | Sep. 11 Register/add deadline Sep. 12 |
Variables, expressions, branching | Data types, constants, type conversions; if/else, switch, comparisons | ZJ 2.6, 4.3-4.5, 4.7-4.8, 5-5.6, 5.11-5.13 | Lab #1: More math, basic loops (Sep. 12) |
4 | Sep. 13 | Loops | while, for (single and nested); break, continue | ZJ 6-6.6, 6.8-6.9, 4.9 | slides |
5 | Sep. 18 | Basic arrays and graphics | Randomness; single-dimensional arrays; graphics class: shapes, color, text; programming tips and API lookup | Making windows in Swing, Java 2D API | Lab #2: Basic arrays and graphics (Sep. 19) |
6 | Sep. 20 | Objects/methods/classes | Class concepts, reference variables, constructors, overloading, overriding; intro to access | ZJ 3-3.5, 9.2-9.4, 10.3 | slides |
7 | Sep. 25 | Objects/methods/classes | More about public/private, accessors/mutators, static | ZJ 2.10, 3.7, 9.5-9.6, 9.11 | Lab #3: Objects (Sep. 26) slides |
8 | Sep. 27 | Objects/methods/classes | Primitive wrapper classes; object comparison; this; start inheritance | ZJ 10.1-10.5, 11.1-11.2, 11.4, 11.6 | slides |
9 | Oct. 2 | Objects/methods/classes | Finish inheritance (derived classes, polymorphism) | Lab #4: Array lists (Oct. 3) slides | |
10 | Oct. 4 | Arrays and array lists | Multi-dimensional arrays; ArrayList (collections), pass-by-value vs. pass-by-reference | ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5 | slides |
11 | Oct. 9 | Interfaces and strings | Abstract classes, Comparable vs. Comparator, basic string operations | ZJ 5.7-5.10, 16.4, Object ordering | slides
Lab #5: Files (Oct. 10) |
12 | Oct. 11 | Streams and patterns | Stream types, reading text files; String.split(); regular expressions | ZJ 16.5, Regex documentation | slides |
13 | Oct. 16 | Midterm review | NO LAB Oct. 17 -- Activity completion deadline! | ||
14 | Oct. 18 | MIDTERM | |||
15 | Oct. 23 Withdraw deadline Oct. 24 |
Generics, collections | Generic methods, classes; Collection vs. Collections; Set interface | Collection interface | NO LAB on Oct. 24 |
16 | Oct. 25 | Go over midterm; testing, error-handling | Map interface, exceptions | ZJ 17-17.3, Exceptions | slides |
Oct. 30 | NO CLASS Instructor away |
Lab #6: Maps (Oct. 31) | |||
17 | Nov. 1 | Finish maps, error-handling | slides | ||
18 | Nov. 6 | Testing | Assertions, unit testing | ZJ 3.6, 8.2 | Lab #7: Hello, Android (Nov. 7) slides |
19 | Nov. 8 | Android | SDK; "Hello, world" app; running | Creating an Android project, Running your app | slides |
20 | Nov. 13 | Android | Layout, UI elements, event handling, multiple activities | Building a simple UI, multiple activities |
Lab #8 (Nov. 14) |
21 | Nov. 15 | Android | More multiple activities, basic graphics, project explanation | Canvas and drawables | slides MyViewZoo, SimpleDraw |
Nov. 20 | NO CLASS Thanksgiving break |
||||
Nov. 22 | NO CLASS Thanksgiving break |
||||
22 | Nov. 27 | Android | More basic graphics, touch, animation, sound | LAB on Nov. 28 is Project Help only slides SimpleAnimate, SimpleMultimedia | |
23 | Nov. 29 | Android; Java dates & times | Sensors, cameras, faces | Intents and Intent Filters, Dates and times | Project milestone #1 due slides |
24 | Dec. 4 | Project help (in class) | LAB on Dec. 5 is Project Help only | ||
25 | Dec. 6 | Final review | Project milestone #2 due slides 2015 final exam | ||
Dec. 7, 8, 9, and 10 | In-person demos for final project | ||||
Dec. 11-16 | FINAL EXAMINATION |