Difference between revisions of "CISC181 S2017"
(→Course information) |
(→Schedule) |
||
Line 113: | Line 113: | ||
|Basic variables, input/output | |Basic variables, input/output | ||
|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 | + | |<!--ZJ 1--> |
|<!--[https://docs.google.com/presentation/d/1GAjkjbuBRI3xlOVE5X3x0W8MY1-lxpdD0XYHVQV8a7M/edit?usp=sharing slides]--> | |<!--[https://docs.google.com/presentation/d/1GAjkjbuBRI3xlOVE5X3x0W8MY1-lxpdD0XYHVQV8a7M/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 120: | Line 120: | ||
|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, 3 | + | |<!--ZJ 2, 3--> |
|<!--[https://docs.google.com/presentation/d/1MkBoPq4JpuPqLWeSO32y0K3SA4M9PesBaLi8RGAyaaY/edit?usp=sharing slides]<br>--> | |<!--[https://docs.google.com/presentation/d/1MkBoPq4JpuPqLWeSO32y0K3SA4M9PesBaLi8RGAyaaY/edit?usp=sharing slides]<br>--> | ||
''Lab #1 (Feb. 13)'' | ''Lab #1 (Feb. 13)'' | ||
Line 128: | Line 128: | ||
|Loops | |Loops | ||
|<tt>while</tt>, <tt>for</tt> (single and nested) | |<tt>while</tt>, <tt>for</tt> (single and nested) | ||
− | |ZJ 4 | + | |<!--ZJ 4--> |
|<!--[[CISC181_S2017_Lab2 | Lab #2: Branching, loops]]<br> --><!--[https://docs.google.com/presentation/d/1UFknfhhvDC7lERCRAPsNAdzO2CcnGop6OzklHBSsRMg/edit?usp=sharing slides]--> | |<!--[[CISC181_S2017_Lab2 | Lab #2: Branching, loops]]<br> --><!--[https://docs.google.com/presentation/d/1UFknfhhvDC7lERCRAPsNAdzO2CcnGop6OzklHBSsRMg/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 135: | Line 135: | ||
|Basic graphics | |Basic graphics | ||
|Graphics class: shapes, color, text, randomness; programming tips and API lookup | |Graphics class: shapes, color, text, randomness; programming tips and API lookup | ||
− | |ZJ 5, [http://docs.oracle.com/javase/tutorial/2d/overview/index.html Java 2D API] | + | |<!--ZJ 5, -->[http://docs.oracle.com/javase/tutorial/2d/overview/index.html Java 2D API] |
|''Lab #2 (Feb. 20)'' | |''Lab #2 (Feb. 20)'' | ||
|- | |- | ||
Line 142: | Line 142: | ||
|Objects/methods/classes | |Objects/methods/classes | ||
|Constructors, overloading | |Constructors, overloading | ||
− | |ZJ 6 | + | |<!--ZJ 6--> |
|<!--[https://docs.google.com/presentation/d/1_EBByb4ROZo0DYTZAlfIEoueHa4MXvphYeZPBFL6iMg/edit?usp=sharing slides] [https://docs.google.com/presentation/d/13Oec-ytzN8f7bqQRUvdSm4YMfwAN1PDjIWCQhuRlpc0/edit?usp=sharing slides]--> | |<!--[https://docs.google.com/presentation/d/1_EBByb4ROZo0DYTZAlfIEoueHa4MXvphYeZPBFL6iMg/edit?usp=sharing slides] [https://docs.google.com/presentation/d/13Oec-ytzN8f7bqQRUvdSm4YMfwAN1PDjIWCQhuRlpc0/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 150: | Line 150: | ||
|Objects/methods/classes | |Objects/methods/classes | ||
|public/private; Accessors/mutators; static | |public/private; Accessors/mutators; static | ||
− | |ZJ 6 | + | |<!--ZJ 6--> |
|<!--[https://docs.google.com/presentation/d/14RdHuIER61alnx-wfI-_TMKP0ODPqDWd0XDbd1B3r5s/edit?usp=sharing slides]<br> [[CISC181_S2017_Lab3 | Lab #3: Basic graphics]]-->''Lab #3 (Feb. 27)'' | |<!--[https://docs.google.com/presentation/d/14RdHuIER61alnx-wfI-_TMKP0ODPqDWd0XDbd1B3r5s/edit?usp=sharing slides]<br> [[CISC181_S2017_Lab3 | Lab #3: Basic graphics]]-->''Lab #3 (Feb. 27)'' | ||
|- | |- | ||
Line 157: | Line 157: | ||
|Objects/methods/classes | |Objects/methods/classes | ||
|<tt>this</tt>; primitive wrapper classes; pass-by-value vs. pass-by-reference; inheritance (derived classes, polymorphism) | |<tt>this</tt>; primitive wrapper classes; pass-by-value vs. pass-by-reference; inheritance (derived classes, polymorphism) | ||
− | |ZJ 9, 10 | + | |<!--ZJ 9, 10--> |
|<!--[https://docs.google.com/presentation/d/11_lbnF2qusL7aXJTfQEsOQN9flkdcaXVxAyMh-OvnU8/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1vbxl3eFc3dJpJc8NFs7nZKNHe9eohT5_CR_rW1hpXtE/edit?usp=sharing slides]--> | |<!--[https://docs.google.com/presentation/d/11_lbnF2qusL7aXJTfQEsOQN9flkdcaXVxAyMh-OvnU8/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1vbxl3eFc3dJpJc8NFs7nZKNHe9eohT5_CR_rW1hpXtE/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 164: | Line 164: | ||
|Arrays | |Arrays | ||
|Single-, multi-dimensional; <tt>ArrayList</tt> (collections) | |Single-, multi-dimensional; <tt>ArrayList</tt> (collections) | ||
− | |ZJ 7 | + | |<!--ZJ 7--> |
|<!--[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>-->''Lab #4 (Mar. 6)'' | |<!--[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>-->''Lab #4 (Mar. 6)'' | ||
<!--[[CISC181_S2017_CardClass | Card class]], [[CISC181_S2017_DeckClass | Deck class]]--> | <!--[[CISC181_S2017_CardClass | Card class]], [[CISC181_S2017_DeckClass | Deck class]]--> | ||
Line 172: | Line 172: | ||
|Strings & streams | |Strings & streams | ||
|Basic string operations; stream types, URLs | |Basic string operations; stream types, URLs | ||
− | |ZJ 8 | + | |<!--ZJ 8--> |
|<!--[[CISC181_S2017_Lab4 | Lab #4: Arrays]]<br>--><!--[https://docs.google.com/presentation/d/1B47b3IrW7ZsONMBDboIM1ZX1Uk3e7J9k1Zm4n82yiSA/edit?usp=sharing slides]--> | |<!--[[CISC181_S2017_Lab4 | Lab #4: Arrays]]<br>--><!--[https://docs.google.com/presentation/d/1B47b3IrW7ZsONMBDboIM1ZX1Uk3e7J9k1Zm4n82yiSA/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 188: | Line 188: | ||
|Abstract classes, interfaces | |Abstract classes, interfaces | ||
|<tt>Comparable vs. Comparator</tt> | |<tt>Comparable vs. Comparator</tt> | ||
− | |ZJ 11, [https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html Object ordering] | + | |<!--ZJ 11, -->[https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html Object ordering] |
|<!--[https://docs.google.com/presentation/d/1SvE85CSQE6ivbsWbC_jMqLft7cueB58nK6JrhvHx-vU/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1-cDlOjqz5XcrdMUZRYZ4pukOLUgetZcCaqt8hdHZqXE/edit?usp=sharing slides]--> | |<!--[https://docs.google.com/presentation/d/1SvE85CSQE6ivbsWbC_jMqLft7cueB58nK6JrhvHx-vU/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1-cDlOjqz5XcrdMUZRYZ4pukOLUgetZcCaqt8hdHZqXE/edit?usp=sharing slides]--> | ||
|- | |- | ||
Line 224: | Line 224: | ||
|Go over midterm; testing, error-handling | |Go over midterm; testing, error-handling | ||
|Exceptions | |Exceptions | ||
− | |ZJ 12, [https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html Exceptions] | + | |<!--ZJ 12, -->[https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html Exceptions] |
|<!--[[CISC181_S2017_Lab7 | Lab #7: Inheritance]]<br> [https://docs.google.com/presentation/d/141leM8Mo-mX1Ms1cZKXASO_LdMjmV3pKybNtNcxVxjU/edit?usp=sharing slides]--> | |<!--[[CISC181_S2017_Lab7 | Lab #7: Inheritance]]<br> [https://docs.google.com/presentation/d/141leM8Mo-mX1Ms1cZKXASO_LdMjmV3pKybNtNcxVxjU/edit?usp=sharing slides]--> | ||
''Lab #6 (Apr. 3)'' | ''Lab #6 (Apr. 3)'' | ||
Line 232: | Line 232: | ||
|Testing, error-handling | |Testing, error-handling | ||
|Assertions, unit testing | |Assertions, unit testing | ||
− | |ZJ 13 | + | |<!--ZJ 13--> |
|<!--[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]--> | |<!--[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]--> | ||
|- | |- | ||
Line 239: | Line 239: | ||
|Collections | |Collections | ||
|Generics, <tt>shuffle</tt>, <tt>sort</tt> | |Generics, <tt>shuffle</tt>, <tt>sort</tt> | ||
− | |ZJ 14, [https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html Collection interface] | + | |<!--ZJ 14,--> [https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html Collection interface] |
|<!--[https://docs.google.com/presentation/d/1UrXB0JhLZAQ6wsQ6F5sBR7j4wk_AH_xF9BRVHc9Df7I/edit?usp=sharing slides]<br>-->''Lab #7 (Apr. 10)'' | |<!--[https://docs.google.com/presentation/d/1UrXB0JhLZAQ6wsQ6F5sBR7j4wk_AH_xF9BRVHc9Df7I/edit?usp=sharing slides]<br>-->''Lab #7 (Apr. 10)'' | ||
|- | |- |
Revision as of 09:18, 7 February 2017
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: Mondays, 10 am -- 12 pm |
TA | Abraham McIlvaine, E-mail: abemac@udel.edu, office hours: zzz in Smith 201 |
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.
|
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. We will post "if the course ended now" letter grades twice: after the midterms are graded and just before the final. There will be NO extra credit opportunities at the end of the semester (save the course evaluation), so do your best work early! If you have any questions about grading or expectations at any time, please feel free to ask me. |
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.
# | Date | Topic | Details | Readings | Links/Lab |
---|---|---|---|---|---|
1 | Feb. 7 | Welcome | Course details; IDE overview; Hello, Java | slides | |
2 | Feb. 9 | Basic variables, input/output | Basic input, output; Scanner and Math class, expressions, formatting for printing; naming, formatting, commenting styles | ||
3 | Feb. 14 | Variables, expressions, branching | Data types, constants, type conversions; if/else, switch, comparisons |
Lab #1 (Feb. 13) | |
4 | Feb. 16 | Loops | while, for (single and nested) | ||
5 | Feb. 21 | Basic graphics | Graphics class: shapes, color, text, randomness; programming tips and API lookup | Java 2D API | Lab #2 (Feb. 20) |
6 | Feb. 23 | Objects/methods/classes | Constructors, overloading | ||
7 | Feb. 28
Register/add deadline Feb. 20 |
Objects/methods/classes | public/private; Accessors/mutators; static | Lab #3 (Feb. 27) | |
8 | Mar. 2 | Objects/methods/classes | this; primitive wrapper classes; pass-by-value vs. pass-by-reference; inheritance (derived classes, polymorphism) | ||
9 | Mar. 7 | Arrays | Single-, multi-dimensional; ArrayList (collections) | Lab #4 (Mar. 6) | |
10 | Mar. 9 | Strings & streams | Basic string operations; stream types, URLs | ||
11 | Mar. 14 | Strings & streams | Reading, writing text files; String.split(); regular expressions | Regex documentation, URL tutorial |
Lab #5 (Mar. 13) |
12 | Mar. 16 | Abstract classes, interfaces | Comparable vs. Comparator | Object ordering | |
13 | Mar. 21 | Midterm review | |||
14 | Mar. 23 | MIDTERM | |||
Mar. 28 | NO CLASS Spring break |
||||
Mar. 30 | NO CLASS Spring break |
||||
15 | Apr. 4 | Go over midterm; testing, error-handling | Exceptions | Exceptions |
Lab #6 (Apr. 3) |
16 | Apr. 6 | Testing, error-handling | Assertions, unit testing | ||
17 | Apr. 11 | Collections | Generics, shuffle, sort | Collection interface | Lab #7 (Apr. 10) |
18 | Apr. 13
Withdraw deadline Apr. 10 |
Collections | Set and Map classes | ||
19 | Apr. 18 | Guest lecture | Lab #8 (Apr. 17) | ||
Apr. 20 | NO CLASS Instructor away |
||||
20 | Apr. 25 | Android | SDK; "Hello, world" app; running | Creating an Android project, Running your app |
Lab #9 (Apr. 24) |
21 | Apr. 27 | Android | Layout, UI elements | Building a simple UI | |
22 | May 2 | Android | Event handling, project explanation | Lab #10 (May 1) | |
23 | May 4 | Android | Multiple activities | Multiple activities | |
24 | May 9 | Android | Basic graphics | Canvas and drawables |
Project milestone #1 due |
25 | May 11 | Android | Touch, animation, sound | ||
26 | May 16 | Final review | Project milestone #2 due NO LAB on May 15 | ||
May 18, 19, 22, 23, 24, or 25 | FINAL EXAM |