Intro to Java: The Plan

Brandan Jones

30-IT-397

Text updated from previous syllabus (252 and 396) noted in green.

Revision 1: 4/22/2002

Revision 2: 4/1/2003

Revision 3: 3/31/2004

Course Description

This course introduces intermediate level Java technology.  The focus of this course is on graphical user interface concepts and their applications.

My objective in this course is to give you a solid foundation in Java.  In doing so, I must assure complete customer satisfaction for you, the College of Evening and Continuing Education, the University of Cincinnati, its alumnus, its contributors, its employers, and me.  This point cannot be emphasized enough.  I want to make sure that you are getting the best value-for-dollar education that can be found in this region or on the web.  If, for any reason, you feel that you are not getting out of this course what you want, or you are unsatisfied with the course, please let me know as early as possible so that I can make necessary changes.  I would much rather fix a situation than have an unsatisfied customer. 

On that same subject, please be aware, starting the first day of class or earlier, that this is a very intense, fast paced class, and will require a significant amount of effort.  Take a look at this syllabus and make sure you understand the expectations of the class.  Also note, not everyone can get an ‘A’ in class, or those ‘A’s would all be worthless.  It is quite possible to get a lower grade, but still learn a significant amount of the material.

I constantly change and improve the material and the presentation of all of my classes. I usually re-evaluate material before each new class starts. Sometimes I may change course material and reading assignments during the course to better suit the needs and desires of the class. If you feel that any part of class is confusing or not smooth, please let me know so that I can revise it or cover it again in class.

 

Prerequisites

Programming Logic and Methods

30-IT-396: Java I

Text

Core Java Volume II – Advanced Features

Cay S. Horstman, Gary Cornell

2002 Prentice Hall/Sun Microsystems Press

ISBN 0-13-092738-4

 

Core Servlets and Java Server Pages, 2nd Edition

Marty Hall

2003 Prentice Hall/Sun Microsystems Press

ISBN 0-13-009229-0

 

Also, the Core Java II, Volume 1: Fundamentals book will be invaluable.  I hope you have not yet sold it back!

 

Requirements

The learner is expected to:

1.      Attend class regularly and on time
2.      Participate in class discussions.
3.      Open a blackboard account.
4.      Complete all lab work.
5.      Complete all projects, quizes, and assignments.

Attendance

All learners are expected to attend class on a daily basis, just as an employee would be expected to attend work on a daily
basis.  For every day of class missed, the final grade will be lowered 1 letter grade (It is impossible to evaluate a learner who is
not in class).  This also applies to the first day of class. 

If the learner misses a class, it is his/her responsibility to obtain notes from another learner.  It is also his/her responsibility to
update his/her diskettes.  This must be done before class begins.

Though I have received many comments about this policy, please understand that, almost always, those who miss class do not completely comprehend the material covered, and then require assistance from me in class or out of class.  This is unfair to me since I had already spent time covering the material!

Also, this counts for leaving class early during in class lab time.  In class lab time is provided for your assistance.  It is time for you to ask me one-on-one questions for concepts that you may not understand, or questions you simply did not want to ask in front of the entire class.  Please, take advantage of in class lab time to clarify any concepts that are unclear.

Learner Planning
 

This course will be fun and valuable, but will require significant effort.  Probably more effort than most classes you have taken.
To the fullest extent possible, I will avoid using paper, and offer everything on my website instead.

The lab assignments are a lot of work.  Plan for this by setting aside a fixed amount of time for the lab work.  I will help you
with your programming concerning language upon request.  If your problem is in the logic, I will ask to see your
UML.  If you have not prepared it, I cannot help you.

Open Lab Time

Open lab time will be available during the quarter.  Some of that lab time may be in person, in the Sander L221 lab, and other time may be available remotely, via instant messenger.  Do not come to open lab time until you have started the project.  I can help you the most when you know what the potential problems are!

Absence During Tests or Exams

It is the responsibility of the learner to be in class and on time on a daily basis.  If a learner misses a test or an exam, he/she can
only make up the work if a valid reason is given (A doctor’s note is required if you are sick, for example).  If you know ahead
of time that you won’t make the exam, discuss the matter with the instructor; arrangements can usually be made.

Most examinations in class will be offered on-line, outside of class.  These exams will be timed and available for a period of time, usually around 24 hours.  Please plan to take these in a quiet facility where you will not be disturbed.  If you feel that you will not be able to concentrate at work or home, you can take them in the lab in Sander L221.  Please print your test before you submit it in case there is any problem in grading.

Grading
 
Assignments, Quizzes, and other grading criteria will be discussed in an open forum the first day of class, and then posted in this area. As decided week 1, the grading will be:
Quiz 1, Week 3:10%
Programming Assignment 1, Week 6:25%
Programming Assignment 2 UML, Week 8:15%
Programming Assignment 2, Week 10:35%
Final Quiz, Finals Week:15%

