This course covers object oriented programming (OOP) concepts and principles
such as objects, polymorphism, inheritance, encapsulation, etc. A few design
patterns and best programming practices in solving real-world challenges will
also be covered using an OOP approach. The language used to demonstrate those
principles will be Java. This course will also serve as an introduction to
Java including some advanced concepts such as exceptions, I/O, threads, developing
Swing/GUI applications, etc. The emphasis will be on the concepts of those
technologies rather than covering them in depth. You will, however, be writing
a lot of code in this class. We will be covering the newest version
of Java [1.6 (6.0)].
Instructor
Jim Miller, Fine Arts 200
jmiller@dom.edu
The best way to contact instructor is through email
No prior experience in OOP or Java is needed.
Text BooksThere is one required textbook. You need the book and the software that comes with it on the first day of class.
Class attendance is highly recommended. It will help you with your projects and assignments.
Grading
| 2 Projects | 20% each | 60 points each, 120 points total |
| 10 Homework Assignments | 6% each | 18 points each, 180 points total |
| Class Attendance and Participation | Highly recommended |
| Time Late | Grade Reduction | Multiply Base Grade by: |
| 1 minute through 24 hours late | 4% off | .96 |
| Up to 2 days late | 8% off | .92 |
| Up to 3 days late | 12% off | .88 |
| Up to 4 days late | 16% off | .84 |
| Up to 5 days late | 20% off | .80 |
| Up to 6 days late | 24% off | .76 |
| Up to 7 days late | 28% off | .72 |
| Up to 8 days late | 32% off | .68 |
| Up to 9 days late | 36% off | .64 |
| Up to 10 days late | 40% off | .60 |
| Up to 11 days late | 44% off | .56 |
| Up to 12 days late | 48% off | .52 |
| Up to 13 days late | 52% off | .48 |
| More than 13 days late | 100% off - No Credit | 0 |
All assignments and projects must be submitted in the appropriate Blackboard
assignment before the deadline.
All assignments must be done individually, unless otherwise specified. Working
together on non-group assignments is not allowed. If you work together on a
non-group assignment, both students will be given a zero. Unauthorized
group work is also considered cheating and will be reported to the Dean
of the School of Business.
You may use code that you find in the required text in your assignments and
projects.
However, you may use outside code (from web or any other book) for assignments
and projects IF and ONLY IF you ask for permission from the instructor ahead
of time. Otherwise, you will be given a zero on that assignment or
project.
Schedule
The course meets every Tuesday September 1 and December 15.
Class starts at 6:30 PM and ends at 9:30 PM. The schedule below is approximate.
Topics and assignment dates may change and the change will be announced in
class. Changes will also appear on the schedule in Blackboard.
| Date | Description | Read these Chapters before classs | Homework Assigned | Homework Due @ 6:24:59 PM (Blackboard Time) |
| Sep 1 | Introduction to Java Programming. This intro will cover programming essentials and environment setup. |
Hw1 Java essentials. |
||
| Set 8 | Introduction to OOP. This lecture will cover concepts and principles of OOP with emphasis on encapsulation. |
1,2,3 | Hw2 OOP concepts. |
Hw1 |
| Sep 15 | Java language. This lecture covers keywords in Java and static vs. non-static. |
4,5,6 | Hw3 Java language. |
Hw2 |
| Sep 22 | Understanding inheritance. Understanding the Object class. |
7,8,9 | Hw4 Arrays. |
Hw3 |
| Sep 29 | Homework working session | Hw5 Constructors and parameter validation. |
H4 (OK if late) | |
| Oct 6 | Understanding inheritance (continued). Introduction to packages, interfaces, classes, methods, etc. |
10,11 | Hw6 Inheritance |
Hw5 |
| Oct 13 | Understanding Polymorphism. | 12,13 | Hw7 Polymorphism |
Hw6 |
| Oct 20 | The 3 OOP principles wrap-up. I/O and streaming in Java. | 14,15 | Project I You will implement some of the concepts learned earlier in designing an advanced application. |
Hw7 |
| Oct 27 | Introduction to Generics. |
16,17 | Hw8 | |
| Nov 3 | Java Applets. | 21,20,23 | Hw9-Strings | Hw8 |
| Nov 10 | Review of chapters needed for Project II (Streaming I/O) | Project II You will implement some of the concepts learned earlier in designing an advanced application.(Will be published on Sunday November 15 at 5:00 pm) |
||
| Nov 17 | Introduction to Threads, material needed for Project II. Live demonstrations of applets, network access, and java connections to databases. | 26 | PLAN TO MEET IN Ethics Lecture on November 18 in Lund Auditorium for extra credit. Details coming in an email | Hw9 |
| Nov 18 | Attend Ethics Lecture in Lund Auditorium for extra credit | |||
| Nov 24 | Introduction to Swing. You will learn how to design simple Swing applications. |
28 | Hw10 Swing or database. |
Project I |
| Dec 1 | Project Working Session | |||
| Dec 8 | Swing - Continued You will design Swing applications using LayoutManager. |
Hw10 | ||
| Dec 15 | Swing - Continued Event listening and handling. |
Project II |
At the end of the course the final letter grade will be computed as follows:
|
||
Letter Grade |
|
Corresponding Percentage |
A: |
|
93-100% |
A-: |
|
90-92.9% |
B+: |
|
88-89.9% |
B: |
|
80-87.9% |
C+: |
|
78-79.9% |
C: |
|
70-77.9% |
C-: |
|
68-69.9% |
F: |
|
0-67.9% |