Syllabus for CMIS 345 - Object-Oriented Design and Programming
Summer Session: 13 June 2011 ~ 21 August 2011
Instructor: David Wills
Class web site:
CMIS 241, CMIS 242, or CMIS 340
An examination of the principles, practices, and applications of programming in an object-oriented environment. Assignments include programming projects in Java that implement techniques of object-oriented design.
Further study of the Java programming language after CMIS 141 and 242.
Topics include classes, inheritance, polymorphism,
interfaces, graphical user interfaces, exceptions.
This course continues with the study of computer and information
science started in CMIS 141 and 242 using Java. The theory and
techniques of this class are fundamental to the computer science,
programming, and software engineering disciplines.
Programming projects ensure that
students have the opportunity to learn the material.
COURSE OBJECTIVES: On successful completion of this course, you
will be able to:
- discuss the evolution of object-oriented software design.
- explain the principles that underlie object-oriented design--encapsulation,
information hiding, state retention, genericity, inheritance, and polymorphism.
- write applets and applications that involve the displaying of graphical output
and event handling and use a graphical user interface.
- use Java language features.
- write Java that uses derived classes, interfaces, abstract classes, polymorphism,
generic classes, and exceptions.
- use the generic container classes and iterators from the standard Java library
in a Java program.
- use object-oriented design techniques to design the classes and class relationships
for a given problem and model that design using UML class diagrams.
- model an object using UML state diagrams.
- explain the role of design patterns in the software design process.
9780558714918 FUNDAMENTALS OF OBJECT-ORIENTED DESIGN IN UML
(CUSTOM PACKAGE) PAP. Edition 2010 UMUC $50.00
Software will be the same as you used in 141/242: JDK and JCreator (or
whatever/however you develop Java programs).
For information on ordering textbooks, please see the Administrative
Policies, Practices, and Procedures section at the end of this syllabus.
EVALUATION: Your final grade will be based on a proctored
examination and some homework (programs) in the following
Class participation 10%
Proctored Exam 35%
The grade of 'A' means "outstanding", i.e. "mastery of the material".
The grade of 'B' means "good". The grade of 'C' means "satisfactory".
Grades are curved and related to the class average. "Significantly
above" the class average are the A's, "above" (or sometimes even at)
the class average are the B's, at or below the class average are the
C's. Significantly below the class average are the D's and F's.
Usually, in the 90's is an A, 80's is a B, 70's is a C. Actually, this
method is to your advantage, as often the curve for grades is lower
than the traditional 90-100 A, 80-90 B etc, in other words it might be
85-100 is an A etc.
The grade of “Fn” may only be assigned if a student stops attending
class during the first 60% of the class (end of week 6).
Term dates: 13 Jun 2011 ~ 21 Aug 2011
PROCTORED EXAM WEEK IS WEEK 10 (AUG 15 ~ AUG 21)
Week 1 Chapter 1: OBP
Week 2 chapter 1: Derived classes
Week 3 Chapter 6: Polymorphism
Week 4 Chapter 3: Abstract classes
Week 5 Chapter 6: Interfaces
Week 6 Chapter 7: GUI
Week 7 Chapter 4: Exceptions
Week 8 Chapter 6: Threads
Week 9 Chapter 8:
Week 10 Proctored Exam Week