Syllabus

ICS 211: Introduction to Computer Science II - Fall 2012
MW - 1030-1145a - MSB 114

Instructor: Zach Tomaszewski, PhD
Email: ztomasze@hawaii.edu
Course Site: <http://www2.hawaii.edu/~ztomasze/teaching/ics211/2012fa/>

Course content:
Assignments, lecture notes, and other resources will be available at the course site given above. The site also includes links to the lab pages and to Laulima. We will use Laulima for quizzes, occasional discussion, and recording exam grades.

Course description (from UH catalog):
(3 credits). Algorithms and their complexity, introduction to software engineering, data structures, searching and sorting algorithms, numerical errors. Pre: grade of "B" or higher in 111 or consent.

All students wishing to enroll in ICS courses above 211 except ICS 241 must meet the prerequisite grade requirement of B or higher in ICS 111 and 211 prior to registering for the course.

Course objectives:
Upon successfully completing this course, students will be:

Grading:
45% - Exams (3 midterms and 1 final, each worth 15%, dropping the lowest score)
 5% - Online quizzes and discussion
50% - Assignments

Letter grades will be assigned using the following scale:

100%+ = A+
99 - 93 = A
92 - 90 = A-
89 - 87 = B+
86 - 83 = B
82 - 80 = B-
79 - 77 = C+
76 - 73 = C
72 - 70 = C-
69 - 67 = D+
66 - 63 = D
62 - 60 = D-
59- = F

A student must have an average exam score of 70% or higher to receive a grade of B or higher for the course.

I reserve the right to lower these grade thresholds, but I will not raise them. There will be no grading curve, so it is possible for all students to receive As (or Fs).

Late policy:
Unless stated otherwise, assignments are due by 8am on the given due date. Late assignments are -20% of the max score for up to 48 hours late and -40% for 48 to 96 hours late. Assignments more than 4 days late will not be accepted.

Note that this is actually a very harsh late policy. This is to discourage you from falling behind, since most students that do so never catch up again. If you regularly turn in work only 2 days late, your assignment average will be 80%, which is less than the B required to move on past 211. If you regularly submit 3 or 4 days late, your resulting 60% assignment average puts you very near the F borderline. This policy exists simply to give you flexibility for occasional minor emergencies that may arise during the semester. You can easily offset occasional use of this policy with extra credit, explained below.

There is no late policy for quizzes or discussions. There will be no makeup exams, so a missed exam is given a score of 0. (But remember that the lowest exam grade will be dropped.)

Extra credit:
There will be various opportunities to earn extra credit during the semester. Extra credit is applied only to the Assignments portion of your grade. However, regardless of how much extra credit you earn, your Assignments grade cannot exceed 55% of your total grade. The primary value of extra credit is to offset any unexpected late penalties on assignments.

Cheating:
Exams will be closed book and closed notes. Unless explicitly told otherwise for a particular assignment or activity, students are not to collaborate on any code submitted for a grade. That is, you must work individually and do your own work. Students that collaborate on code submitted for an assignment will be warned and asked to split the grade for that assignment. Plagiarism or a second collaboration offense will result in an F for the course and disciplinary action. (See Examples of Cheating for more.)

Labs:
The labs will be handled by the TA, Anthony Christe (achriste@hawaii.edu). Lab attendance is expected. Labs will cover some material not covered in lecture, and there may be occasional activities in lab (such as code review studios) that will form part of your Assignment grade. Labs are also another source of extra credit points. Attend the lab section for which you are officially registered:

Section 001 - WF - 1200-0115p - POST 318A
Section 003 - WF - 0130-0245p - POST 318A

Lab Assistants:
We have two lab assistants this semester that will help out in lab. They will also be available to help you during open lab hours in POST 319. You can see either LA for help. Their open lab hours:

Wed - 6-9pm - Branden O.
Fri - 6-9pm - Alan S.

You can also get help at the Natural Sciences Undergraduate Learning Emporium in Bilger Addition 209. Those people listed in italics specialize in 111 material, but should be able to provide some 211 help as well.

Mon - 2:15-4:30 - Alan S.
Tues - 12:00-2:00 - Bryson W.
Wed - 3:00-5:00 - Branden O.
Thurs - 12:00-2:00 - Bryson W.
Fri - 2:30-4:15 - Christopher R.

Textbook:
Koffman & Wolfgang's Data Structures: Abstraction and Design Using Java. 2nd Edition. John Wiley & Sons, 2010.

