QMCS280 Course Syllabus
University of St. Thomas
Quantitative Methods and Computer Science Department
Course Number
: QMCS280 01Course Title
: Object-Oriented Design and ProgrammingTerm
: Fall, 1999Prerequisites
: QMCS 130 or QMCS 237 or QMCS 238 or QMCS 234 orQMCS240
Meeting Time
: Monday, Wednesday, Friday 8:15 am to 9:20 amRoom
: 329 OSSInstructor
: Joe Komar (plain old Joe will do)Office
: 406 OSSTelephone
: 962-6213 (W), 646-4457 (H)Electronic Mail:
jakomar@stthomas.eduWWW Page:
http://komar.cs.stthomas.eduOffice Hours
: http://komar.cs.stthomas.edu/schedule.htm
Required Textbook
: Lewis, John and Loftus, William. JAVA Software Solutions: Foundations of Program Design, Addison-Wesley, 1997.Supplemental Textbook
: Eckel, Bruce, Thinking in Java The Definitive Introduction to Object-Oriented Programming in the Language of the World-Wide Web, Prentice Hall PTR, 1998Course Objectives
: Upon completion of the course, you will be able to:Exams
: There will be four exams on the dates indicated below. Each exam will be worth 100 points.Assignments
: There will be nine assignments (see below). Each of these will be worth 20 points and are due at the beginning of class on the due date. Programming assignments will be turned in on 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 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 & Topic(s)
Loftus Eckel
9/8 Intro to Object Orientation
9/10 1,2 2 WWW pages
9/13 2 2 Computer Systems
9/15 2 2 Java Overview, OO Programming
9/17 3 3 Data types, variables, assignment
9/20 3 3 Data types, variables, assignment
9/22 3 3 I/O, operators, structures
9/24 4 3,4 Objects, classes, methods
9/27 4 1 Encapsulation, Use cases, design tools
9/29 EXAM 1
10/1 5 3 Data Internals, additional operators
10/4 5 3 Data Internals, additional operators
10/6 5 3 Misc. operators and control structures
10/8 6 4,8 Array handling, multidimensional arrays
10/11 6 4,8 Array handling, multidimensional arrays
10/13 6 4,8 Vectors and strings
Date Lewis & Topic(s)
Loftus Eckel
10/15 6 4,8 CRC cards
10/18 Exam 2
10/20 7 13 Graphics, color, shapes
10/22 7 13 Fonts and Graphics page
10/25 8 5,6,7 Inheritance, derived classes
10/27 8 5,6,7 Inheritance, derived classes
11/1 8 5,6,7 Class hierarchies and polymorphism
11/3 9 7 Abstract classes
11/5 9 7,5 Interfaces and packages
11/8 10 13 Graphical User Interface - events
11/10 10 13 GUI components, layout managers
11/12 EXAM 3
11/15 11 1 Software life cycle
11/17 11 Design examples and exercises
11/19 10 Working with Files
11/22 14 9 Exceptions
11/24 14 14 Threads and synchronization
11/29 12 Recursion
Date Lewis & Topic(s)
Loftus Eckel
12/1 16 Data Structures
12/3 16 Data Structures
12/6 15 Object-oriented analysis, design
12/8 Open lab
12/10 EXAM 4
12/14 (10:30 am to 12:30 pm) Project Presentations
Assignments
All assignments are from the Lewis and Loftus text. The decimal number below refers to the "Programming Projects" number in the text and the whole number refers to the page number in the text.
Assignment Due Date
2.17, 72
2.24, 73
2.25, 73 9/20/99
3.21, 118 9/24/99
4.20, 169 9/29/99
5.23, 205 10/11/99
6.30, 246 10/18/99
7.21, 283 10/27/99
8.15, 327 11/5/99
9.17, 354 11/12/99
10.31, 405 11/12/99