|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.
|Instructor||Prof. Christopher Rasmussen|
Office: Smith 446
Office hours: Wednesdays, 10:15 am-12:15 pm
|TA||Nathaniel Merrill, E-mail: email@example.com, office hours: Tuesdays, 12:30-1:30 pm and 5:30-6:30 pm in Smith 2nd floor TA room|
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.
Note: The blue squares in the "#" column below indicate Tuesdays.
|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|
|4||Feb. 21||Loops||while, for (single and nested); break, continue||ZJ 6-6.6, 6.8-6.9, 4.9||slides: more control, enums, loops|
Register/add deadline Feb. 25
|Basic arrays and graphics||Randomness; single-dimensional arrays; 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||Class concepts, reference variables, constructors, overloading, overriding; intro to access||ZJ 3-3.5, 9.2-9.4, 10.3|
|7||Mar. 5||Objects/methods/classes||More about public/private, accessors/mutators, static||ZJ 2.10, 3.7, 9.5-9.6, 9.11||Lab #3: Objects (Sep. 26)|
|8||Mar. 7||Objects/methods/classes||Primitive wrapper classes; object comparison; this; start inheritance||ZJ 10.1-10.5, 11.1-11.2, 11.4, 11.6|
|9||Mar. 12||Objects/methods/classes||Finish inheritance (derived classes, polymorphism)|| Lab #4: Array lists (Oct. 3)|
|10||Mar. 14||Arrays and array lists||Multi-dimensional arrays; ArrayList (collections), pass-by-value vs. pass-by-reference||ZJ 7-7.9, 9.7, 9.8, 9.11, 11.5|
|11||Mar. 19||Interfaces and strings||Abstract classes, Comparable vs. Comparator, basic string operations||ZJ 5.7-5.10, 16.4, Object ordering||
Lab #5: Files (Oct. 10)
|12||Mar. 21||Streams and patterns||Stream types, reading text files; String.split(); regular expressions||ZJ 16.5, Regex documentation|
|13||Mar. 26||Midterm review||NO LAB Mar. 27 -- Activity completion deadline!|
|Apr. 2||NO CLASS
|Apr. 4||NO CLASS