Title: cis269
Course: CPS 261: Advanced Java Concepts ~ DL & MM MASTER

Java CIS269

Instructor: Clem Hasselbach

Requirements for the course:

The prerequisite for this course is a good background in a programming language.

Approach:

We will be using the textbook:
"Java 2 Sun Certified Programmer for Java 2" (should be able to find it in the bookstore). I will be providing additional sources of material to supplement the text. The book was chosen to keep us aligned with the goals of the Sun Java Certification Test. The class lectures and web examples are designed to help make the book more readable.

If you are looking for a book that is more readable for explaining Java from the ground up with lots of details, then I recommend the book:
Thinking in Java by Bruce Eckel.

Goals:

The goal of the course is to provide a thorough coverage of the Java programming language. In the process, we hope that students who do well in this course will be able to pass the Sun Certification Test.

The old CIS277 class has been obsoleted in favor of 2 classes.

- CPS161 will be a class to teach Java programming to first time programmers. No previous programming experience will be required for this course.
- CIS269 will provide a thorough java preparation for students who already have a good programming background. This class will have a goal of preparing students for Java Certification. The prerequisite to this class is a previous programming class (i.e. CPS171, CPS161, etc.) or something equivalent.

Miscellaneous: Don't hesitate to ask Questions when something is unclear. The course builds on itself, so it's important to understand the concepts as we go along. The flip side of this is that I am not going to claim to know the answers to all of your Questions off the top of my head (or even after doing research). However, I will endeavor to find answers even if I have to defer the answer until the next class period.

Course Content

The following list does not necessarily represent the order in which material will be covered in the course.

- Java Language Constructs: Operators, variables, control statements, etc.
- Exception Handling
- Package Concepts and Access Control
- Threads
- Garbage Collection
- Utility Classes - StringTokenizer, System Properties, Wrapper Classes, etc.
- Collection Classes - ArrayList, HashMap, TreeMap, etc.
- String Classes
- AWT (Abstract Windowing Toolkit)
- Input Output.
- Network Programming - In this section we will draw on concepts covered throughout the whole class. We will build a Chat Server that uses Threads, Collection Classes as well as the Java I/O architecture.

The Homework assigned is considered an important part of the learning process in this class.

We will use the Certification Tests as Quizzes. The quizzes won't count a lot in your grade, but they will give you some practice taking Certification tests.

Grade Composition:

- 15% - Attendance
- 10% - Labs
- 10% - Quizzes
- 25% - Homework
- 40% - Test

Grading Scale:

The following is my default grading scale. At the end of the semester, I sometimes decide to be more generous than this posted grading scale.

- 92 - 100 ==> A
- 90 - 91 ==> A-
--------------------------------------------------------------------------------
- 88-89 ==> B+
- 82 - 87 ==> B
- 80 - 81 ==> B-
--------------------------------------------------------------------------------
- 78-79 ==> C+
- 72 - 77 ==> C
- 70 - 71 ==> C-
--------------------------------------------------------------------------------
- 68-69 ==> D+
- 62 - 67 ==> D
- 60 - 61 ==> D-
--------------------------------------------------------------------------------
- <= 59 ==> E

COURSE POLICIES

1. My main desire is to maximize the learning experience at WCC. I would like to encourage
student-student interaction that supports this learning experience.
2. Attendance is quite important to doing well in the class.
3. A significant part of the learning experience results from doing homework exercises.
4. Email - Sometimes I get general questions submitted by way of Email. Usually this is not an effective way to deal with questions. Often I read the email, and don't feel like I have all of the information needed to give an effective answer. In most cases, PLEASE bring up questions in class. First of all, most questions are of interest to more than one person. I don't mind debugging individual problems in class, because its usually a good opportunity to teach debugging skills which is probably the most important thing I can offer you in any class. Also if I don't have enough information (normal case with Email), I can ask a few more questions from you and together we should be able to solve virtually all of your problems. However, email is a good way for you to inform me that you forgot your password (please write it down someplace if you think this is likely to happen), or something else is broken.
5. Most classes at WCC have a very wide diversity in previous experience. In order to deal with this, I will dedicate some class lab time to work on homework. The purpose of this time is to provide individual help on homework exercises.
6. If you don't find a need for help on homework exercises, I would like to solicit your help in supporting other students who do need help. I define help as assisting a fellow student in getting around any roadblocks. Put differently, helping is not doing the work for the fellow student. Helping your fellow student will accomplish the following:
  - You will learn the material better yourself as you explain it to someone else
  - This will allow us to cover more material because it will be easier to meet the need for help
  - You will get to know your fellow classmates
7. Homework will be submitted to me by way of a web program. If you don't have access to the web, you can bring in your homework on a floppy and use WCC computers to submit your homework.
8. I want to encourage homework to be on time. I will try to provide at least 1 week of lead time on homework. After the due date, you can still turn in the homework. If the homework is within the first week of the due date you can get upto 90% of the full credit. You won't get any credit for anything over 4 weeks late. The following table describes this in more detail.

% Taken Off | Lateness
10 | Late 1 day
12 | 2 days late
14 | 3 days late
16 | 4 days late
2% for each additionaly day late | ...

All homework must be turned in before last day of class . The cutoff for due dates is 11:59 pm of the dates posted. Due dates will be enforced by the online homework system. I will go over this in more detail when the first homework is assigned.
9. I would like to do some exercises as a whole class. In these cases, I want to encourage class participation from all students.

Class Room Participation-

I want to encourage class room participation that facilitates the learning process. Good class participation includes:
- Participating (but not dominating) during exercises done as a complete class
- Making good use of class lab time. If you don't need help, you can offer help.
- Not participating in distracting activities (i.e. talking to someone else during a class lecture)
- Asking helpful questions.
- Don't work on homework if a lecture is in progress.

January 12, 2006 1:53 AM