Difference between revisions of "CISC181 S2019"
(→Schedule) |
(→Schedule) |
||
(55 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
|valign="top"|'''Grading''' | |valign="top"|'''Grading''' | ||
| | | | ||
− | * 36% Labs (4% each). These are sets of small-to-medium tasks/programs. Labs 0-3 must be done in assigned pairs, while labs >= 4 may be done in a pair or individually. Labs 0-7 go out each Wednesday and must be completed by '''Tuesday 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_S2019_LabGrading|Lab grading details here]] | + | * 36% Labs (4% each). These are sets of small-to-medium tasks/programs. Labs 0-3 must be done in assigned pairs, while labs >= 4 may be done in a pair or individually. Labs 0-7 go out each Wednesday and must be completed by '''Tuesday night of the following week'''. Lab #5 and 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_S2019_LabGrading|Lab grading details here]] |
* 9% [[CISC181_S2019_ActivityCompletion|Activity completion in ZJ]] before day of midterm | * 9% [[CISC181_S2019_ActivityCompletion|Activity completion in ZJ]] before day of midterm | ||
* 20% Midterm exam | * 20% Midterm exam | ||
Line 165: | Line 165: | ||
|Mar. 5 | |Mar. 5 | ||
|Objects/methods/classes | |Objects/methods/classes | ||
− | |Primitive wrapper classes; | + | |Primitive wrapper classes; polymorphism |
|ZJ 2.10, 3.7, 9.5-9.6, 9.11 | |ZJ 2.10, 3.7, 9.5-9.6, 9.11 | ||
− | |''[[CISC181_S2019_Lab3 | Lab #3: | + | |''[[CISC181_S2019_Lab3 | Lab #3: Game of Life]] (Mar. 6)''<br>[https://docs.google.com/presentation/d/1QTC8hxNmd9s-X2N-6vt5TvssWFj90Fc8onkYl3on078/edit?usp=sharing slides]<br>[https://docs.google.com/presentation/d/1gszeyvXu7OnvDuFGEyRWIngq64hJdkFyn5AUVz1wyvE/edit?usp=sharing lab slides] |
|- | |- | ||
|8 | |8 | ||
|Mar. 7 | |Mar. 7 | ||
|Objects/methods/classes | |Objects/methods/classes | ||
− | | | + | |Interfaces, more about Swing for lab #3 |
|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/15H6BT-GJqONIRfn-HtyneDMvKC_LnvPHe_ObctjcI1g/edit?usp=sharing slides]<br> |
+ | [https://docs.google.com/document/d/1UY2cywNpqZx270LkKWXmqtsf4Y_qziefegKv5IE3cuA/edit?usp=sharing MouseAndTimerJComponent.java] | ||
|- | |- | ||
|style="background:rgb(102, 204, 255)"|9 | |style="background:rgb(102, 204, 255)"|9 | ||
|Mar. 12 | |Mar. 12 | ||
− | | | + | |<tt>ArrayList</tt>, <tt>Comparable vs. Comparator</tt> |
| | | | ||
− | | | + | |ZJ 5.7-5.10, 16.4, [https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html Object ordering] |
− | | | + | |[https://docs.google.com/presentation/d/1t0GVATKU_b9aOVpxrI6UZGjAIXwk9gzDtiJsOb6XH3c/edit?usp=sharing slides]<br> <!--[https://docs.google.com/presentation/d/1_dxpCAN7eIjtRbDQceX0n75sInU8ETGaEFkGvuZaHuA/edit?usp=sharing slides]<br>-->''[[CISC181_S2019_Lab4 | Lab #4: Array lists]] (Mar. 13)''<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 | ||
|Mar. 14 | |Mar. 14 | ||
− | | | + | |Generics, collections |
− | | | + | |Generic methods, classes; <tt>Collection</tt> vs. <tt>Collections</tt>; <tt>Set</tt> interface |
− | |ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5 | + | |[https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html Collection interface]<br>ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5 |
− | | | + | |[https://docs.google.com/presentation/d/1tfWre2ntaOJc9ZPY-v0TF0bPPM1F2IwrnS9phJck5sk/edit?usp=sharing slides] |
|- | |- | ||
|style="background:rgb(102, 204, 255)"|11 | |style="background:rgb(102, 204, 255)"|11 | ||
|Mar. 19 | |Mar. 19 | ||
− | | | + | |Maps |
− | | | + | |Keys, values, <tt>Collection</tt> views |
− | | | + | | |
− | + | |[https://docs.google.com/presentation/d/1DiocDO41xcDh4ONjOAH4kCeniZH9f0ZKH9zdkTPAICQ/edit?usp=sharing slides] | |
− | '' | + | ''Lab #5: In-lab programming quiz (Mar. 20)'' |
|- | |- | ||
|12 | |12 | ||
|Mar. 21 | |Mar. 21 | ||
− | |Streams and patterns | + | |Exceptions<!--Streams and patterns--> |
− | |Stream types, reading text files; <tt>String.split()</tt>; regular expressions | + | |Throwing/catching<!--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] | + | |ZJ 17-17.3, [https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html Exceptions]<!--ZJ 16.5, [http://download.oracle.com/javase/tutorial/essential/regex/index.html Regex documentation] --> |
− | | | + | |[https://docs.google.com/presentation/d/1LIb7ONKM89Jh3bpRnDQdwUm8QI3lFRqwyAldHI2IlB0/edit?usp=sharing slides]<br> |
+ | [https://docs.google.com/document/d/1Q8QOnzovsaVkoQ1qfewaaKMNX0vf1KLNN2qKTMiB7lc/edit?usp=sharing Student solutions to leastCommon() exercise] | ||
|- | |- | ||
|style="background:rgb(102, 204, 255)"|13 | |style="background:rgb(102, 204, 255)"|13 | ||
Line 212: | Line 214: | ||
| | | | ||
|'''NO LAB Mar. 27 -- Activity completion deadline!'''<br> | |'''NO LAB Mar. 27 -- Activity completion deadline!'''<br> | ||
− | + | [https://docs.google.com/presentation/d/15ET1n1NvDpygBa5oHvQGWiwinbdpe9OG5su5FW0itjA/edit?usp=sharing slides]<br> | |
− | [http://nameless.cis.udel.edu/class_data/181_s2017/2011_midterm.pdf Partial sample midterm] | + | [http://nameless.cis.udel.edu/class_data/181_s2017/2011_midterm.pdf Partial sample midterm] |
|- | |- | ||
|14 | |14 | ||
Line 232: | Line 234: | ||
|Apr. 4 | |Apr. 4 | ||
|style="background:rgb(255, 102, 0)"|NO CLASS<br>''Spring break'' | |style="background:rgb(255, 102, 0)"|NO CLASS<br>''Spring break'' | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |style="background:rgb(102, 204, 255)"|15 | ||
+ | |Apr. 9 | ||
+ | |Finish exceptions; start streams | ||
+ | | | ||
+ | | | ||
+ | |'''NO LAB Apr. 10'''<br>[https://docs.google.com/presentation/d/1gvJpGu3QcY8FRQKl8EYUUxx-1DxZlWOJo4P88cQaYuk/edit?usp=sharing slides]<!--[[CISC181_S2017_Lab7 | Lab #7: Inheritance]]<br> [https://docs.google.com/presentation/d/141leM8Mo-mX1Ms1cZKXASO_LdMjmV3pKybNtNcxVxjU/edit?usp=sharing slides]--> | ||
+ | <!--''[[CISC181_S2017_Lab6 | Lab #6: Testing and exceptions]] (Apr. 3)''<br>[https://docs.google.com/presentation/d/1ZseNfzKA7vim7b87LMcIXVstOQPxTgZHQy37w51gDBA/edit?usp=sharing slides]--> | ||
+ | |- | ||
+ | |16 | ||
+ | |Apr. 11 | ||
+ | |Streams and basic parsing | ||
+ | | | ||
+ | |ZJ 16.4-16.5, [http://download.oracle.com/javase/tutorial/essential/regex/index.html Regex documentation] | ||
+ | |[https://docs.google.com/presentation/d/1UC3J8rbQcJhn8NdbHzZHVBW5vefjjPOkZE-r6Qg5Eek/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)"|17 | ||
+ | |Apr. 16<br>''Withdraw deadline Monday, Apr. 15'' | ||
+ | |Testing, error-handling | ||
+ | |Assertions, unit testing | ||
+ | |<!--ZJ 14,--> <!--[https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html Collection interface]-->ZJ 3.6, 8.2 | ||
+ | |[https://docs.google.com/presentation/d/10npjjUnon2IvOwBVaQWhdnIckMBo-ODLUpelgFtsdxo/edit?usp=sharing slides]<br>''[[CISC181_S2019_Lab6 | Lab #6: Unit testing]] (Apr. 17)''<br>[http://nameless.cis.udel.edu/class_wiki/index.php/CISC181_S2019_NewPlainJavaInAndroidStudio Instructions for creating JUnit-compatible AS project]<br>[https://docs.google.com/presentation/d/1F4iSxPR6pGgOFXCM1AA4G5WvWMlGuom8EKPGis0hR1k/edit?usp=sharing lab slides]<!--[https://docs.google.com/presentation/d/1i1VHKTk0TwVpaWZvWIzzJFO_PRawQ8h7oeFx3RuTbps/edit?usp=sharing slides]--> | ||
+ | |- | ||
+ | |18 | ||
+ | |Apr. 18 | ||
+ | |style="background:rgb(255, 102, 0)"|NO CLASS<br>''Instructor away'' | ||
+ | | | ||
+ | | | ||
+ | |<!--[https://docs.google.com/document/d/1NhxKevLLYrWjQuuwpE7xoY6PUP1ewIoiQy9-FtfcvEU/edit?usp=sharing Challenge problems]--><!--[https://docs.google.com/presentation/d/19Ah4_HZvdA5pNTWINFq-6w38PBBabxJ-a6TnYP-6a1o/edit?usp=sharing slides]--> | ||
+ | |- | ||
+ | |style="background:rgb(102, 204, 255)"|19 | ||
+ | |Apr. 23 | ||
+ | |Android | ||
+ | |SDK; "Hello, world" app; running | ||
+ | |[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/presentation/d/1c6qk0dey3nAlAtLmOgZdHN6q4g24AExPuvbng-gPv-4/edit?usp=sharing slides]<br> | ||
+ | ''[[CISC181_S2019_Lab7 | Lab #7: Hello Android]] (Apr. 24)''<!--<br>[https://docs.google.com/presentation/d/1v2qME-AOCc0TG0crvyliv4vXEZzho9vzGMR9evDCfPc/edit?usp=sharing slides]--> | ||
+ | |- | ||
+ | |20 | ||
+ | |Apr. 25 | ||
+ | |Android | ||
+ | |Layout, UI elements, event handling, multiple activities | ||
+ | |[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.google.com/presentation/d/1fSsFtpBml-uXPgWZ2fZXcNYDnu4uNnh57FDd5t3Fv-Q/edit?usp=sharing slides]<br>[https://drive.google.com/open?id=1C6QILNOnq_9N1vjgJ_rxNNzqqZLOBcCM basic MyViewZoo] (need to add dimens resource following Solution 4 [https://www.codeproject.com/Questions/808364/error-Error-No-resource-found-that-matches-the-giv here])<!-- [https://docs.google.com/presentation/d/1qlltcZwG1Eqgot-8o6lc-O9dvAtjq4ASW1QS8Ltu6Mk/edit?usp=sharing slides]--><!--[https://docs.google.com/presentation/d/1DqJAMUoUYlSYLIDBa7yWQPvk4rkNJ7-6o-3EbXEOVvM/edit?usp=sharing slides]--> | ||
+ | |- | ||
+ | |style="background:rgb(102, 204, 255)"|21 | ||
+ | |Apr. 30 | ||
+ | |Android | ||
+ | |More multiple activities, basic graphics, touch | ||
+ | |[http://developer.android.com/guide/topics/graphics/2d-graphics.html Canvas and drawables] | ||
+ | |[https://docs.google.com/presentation/d/1z7JU5K8mIho--nFEQyG_EhSmB5hGLPN6sMS1o7_ckJo/edit?usp=sharing slides]<br>[http://nameless.cis.udel.edu/class_data/181_s2017/myviewzoo advanced MyViewZoo], [http://nameless.cis.udel.edu/class_data/181_s2017/simpledraw SimpleDraw]<br><!--[[CISC181_S2017_Lab10 | Lab #10: Android]]<br> [https://docs.google.com/presentation/d/14abdA7NMofbamXCEaURycwSxkNfxukTV6iADL9u5724/edit?usp=sharing slides]--> ''[[CISC181_S2019_Lab8 | Lab #8: 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/myviewzoo MyViewZoo], [http://nameless.cis.udel.edu/class_data/181_s2017/simpledraw SimpleDraw]--> | ||
+ | |||
+ | |- | ||
+ | |22 | ||
+ | |May 2 | ||
+ | |Android | ||
+ | |Graphics animation, sound; [http://nameless.cis.udel.edu/class_wiki/index.php/CISC181_S2019_ProjectRequirements project explanation] | ||
+ | | | ||
+ | |[https://docs.google.com/presentation/d/1XEIboFFY1XATV-v6Ojsna1XstltTB4OeIzPZdAPXW3A/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]--> | ||
+ | |- | ||
+ | |style="background:rgb(102, 204, 255)"|23 | ||
+ | |May 7 | ||
+ | |Android | ||
+ | |Sensors, cameras, faces | ||
+ | |[https://developer.android.com/guide/components/intents-filters.html Intents and Intent Filters] | ||
+ | |<!--[https://docs.google.com/presentation/d/1zkYbPN0Qqxxdwe620IDNYzhGzev7c8y9u7uZgOwGblQ/edit?usp=sharing slides]<br> | ||
+ | SimpleDraw: [http://nameless.cis.udel.edu/class_data/181_s2015/simpledraw/MySurfaceView.java MySurfaceView.java], [http://nameless.cis.udel.edu/class_data/181_s2015/simpledraw/activity_main.xml activity_main.xml]--> | ||
+ | [https://docs.google.com/presentation/d/1V7FOCFKfct5LcmJoAnVgbwhy64fcZTHJHldhcO0nCVI/edit?usp=sharing slides]<br> | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2017/simplemultimedia SimpleMultimedia]<br> | ||
+ | '''LAB on May 8 is for project help only''' | ||
+ | |- | ||
+ | |24 | ||
+ | |May 9 | ||
+ | |Dates and times; Project help (in class) | ||
+ | | | ||
+ | |[https://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Dates and times] | ||
+ | |[https://docs.google.com/presentation/d/1PS-6_d_vKSyQoNIfmb6ybF_KinvU6ZSEmaqEgCrJy9w/edit?usp=sharing slides]<br>''Project milestone due May 10''<!--[https://docs.google.com/presentation/d/1_PEMZQoEa3iE44_RYAqb7v8zRAP-0MDbRvlxXwxDuJM/edit?usp=sharing slides]<br> | ||
+ | SimpleAnimate: [http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/MyAnimatedSurfaceView.java MyAnimatedSurfaceView.java], [http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/MyThread.java MyThread.java], [http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/MainActivity.java MainActivity.java],[http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/activity_main.xml activity_main.xml], | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/AndroidManifest.xml AndroidManifest.xml], | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/grenade.mp3 grenade.mp3], | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2015/simpleanimate/jump.mp3 jump.mp3] --> | ||
+ | |- | ||
+ | |style="background:rgb(102, 204, 255)"|25 | ||
+ | |May 14 | ||
+ | |Final review | ||
+ | | | ||
+ | | | ||
+ | |'''LAB on May 15 for project help only'''<br>[https://docs.google.com/presentation/d/1mcyhmJAE3kycqx9jVu1Wfax9hxrCmUKFzPyZBPW26XQ/edit?usp=sharing slides]<br>[http://nameless.cis.udel.edu/class_data/181_s2017/s2015_cisc181_final.pdf 2015 final exam] | ||
+ | |- | ||
+ | | | ||
+ | |May 16 | ||
+ | |style="background:rgb(255, 102, 0)"|NO CLASS<br>''Work on project'' | ||
+ | | | ||
+ | | | ||
+ | |''Project due May 17'' | ||
+ | <!-- | ||
+ | |- | ||
+ | |34 | ||
+ | |May 13 | ||
+ | |Android | ||
+ | |Background music, text to speech, sensors (accelerometer) | ||
+ | | | ||
+ | |[https://docs.google.com/presentation/d/13c_NNxAQPgTIn1h0zU8AlQuwKxjEd43nLll04AMfiC0/edit?usp=sharing slides]<br> | ||
+ | SimpleMultimedia: [http://nameless.cis.udel.edu/class_data/181_s2015/simplemultimedia/MainActivity.java MainActivity.java],[http://nameless.cis.udel.edu/class_data/181_s2015/simplemultimedia/activity_main.xml activity_main.xml], | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2015/simplemultimedia/electronic_clav.mp3 electronic_clav.mp3], | ||
+ | |- | ||
+ | |style="background:rgb(102, 204, 255)"|35 | ||
+ | |May 16 | ||
+ | |Final review | ||
+ | | | ||
+ | | | ||
+ | |style="background:rgb(255, 102, 0)"|NO LAB<br>''Project milestone 2 due''<br> | ||
+ | [https://docs.google.com/presentation/d/1tUVkWbsjZMTm5S6bckbwV8a7BEN86dOEJNGuqnz0MAE/edit?usp=sharing slides] | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2015/2011_final.pdf Sample final] (ignore JAR, Swing, MarsLander questions)<br> | ||
+ | [http://nameless.cis.udel.edu/class_data/181_s2015/2011_midterm_other.pdf Other part of sample midterm]<br> | ||
+ | --> | ||
+ | |- | ||
+ | | | ||
+ | |May 24, 1-3 pm | ||
+ | |FINAL EXAM | ||
| | | | ||
| | | | ||
| | | | ||
|} | |} |
Latest revision as of 10:09, 14 May 2019
Course information
Description | CISC 181 (section 080) -- 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 | Nathaniel Merrill, E-mail: nmerrill@udel.edu, office hours: Tuesdays, 12:30-1:30 pm and 5:30-6:30 pm in Smith 2nd floor TA room |
Schedule |
|
Required |
|
Grading |
Your labs and programming projects are due by 5 am after the deadline day. All should be submitted in Canvas. 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 Canvas. 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! |
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 Tuesdays.
UDCapture link
# | Date | Topic | Details | Readings | Links/Lab |
---|---|---|---|---|---|
1 | Feb. 12 | Welcome | Course details; IDE overview; Hello, Java | ZJ 1.2-1.3, 1.5, 1.10, 16.1 | slides: intro to course |
2 | Feb. 14 | 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: variables, IO, math, logic |
3 | Feb. 19 | 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 |
slides: branching, style, type conversions |
4 | Feb. 21 | Loops, arrays, randomness | while, for (single and nested); break, continue | ZJ 6-6.6, 6.8-6.9, 4.9 | slides: more control, enums, loops |
5 | Feb. 26
Register/add deadline Feb. 25 |
Classes, Swing graphics | Fields, methods, constructors, overloading, overriding, intro to access; graphics class: shapes, color, text; programming tips and API lookup | Making windows in Swing, Java 2D API | Lab #2: Basic arrays and graphics (Feb. 27) |
6 | Feb. 28 | Objects/methods/classes | Inheritance, more about public/private, accessors/mutators, this, static | ZJ 3-3.5, 9.2-9.4, 10.3 | slides |
7 | Mar. 5 | Objects/methods/classes | Primitive wrapper classes; polymorphism | ZJ 2.10, 3.7, 9.5-9.6, 9.11 | Lab #3: Game of Life (Mar. 6) slides lab slides |
8 | Mar. 7 | Objects/methods/classes | Interfaces, more about Swing for lab #3 | ZJ 10.1-10.5, 11.1-11.2, 11.4, 11.6 | slides |
9 | Mar. 12 | ArrayList, Comparable vs. Comparator | ZJ 5.7-5.10, 16.4, Object ordering | slides Lab #4: Array lists (Mar. 13) | |
10 | Mar. 14 | Generics, collections | Generic methods, classes; Collection vs. Collections; Set interface | Collection interface ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5 |
slides |
11 | Mar. 19 | Maps | Keys, values, Collection views | slides
Lab #5: In-lab programming quiz (Mar. 20) | |
12 | Mar. 21 | Exceptions | Throwing/catching | ZJ 17-17.3, Exceptions | slides |
13 | Mar. 26 | Midterm review | NO LAB Mar. 27 -- Activity completion deadline! | ||
14 | Mar. 28 | MIDTERM | |||
Apr. 2 | NO CLASS Spring break |
||||
Apr. 4 | NO CLASS Spring break |
||||
15 | Apr. 9 | Finish exceptions; start streams | NO LAB Apr. 10 slides | ||
16 | Apr. 11 | Streams and basic parsing | ZJ 16.4-16.5, Regex documentation | slides | |
17 | Apr. 16 Withdraw deadline Monday, Apr. 15 |
Testing, error-handling | Assertions, unit testing | ZJ 3.6, 8.2 | slides Lab #6: Unit testing (Apr. 17) Instructions for creating JUnit-compatible AS project lab slides |
18 | Apr. 18 | NO CLASS Instructor away |
|||
19 | Apr. 23 | Android | SDK; "Hello, world" app; running | Creating an Android project, Running your app | slides Lab #7: Hello Android (Apr. 24) |
20 | Apr. 25 | Android | Layout, UI elements, event handling, multiple activities | Building a simple UI, multiple activities | slides basic MyViewZoo (need to add dimens resource following Solution 4 here) |
21 | Apr. 30 | Android | More multiple activities, basic graphics, touch | Canvas and drawables | slides advanced MyViewZoo, SimpleDraw Lab #8: Android activities (May 1) |
22 | May 2 | Android | Graphics animation, sound; project explanation | slides | |
23 | May 7 | Android | Sensors, cameras, faces | Intents and Intent Filters |
slides |
24 | May 9 | Dates and times; Project help (in class) | Dates and times | slides Project milestone due May 10 | |
25 | May 14 | Final review | LAB on May 15 for project help only slides 2015 final exam | ||
May 16 | NO CLASS Work on project |
Project due May 17 | |||
May 24, 1-3 pm | FINAL EXAM |