Difference between revisions of "CISC181 F2017"

From class_wiki
Jump to: navigation, search
(Schedule)
(Schedule)
Line 178: Line 178:
 
|Interfaces; single-, multi-dimensional arrays; <tt>ArrayList</tt> (collections); <tt>Comparable vs. Comparator</tt>; enhanced <tt>for</tt>
 
|Interfaces; single-, multi-dimensional arrays; <tt>ArrayList</tt> (collections); <tt>Comparable vs. Comparator</tt>; enhanced <tt>for</tt>
 
|ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5, [https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html Object ordering]
 
|ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5, [https://docs.oracle.com/javase/tutorial/collections/interfaces/order.html Object ordering]
|<!--[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_S2017_Lab4 | Lab #4: Arrays]] (Oct. 3)''<br>[https://docs.google.com/presentation/d/13QHNLujB-XxbmaXq3jGA6aC9So2q0BlpFCzWd-eyaLE/edit?usp=sharing slides]
+
|<!--[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_S2017_Lab4 | Lab #4: Arrays]] (Oct. 3)''<!--<br>[https://docs.google.com/presentation/d/13QHNLujB-XxbmaXq3jGA6aC9So2q0BlpFCzWd-eyaLE/edit?usp=sharing slides]-->
 
<!--[[CISC181_S2017_CardClass | Card class]], [[CISC181_S2017_DeckClass | Deck class]]-->
 
<!--[[CISC181_S2017_CardClass | Card class]], [[CISC181_S2017_DeckClass | Deck class]]-->
 
|-
 
|-
Line 186: Line 186:
 
|Basic string operations; stream types, URLs
 
|Basic string operations; stream types, URLs
 
|ZJ 5.7-5.10, 16.4, [http://download.oracle.com/javase/tutorial/networking/urls/index.html URL tutorial]
 
|ZJ 5.7-5.10, 16.4, [http://download.oracle.com/javase/tutorial/networking/urls/index.html URL tutorial]
|[https://docs.google.com/presentation/d/1sW_7WUyubV8aqwurltT8Z-bWtrFWdpW99WSmVW6O4iM/edit?usp=sharing slides]
+
|<!--[https://docs.google.com/presentation/d/1sW_7WUyubV8aqwurltT8Z-bWtrFWdpW99WSmVW6O4iM/edit?usp=sharing slides]-->
 
|-
 
|-
 
|style="background:rgb(102, 204, 255)"|11
 
|style="background:rgb(102, 204, 255)"|11

Revision as of 13:28, 29 August 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: Tuesdays, 11 am-1 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)
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
  • Lecture: Mondays and Wednesdays, 8:40 am to 9:55 am in Kirkbride 205
  • Lab sections: Tuesdays in Spencer 010
    • 20: 8:00 am to 8:50 am
    • 21: 9:05 am to 9:55 am
    • 22: 10:10 am to 11:00 am
Required
Grading
  • 40% Labs (4% each). These are sets of small tasks/programs which must be done individually. They go out each Tuesday and must be completed by Monday night of the following week. More details here
  • 20% Programming project This is a two-step, two-week assignment which may be done as part of a pair
  • 20% Midterm exam
  • 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 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 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
Sep. 4 NO CLASS
Labor Day holiday
Lab #1: 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
3 Sep. 11 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
4 Sep. 13 Loops while, for (single and nested); break, continue; randomness ZJ 6-6.6, 6.8-6.9, 4.9
5 Sep. 18

Register/add deadline Feb. 20

Basic graphics Graphics class: shapes, color, text; programming tips and API lookup Making windows in Swing, Java 2D API Lab #2: Basic 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
7 Sep. 25 Objects/methods/classes More about public/private, accessors/mutators, static, primitive wrapper classes; this; pass-by-value vs. pass-by-reference ZJ 2.10, 3.7, 9.5-9.6, 9.11 Lab #3: Objects (Sep. 26)
8 Sep. 27 Objects/methods/classes Inheritance (derived classes, polymorphism), abstract classes ZJ 10.1-10.5, 11.1-11.2, 11.4, 11.6
9 Oct. 2 Arrays and interfaces Interfaces; single-, multi-dimensional arrays; ArrayList (collections); Comparable vs. Comparator; enhanced for ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5, Object ordering Lab #4: Arrays (Oct. 3)
10 Oct. 4 Strings & streams Basic string operations; stream types, URLs ZJ 5.7-5.10, 16.4, URL tutorial
11 Oct. 9 Strings & streams Reading, writing text files; String.split(); regular expressions; using ArrayList and enum for cards ZJ 16.5, Regex documentation

Lab #5: Files (Oct. 10)

12 Oct. 11 Miscellaneous
13 Oct. 16 Midterm review slides

Partial sample midterm

14 Oct. 18 MIDTERM
15 Oct. 23 Dates and times Calendar, nanoTime Dates and times
16 Oct. 25 Go over midterm; testing, error-handling Exceptions ZJ 17-17.3, Exceptions

Lab #6: Testing and exceptions (Apr. 3)
slides

Oct. 30 NO CLASS
Instructor away
17 Nov. 1 Testing, error-handling Assertions, unit testing ZJ 3.6, 8.2 slides
18 Nov. 6
Withdraw deadline Apr. 10
Generics, collections Generic methods, classes; Collection vs. Collections; Set and Map classes Collection interface Lab #7: Testing and collections (Apr. 10)
slides
19 Nov. 8 Coding challenge Challenge problems
20 Nov. 13 Android SDK; "Hello, world" app; running Creating an Android project, Running your app

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

21 Nov. 15 Android Layout, UI elements, event handling, multiple activities Building a simple UI, multiple activities slides
Nov. 20 NO CLASS
Thanksgiving break
Lab #8: Maps (Apr. 17)
Nov. 22 NO CLASS
Thanksgiving break
22 Nov. 27 Android More multiple activities, basic graphics, canvas and drawables, project explanation Lab #10: Android activities (May 1)
slides
MyViewZoo, SimpleDraw
23 Nov. 29 Android More basic graphics, touch, animation, sound slides

SimpleAnimate, SimpleMultimedia

24 Dec. 4 Project help (in class)
25 Dec. 6 Final review Project milestone #2 due
NO LAB on May 15
slides
2015 final exam
Dec. 11-16 FINAL EXAM