Difference between revisions of "CISC181 S2017"

From class_wiki
Jump to: navigation, search
(Schedule)
(Schedule)
Line 192: Line 192:
 
|style="background:rgb(102, 204, 255)"|13
 
|style="background:rgb(102, 204, 255)"|13
 
|Mar. 21
 
|Mar. 21
|Strings & streams
+
|Strings & streams II and III
 
|Reading, writing text files; <tt>String.split()</tt>; regular expressions
 
|Reading, writing text files; <tt>String.split()</tt>; regular expressions
 
|[http://download.oracle.com/javase/tutorial/essential/regex/index.html Regex documentation], [http://download.oracle.com/javase/tutorial/networking/urls/index.html URL tutorial]
 
|[http://download.oracle.com/javase/tutorial/essential/regex/index.html Regex documentation], [http://download.oracle.com/javase/tutorial/networking/urls/index.html URL tutorial]
|[https://docs.google.com/presentation/d/194jctkWZPejxgfSCT3wxkCJcTsaw9JMyVE28DHShwgc/edit?usp=sharing slides]
+
|[https://docs.google.com/presentation/d/194jctkWZPejxgfSCT3wxkCJcTsaw9JMyVE28DHShwgc/edit?usp=sharing slides] [https://docs.google.com/presentation/d/1f7rubiIJrFFNIkLGSDifOrKEMlsBJ833pcP0DlgzcTQ/edit?usp=sharing slides]<br>
 +
[[CISC181_S2015_Lab6 | Lab #6: Files]]
 
|-
 
|-
 
|14
 
|14
Line 213: Line 214:
 
|style="background:rgb(102, 204, 255)"|14
 
|style="background:rgb(102, 204, 255)"|14
 
|Mar. 30
 
|Mar. 30
|Finish strings/streams
 
 
|
 
|
 
|
 
|
|[[CISC181_S2015_Lab6 | Lab #6: Files]]<br>
+
|
[https://docs.google.com/presentation/d/1f7rubiIJrFFNIkLGSDifOrKEMlsBJ833pcP0DlgzcTQ/edit?usp=sharing slides]
+
|
 
|-
 
|-
 
|15
 
|15

Revision as of 21:38, 2 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 xxx, E-mail: yyy@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
  • Lecture: Tuesdays and Thursdays, 11:00 am to 12:15 pm in Brown 116
  • Lab section: Mondays from 4:40 pm to 5:30 pm in Spencer 010
Required
Grading
  • 10% Activity completion in ZJ
  • 30% Labs (3% each). These are sets of small tasks/programs which must be done individually and are due Friday night of the same week. Attendance counts for 0.5% of each lab -- more details here
  • 20% Programming project (10% for each milestone). This is a multi-step 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 Tuesdays.

# Date Topic Details Readings Links/Lab
1 Feb. 7 Welcome Course details, IDE overview Lab #1: Getting started
slides
2 Feb. 9 Hello, Java! Basic input, output; debugging ZJ 1 slides
3 Feb. 14 Finish "Hello, Java" Scanner and Math class, expressions, formatting for printing;
naming, formatting, commenting styles
ZJ 1 slides
4 Feb. 16 Variables, expressions, branching Data types, constants, type conversions; if/else, switch, comparisons ZJ 2, 3 Lab #2: Branching, loops
slides
5 Feb. 21 Loops while, for (single and nested) ZJ 4 slides
6 Feb. 22 Basic graphics Graphics class: shapes, color ZJ 5, Java 2D API slides
7 Feb. 28

Register/add deadline Feb. 20

Basic graphics Graphics programming tips, plus text, randomness, API lookup ZJ 5 Lab #3: Basic graphics
8 Mar. 2 Objects/methods/classes Constructors, overloading ZJ 6 slides
9 Mar. 7 Objects/methods/classes public/private; Accessors/mutators; static ZJ 6 slides
10 Mar. 9 Arrays Single-dimensional ZJ 7 Lab #4: Arrays

slides

11 Mar. 14 Arrays Multi-dimensional; ArrayList (collections) ZJ 7 Lab #5: Objects

slides

12 Mar. 16 Strings & streams Basic string operations; stream types, URLs ZJ 8 slides

Card class, Deck class

13 Mar. 21 Strings & streams II and III Reading, writing text files; String.split(); regular expressions Regex documentation, URL tutorial slides slides

Lab #6: Files

14 Mar. 23
13 Mar. 28 NO CLASS
Spring break
14 Mar. 30
15 Apr. 4 More about classes this; primitive wrapper classes; pass-by-value vs. pass-by-reference ZJ 9 slides
16 Apr. 6 Inheritance Derived classes, polymorphism ZJ 10 slides
17 Apr. 11 Midterm review slides

Partial sample midterm
NO LAB

18 Apr. 13 MIDTERM
Apr. 18
Apr. 20
Apr. 25
Apr. 27
19 May 2 Abstract classes, interfaces Comparable vs. Comparator ZJ 11, Object ordering Lab #7: Inheritance

slides

20 May 4 Go over midterm, finish interfaces slides
21 May 9 Testing, error-handling Exceptions ZJ 12, Exceptions slides
22 May 11

Withdraw deadline Apr. 10

Testing, error-handling Assertions, unit testing Lab #8: Testing and exceptions

slides

23 May 16 Finish unit testing slides
24 Apr. 17 Dates and times Calendar, nanoTime Dates and times slides
25 Apr. 20 Collections Generics, shuffle, sort ZJ 14, Collection interface Lab #9: Timing

slides

26 Apr. 22 Collections Set and Map classes slides
27 Apr. 24 Android SDK; "Hello, world" app; running Creating an Android project, Running your app slides
28 Apr. 27 Android Layout, UI elements Building a simple UI Lab #10: Android

slides

29 Apr. 29 Android Layout, UI elements slides
30 May 1 Android Event handling, multiple activities Multiple activities slides
31 May 4 Android Project explanation, multiple activities slides
NO LAB
32 May 6 Android Basic graphics Canvas and drawables slides

SimpleDraw: MySurfaceView.java, activity_main.xml

33 May 8 Android Touch, animation, sound slides

SimpleAnimate: MyAnimatedSurfaceView.java, MyThread.java, MainActivity.java,activity_main.xml, AndroidManifest.xml, grenade.mp3, jump.mp3

May 11 NO CLASS
Instructor family emergency
NO LAB
Project milestone 1 due
34 May 13 Android Background music, text to speech, sensors (accelerometer) slides

SimpleMultimedia: MainActivity.java,activity_main.xml, electronic_clav.mp3,

May 15 NO CLASS
Project office hours 9 am-1 pm
35 May 16 Final review NO LAB
Project milestone 2 due

slides Sample final (ignore JAR, Swing, MarsLander questions)
Other part of sample midterm

May 18, 19, 22, 23, 24, or 25 FINAL EXAM: ???