There are 2 class assignments.  Completing the requirements fully will earn a ‘B’.  Earning an ‘A’ requires extra work; doing something that is not stated in the requirements.

Please turn assignments in to the Digital Drop Box on Blackboard.  Source code is required, a screen capture of the output is also recommended in case I am unable to reproduce the results.  Assignments are due at 6:30 on the due date.  For every 24 hours they are late, starting at 6:31 on the due date (class time), a 10% penalty will be deducted.  No work will be accepted after four days.

Though blackboard is the preferred method for turning in assignments, it is your responsibility to assure that it arrives in my mailbox by 6:30 PM on the due date.  If you use a slow e-mail system, or are otherwise concerned about it arriving on time, you may hand your assignment in on disk before the beginning of class.

I use the following grade scale for determination of final grades.  I usually assign a few + and - grades at the end of the quarter, but I tend to avoid those for the most part.

          100 – 90          A
            89 – 80            B
            79 – 70            C
            69 – 60            D
            Below 60         F
 

Web Presence.
 

I have a web page at :               http://oz.uc.edu/~jonesbr

My Email address is:                 Brandan.Jones@uc.edu
                                                ucinternet2@yahoo.com
 

Yahoo! Class Instant Messenger Address: UCInternet2

Please add yourself to this list, or provide me with a Yahoo! ID so that I can add you (it’s free).  This will allow us to have
remote lab times before assignments.  Also, please cc: UCInternet2@yahoo.com on all of your assignments.

Course Outline

There are ten instructional days, plus one exam day allocated for this course.  Course material may be covered earlier or later than scheduled, depending upon the pace of class.

Please note, there is a lot of reading required for this class.  I will likely revise/lessen the required reading as we progress through class, but that will still leave quite a bit of required preparation.  Some of the chapters below were already covered in Java I, so you will be best prepared (and may choose to skip those chapters) if you have already read them. 

Due to the amount of material to be covered in class, I often have to lecture in fast-forward mode.  I teach with the assumption that you have read the chapters before coming to class, and I am simply reinforcing what is covered in the book.  It is absolutely crucial that you read the material before coming to class.  Please read all of the material, unless I announce a change before that class.  I will announce all changes no later than a week prior to the class in which the material is to be covered.

Week 1:           Introductions.
                        Course home page.
                        UML Basics, Patterns

                        Week 1 and 2 Reading: http://oz.uc.edu/~jonesbr/397reading.html


Week 2:           Patterns

                        Exceptions and Exception Handling

                        Reading: Chapter 11 in Core Java 2, Volume I (Only the sections on Exception Handling)

                        Week 1 and 2 Reading: http://oz.uc.edu/~jonesbr/397reading.html

Week 3:            AWT

                        Event Model

                        JFC and Swing

                       

                        Week 3-4 Reading:


Swing: Core Java 2, Volume 1, Chapter 9 pages 417-472, 502-523 (basic components and layout managers)

Advanced Swing: Core Java 2, Volume 2, Chapter 6 pages 409-429 (JList)

Week 4:          Swing, Advanced Swing

                        Quiz 1

Week 3-4 Reading:

Event Handling: Core Java 2, Volume 1, Chapter 8 pages 347-392, 405-415 (Events, the event queue)

Swing: Core Java 2, Volume 1, Chapter 9 pages 417-472, 502-523 (basic components and layout managers)

Advanced Swing: Core Java 2, Volume 2, Chapter 6 pages 409-429 (JList)

AWT: Not sure if this is worth covering, so don't bother reading Ch 7 yet. I'll take a vote in class to see if this is a topic of interest.

Week 5:           Multithreading

                        Reading: Core Java 2, Advanced Features, Ch 1 pgs 1-43; Optional: 97-108

                       
 

Week 6:           Network Connectivity

                        Reading: Core Java 2, Advanced Features, Ch 3 pgs 198-215, 221-249

                        Programming Assignment #1 Due

Week 7:            General Servlets and JSPs; Requests.

                        Reading: Core Servlets and Java Server Pages, Ch 1, 2, 3  (Should be fairly light reading if you’ve had a web programming class before.)

 

Week 8:          Requets and Response

                        Reading: Ch 4, 5, Servlets and JSPS: Just browse over the CGI variable definitions, no need to memorize them.

Final Project UML Due

 

Week 9:           JSPs

                        Reading: Servlets and JSPs, Chapters 10, 11, 12

Week 10:         Tags; Catch Up

                        Reading: Servlets and JSPs, Ch 14 and 15

                        Final Project Due

 

Exam Week:    Final Quiz

             Note 1: Just because you paid for the class does not mean you will pass the class
             Note 2: The instructor reserves the right to change the syllabus at his discretion.