Difference between revisions of "CISC181 S2019"

From class_wiki
Jump to: navigation, search
(Schedule)
(Schedule)
Line 243: Line 243:
 
|
 
|
 
|
 
|
|<!--[[CISC181_S2017_Lab7 | Lab #7: Inheritance]]<br> [https://docs.google.com/presentation/d/141leM8Mo-mX1Ms1cZKXASO_LdMjmV3pKybNtNcxVxjU/edit?usp=sharing slides]-->
+
|''Lab #6 (Apr. 10)''<!--[[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]
+
<!--''[[CISC181_S2017_Lab6 | Lab #6: Testing and exceptions]] (Apr. 3)''<br>[https://docs.google.com/presentation/d/1ZseNfzKA7vim7b87LMcIXVstOQPxTgZHQy37w51gDBA/edit?usp=sharing slides]-->
 
|-
 
|-
 
|16
 
|16
Line 254: Line 254:
 
|-
 
|-
 
|style="background:rgb(102, 204, 255)"|17
 
|style="background:rgb(102, 204, 255)"|17
|Apr. 16<br>''Withdraw deadline Apr. ??''
+
|Apr. 16<br>''Withdraw deadline Monday, Apr. 15''
 
|
 
|
 
|
 
|
|<!--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>-->''[[CISC181_S2017_Lab7 | Lab #7: Testing and collections]] (Apr. 10)''<br>[https://docs.google.com/presentation/d/1i1VHKTk0TwVpaWZvWIzzJFO_PRawQ8h7oeFx3RuTbps/edit?usp=sharing slides]
+
|<!--[https://docs.google.com/presentation/d/1UrXB0JhLZAQ6wsQ6F5sBR7j4wk_AH_xF9BRVHc9Df7I/edit?usp=sharing slides]<br>-->''Lab #7 (Apr. 17)''<br>[https://docs.google.com/presentation/d/1i1VHKTk0TwVpaWZvWIzzJFO_PRawQ8h7oeFx3RuTbps/edit?usp=sharing slides]
 
|-
 
|-
 
|18
 
|18
Line 266: Line 266:
 
|
 
|
 
|<!--[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]-->
 
|<!--[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]-->
<!--
 
|18
 
|Apr. 13
 
''Withdraw deadline Apr. 10''
 
|Dates and times
 
|<tt>Calendar</tt>, <tt>nanoTime</tt>
 
|[https://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Dates and times]
 
|[[CISC181_S2017_Lab8 | Lab #8: Testing and exceptions]]<br>[https://docs.google.com/presentation/d/1y_hpwpNf_4RiaMB4_SKYkAG2WhTuExE0LLiY0e9Fu2w/edit?usp=sharing slides]
 
-->
 
 
|-
 
|-
|style="background:rgb(102, 204, 255)"|
+
|style="background:rgb(102, 204, 255)"|19
|Apr. 18
+
|Apr. 23
|style="background:rgb(255, 102, 0)"|NO CLASS<br>''Instructor away''
+
|
 
|
 
|
 
|
 
|
|''[[CISC181_S2017_Lab8 | Lab #8: Maps]] (Apr. 17)''
+
|Lab #7<!--''[[CISC181_S2017_Lab8 | Lab #8: Maps]] (Apr. 17)''-->
 
|-
 
|-
 +
|20
 +
|Apr. 25
 
|
 
|
|Apr. 20
 
|style="background:rgb(255, 102, 0)"|NO CLASS<br>''Instructor away''
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|-
|style="background:rgb(102, 204, 255)"|18
+
|style="background:rgb(102, 204, 255)"|21
|Apr. 25
+
|Apr. 30
 
|Android
 
|Android
 
|SDK; "Hello, world" app; running
 
|SDK; "Hello, world" app; running
Line 298: Line 289:
 
''[[CISC181_S2017_Lab9 | Lab #9: Hello, Android]] (Apr. 24)''<br>[https://docs.google.com/presentation/d/1v2qME-AOCc0TG0crvyliv4vXEZzho9vzGMR9evDCfPc/edit?usp=sharing slides]
 
''[[CISC181_S2017_Lab9 | Lab #9: Hello, Android]] (Apr. 24)''<br>[https://docs.google.com/presentation/d/1v2qME-AOCc0TG0crvyliv4vXEZzho9vzGMR9evDCfPc/edit?usp=sharing slides]
 
|-
 
|-
|19
+
|22
|Apr. 27
+
|May 2
 
|Android
 
|Android
 
|Layout, UI elements, event handling, multiple activities
 
|Layout, UI elements, event handling, multiple activities

Revision as of 21:55, 8 April 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
  • Lecture: Tuesdays and Thursdays, 11 am to 12:15 am in ISE 222
  • Lab section: Wednesdays, 1:25 to 2:15 pm in Spencer 010
Required
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 #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). Lab grading details here
  • 9% Activity completion in ZJ before day of midterm
  • 20% Midterm exam
  • 15% Programming project This is a two-step, two-week assignment which may be done individually or as part of a pair
  • 20% Final exam (functionally, this is a second midterm)
  • "Bonus 2%" Complete end-of-semester course evaluation

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

Lab #0: Math, formatting, branching (Feb. 13)
lab slides

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
Lab #1: More math, basic loops (Feb. 20)

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

slides: arrays

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)

slides: classes, Swing graphics

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

MouseAndTimerJComponent.java

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

Student solutions to leastCommon() exercise

13 Mar. 26 Midterm review NO LAB Mar. 27 -- Activity completion deadline!

slides
Partial sample midterm

14 Mar. 28 MIDTERM
Apr. 2 NO CLASS
Spring break
Apr. 4 NO CLASS
Spring break
15 Apr. 9 Finish exceptions Lab #6 (Apr. 10)
16 Apr. 11 Testing, error-handling Assertions, unit testing ZJ 3.6, 8.2 slides
17 Apr. 16
Withdraw deadline Monday, Apr. 15
Lab #7 (Apr. 17)
slides
18 Apr. 18
19 Apr. 23 Lab #7
20 Apr. 25
21 Apr. 30 Android SDK; "Hello, world" app; running Creating an Android project, Running your app

Lab #9: Hello, Android (Apr. 24)
slides

22 May 2 Android Layout, UI elements, event handling, multiple activities Building a simple UI, multiple activities slides
20 May 2 Android More multiple activities, basic graphics, canvas and drawables, project explanation Lab #10: Android activities (May 1)
slides
MyViewZoo, SimpleDraw
21 May 4 Android More basic graphics, touch, animation, sound slides

SimpleAnimate, SimpleMultimedia

22 May 9 Android Sensors, cameras, faces Intents and Intent Filters

Project milestone #1 due May 10
NO LAB on May 8
slides

23 May 11 Project help (in class)
24 May 16 Final review Project milestone #2 due
NO LAB on May 15
slides
2015 final exam
May 23, 10:30 am--12:30 pm FINAL EXAM