QMCS280 Course Syllabus

University of St. Thomas

Quantitative Methods and Computer Science Department

 

Course Number: QMCS280

Course Title: Object-Oriented Design and Programming

Term: Spring, 1998

Prerequisites: QMCS130 or QMCS237 or QMCS 238 or QMCS234 or

QMCS240

Meeting Time: Tuesday and Thursday, 9:55 am to 11:35 am

Room: 428 OSS

Instructor: Joe Komar (plain old Joe will do)

Office: 406 OSS

Telephone: 962-6213 (W), 646-4457 (H)

Electronic Mail: jakomar@stthomas.edu

WWW Page: http://komar.cs.stthomas.edu

Office Hours: Tuesday and Thursday 1:30 pm to 4:30 pm. Other times by

Appointment

 

Required Textbook: Lewis, John and Loftus, William. JAVA Software Solutions: Foundations of Program Design, Addison-Wesley, 1997.

Supplemental Textbooks: Deitel, Harvey M. and Deitel, Paul J., Java: How to Program. Second Edition, Prentice-Hall. 1997.

Cooper, James W., Principles of Object-Oriented Programming in Java 1.1 The Practical Guide to Effective, Efficient Program Design. Ventana Communications Group. 1997

Course Objectives: Upon completion of the course, the student will be able to:

  1. Define and describe object, class, method, inheritance, polymorphism, and encapsulation.
  2. Use object oriented analysis and design tools such as class diagrams, use cases, and CRC cards.
  3. Design and code non-trivial object oriented Java programs.

Exams: There will be four exams on the dates indicated below. Each exam will be worth 100 points.

Assignments: There will be from five to ten assignments given during the semester. Each of these will be worth 25 points and are due at the beginning of class on the due date. Programming assignments will be turned in a diskette that will contain all the files necessary to run the program. It is critically important that these assignments be done correctly and on time! Students are encouraged to write additional programs given in the texts. It is only through repeated coding of programs that the language is learned effectively.

Project: There will be a group project due the day of the final exam. Groups will consist of 4 individuals, each of whom must contribute significantly to the project. A written project report (one report per group) will be submitted attesting to the fact that all members did contribute significantly. The project will be worth 150 points.

Communication: The preferred method of communication will be with electronic mail. Students are responsible for checking their mail at least daily. Students with questions or problems with programming assignments are encouraged to send an electronic mail message and attach the program in question. This will insure the quickest response to specific problems. There is also a "listserv" set up for the class, through which individuals can communicate directly with the rest of the members of the class. Instructions how to subscribe to this listserv will be provided in class.

Instructional Philosophy: The instructor takes full responsibility for providing the best learning resources and instructional guidance possible. It is expected that each student will take full responsibility for using these resources and this guidance to learn the maximum possible. Maximum learning is only obtained through a partnership, with each individual fully meeting their respective responsibilities.

Grading: Grading will be based on the percent of total points earned to total points possible. Total points possible will be the sum of all exams, all assignments, and the final project. The actual distribution of letter grades based on the percent will be determined at the end of the semester. However, the following would be a "typical" distribution:

92% to 100% A

88% to 91% A-

84% to 87% B+

80% to 83% B

76% to 79% B-

72% to 75% C+

68% to 71% C

64% to 67% C-

60% to 63% D+

56% to 59% D

52% to 55% D-

Below 52% F

 

Detailed Course Outline

Date Lewis & Deitel & Cooper Topic(s)

Loftus Deitel

2/3 Intro to Object Orientation, WWW

2/5 1,2 1,2 2 WWW pages, Computer Systems

2/10 2 6,1 1 Java overview, OO programming

2/12 3 1,2,3 2 Data types, variables, assignment

2/17 3 2,3 2 I/O, operators, structures

2/19 4 6 3,6 Objects, classes, methods

2/24 4 4 2 Encapsulation, Use cases, design tools

2/26 EXAM 1

3/3 5 18 Data Internals, additional operators

3/5 5 3, 4 2 Misc. operators and control structures

3/10 6 5 4 Array handling, multidimensional arrays

3/12 6 5,8 4 Vectors and strings, CRC cards

3/17 7 9 5,9 Graphics, color, shapes

3/19 7 9 5,9 Fonts and Graphics page

3/31 EXAM 2

4/2 8 7 5 Inheritance, derived classes

Date Lewis & Deitel & Cooper Topic(s)

Loftus Deitel

4/7 8 7 5 Class hierarchies and polymorphism

4/9 9 7 5 Abstract classes

4/14 9 7 5 Interfaces and packages

4/16 10 10 9,10,11 Graphical User Interface - events

4/21 10 10 9,10,11 GUI components, layout managers

4/23 11 6,7 Software life cycle

4/28 EXAM 3

4/30 11 6,7 Design examples and exercises

5/5 14 12 12 Exceptions

5/7 14 12 12 Threads and synchronization

5/12 15 3 Object-oriented analysis, design

5/14 EXAM 4

5/21 (8:00 am to 10:00 am) Project Presentations