Meeting with me:
I am nearly always free after class. I will also have open office hours on Mondays, 12:30pm to 1:45pm, in my office, POST314D. You can also email me to set up an appointment at some other time; afternoons (other than Friday) work best for me.

Special needs and other issues:
If you have any disabilities or problems that are interfering with your learning experience in this course, please let me know so we can do something about it. This includes any major emergencies or serious issues that may arise in your life during the semester. The sooner you let either me or the TA know, the more likely it will be that we can do something to accommodate you.

If you are not comfortable talking to either me or Anthony, you can contact the ICS student advisor, Gerald Lau (glau@hawaii.edu, POST 303A).

Tentative Schedule (may change):
In particular, exam dates may shift one class meeting earlier or later. I will try to avoid this whenever possible, though.

DateDayLectureTopicReading
20AugM01A Intro
Java: Conditionals, etc.
Appendix A.1-A.4
Java Tutorial: Getting Started (skim) & Language Basics
22AugW01B Algorithms: Intro
Java: Loops, etc.
Appendix A.10-A.11
Java Tutorial: Language Basics & Exceptions
27AugM02A SoftwareEng: Intro
Java: Methods
Software Development, Software Development Process
Appendix A.4, Tutorial: Methods: defining, parameters, returning (from Classes and Object)
29AugW02B Algorithms: Big-O
Java: Arrays, cmd line args, File I/O.
2.4
Appendix A.8 , Tutorial: Language Basics (arrays)
03SepM--[Holiday: LABOR DAY]
05SepW03B Algorithms: Recursion
Java: JVM (stack and heap)
5.1-5.2
10SepM04A Algorithms: Recursion and Backtracking
Java: Odds and Ends
(optional: 5.5), 5.6
12SepW04B Review
Java: Odds and Ends, Objects, Enums
2.1-2.2 (ArrayList), 2.11 (testing)
Appendix A.6, A.7, (A.12), [Appendix A]
Java Tutorial: OOP Concepts, Classes and Objects (first half, through More on Classes), Enum Types
17SepMEXAM[Procedural java, algorithms, software development, big-O, recursion]
19SepW05B SoftwareEng: OOP
ADT: Intro, Stack (array-based)
1.1-1.3, [Ch. 1]
3.1
Java Tutorial: Exceptions
24SepM06A ADT: Stack (node-based)
Java: Generics
2.5 (first part, through Connecting Nodes), 3.3, [Ch. 3]
26SepW06B Java: Interfaces and Inheritance Java Tutorial: Interfaces and Inheritance
01OctM07A ADT: Queue 4.1, 4.3, [Ch. 4]
03OctW07B ADT: List 2.1, 2.3, 2.5
08OctM08A ADT: List variants
Java: Iterators
2.6-2.7
10OctW08B ADT: Java Collections API 2.9, [Ch. 2]
Java Tutorial: Collections (skim to get a sense of what's there)
Java Tutorial: List interface
15OctM09A ADT: GUIs
Java Tutorial: Creating a GUI with Swing
17OctWEXAM [ADTs, Stack, Queue, List]
22OctM10A Applets
Searching: linear, binary
Sorting: Insertion, Selection
8.2, 8.4
24OctW10B Sorting: Bubble, Merge, Quick; etc. 8.3, 8.7, 8.8, 8.9
Merge and Quick sort slides
29OctM11A Trees, traversals 6.1, 6.2, 6.3
31OctW11B ADT: Binary Search Tree 6.4
05NovM12A Using trees: Iterating, Searching
07NovW12B Heaps, priority queues, (heap sort) 6.5, 8.8
12NovM--[Holiday: VETERAN'S DAY]
14NovW13B Huffman Trees (and other variants) 6.6, [Ch. 6]
19NovMEXAM[Searching, sorting, BSTs, trees]
21NovW14B Hashing 7.3, 7.4
26NovM15A ADT: Sets and Maps; Comparator 7.1, 7.2, 7.7
28NovW15B Equality: equals and hashCode 7.5, [Ch. 7]
How to Write an Equality Method in Java
03DecM16A Immutability, Graphs, other ADTs [Ch 10]
05DecW16B Recap/review
14DecFFINAL9:45-11:45a [Comprehensive]

For your reference, a PDF snapshot of the original version of this syllabus is available in Laulima under Resources.

Home