Beginning Java: The Plan

30-IT-396                                                                                                        Brandan Jones

Course Description

This course is an introduction to the basic language fundamentals of Java technology.  The focus of this course is on object-oriented concepts including encapsulation, polymorphism and inheritance using objects, classes and methods.

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.

This is the second year in which The University of Cincinnati, The College of Evening and Continuing Education and The College of Applied Science has offered this course. I have requested feedback from previous classes, and made modifications based on that valuable feedback. I value your feedback as well. Please keep in mind that there may be some rough edges due to the youth of this class, but there is also an advantage to being one of the first to market with the material offered in this class.

Prerequisites

Programming Logic and Methods

Text

     Core Java 2
     Volume 1 - Fundamentals, 6th Edition
     Cay S. Horstmann, Gary Cornell
     Sun Microsystems Press
     2002 Prentice Hall
     ISBN 0130471771

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 often 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
pseudocode, flowchart, or UML.  If you have not prepared one, 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.

Grading
 
 
Class Participation 10%
Programming Assignment Part 1, Week 5: 15%
Quiz, Week 4:  20%
Final, Exam Week:     25%
Programming Assignment Part 2, Week 7:  15%
Programming Assignment Part 3, Week 9:   15%
Less: Attendance

There are 3 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
 

Yahoo! Instant Messenger Address: UCInternet2

AOL Class Instant Messenger Address: UCJavaSeries

Also available via Blackboard Messenger

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 nine 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.
 

Week 1:           Introductions.
                        Course home page.
                  Robocode
                        The Object Model
                        Introduction to Java
                                The JDK
                                Forte and others
                        Your First Java Program
                        Resources
Reading: Syllabus, Ch 1
 

Week 2:            Java Types
           Reading: Ch 2
Week 3:
             Quick methods intro
                        Strings
                        Example/Lab
                        Scope
                        Programming Structures
                        Reading: Ch 3, up to pg 60, exclude Mathematical Functions and Constants on page 47 and 48.

Week 4:
          No class meeting. At home quiz will be available on Blackboard. Open book.

Week 5:         

                        Conditionals
             Loops
             Arrays
            
             Reading: Ch 3, pg 60-87
            
Reading: Remainder of Ch 3

Week 6:
          Inheritance Object Oriented Programming
             Intro
             Existing Classes
             Build Your Own
             Reading: Being Ch 4

Week 7:         
             Method Parameters
             Object Construction
             Packages

                        Reading: Ch 4 (all)

Week 8:          
             Object class
             Class class
             Design
             Theories of Object Oriented Programming
             Interfaces

                       
                        Reading: First part of Ch 5

Week 9:           Applets
                            HTML Tags
                            JAR

                       

Week 10:          
                        Catch Up

Exam Week:    Final Exam
                        Format TBA

            
             Note: The instructor reserves the right to change the syllabus at his discretion.