Object-Oriented Programming
Spring, 2008

COP 4331
Syllabus

 

Catalog Description

This course discusses fundamental conceptual models for programming languages and illustrates these with specific programming languages and application problems. Specific topics include class and object models and inheritance among classes and objects and static and dynamic systems and implementations.

Course Overview

This course discusses fundamental conceptual models for object-oriented programming and illustrates these with specific programming languages and application problems. Specific topics include class and object models, composition, inheritance, and other relations among classes and objects as well as both static and dynamic system models and implementations

We'll study how to specify Object-Oriented software using the Unified Modeling Language and implement it using the Java programming language. I expect students to come with a working knowledge of Java but do not require that students be familiar with any specific window toolkit.

Students will be responsible for reading, homework assignment completion, and will work on a significant and non-trivial team programming project to gain familiarity with object-oriented analysis, design, and implementation.

Note

This course is geared for motivated, highly capable students who enjoy software development and abstract thinking. Those merely seeking an easy tech elective will be deeply unhappy; those willing to put forth the time and effort will likely find this to be one of the most useful classes of their undergraduate career — almost everyone who has taken the course says that the effort is worth it.

Objectives

By the end of the term, the successful student will be able to:

Instructional Staff

Instructor

Name E-mail Office Office Hours Phone
Dave Small dts@cise.ufl.edu CSE E422 MWF 9th (4:05pm-4:55pm) 392-6839

Administrivia

Homepage

http://www.cise.ufl.edu/~dts/cop4331/

Prerequisites

COP 3530 and a working knowledge of Java

Required textbook

Optional textbook

Recommended Java references

Exam schedule (tentative)

Term project schedule

Last day of class

Wednesday, 4/23

Philosophy and policy

Read the Course Policies page!

Final grades

I do not give grades: students earn their grades. Your final grade will be based on the number of grade points you have accumulated at the end of the semester. The grading scale will be no harsher than the standard 100-90 = A, 89-87 = B+, 86-80 = B, 79-77 = C+, 76-70 = C, 69-67 = D+, 66-60 = D, 59-0 = E. During the semester you will accumulate points in categories weighted as follows:

45% exams
45% term project [see below]
10% in-class exercises, homework, & quizzes

Exams, typically, have bonus points allowing one to earn more than 100%. There will be no other adjustments made to grades — it is your responsibility to earn the grade you desire.

Note: completion of the ungraded biosketch assignment is required to pass the course.

Term project: self & peer assessment is required

The term group project is a major component of this course. You will be required to objectively evaluate the performance of all team members, including yourself. Peer evaluations will be factored into the grading and may determine team compositions should the teams be reorganized at during the semester.

Academic dishonesty

ACADEMIC DISHONESTY WILL NOT BE TOLERATED. Unless otherwise explicitly stated, assignments are individual projects. You are expected to do your own work; individuals who misrepresent work as being their own, submit fabricated data, or otherwise engage in anti-intellectual behavior will be dealt with severely and reported to the Office for Student Judicial Affairs. You may freely use any code presented in the textbook, provided by your instructor, or authored by yourself. You are prohibited from using code from any other source without written permission from the instructor. Remember, sharing your work with another student is a violation of the honor code. For more information, consult the Dean of Students Academic Honesty - Student Guide.

Comments

My goal is simple: to help you learn — both inside and outside the classroom. If you have questions, there is no excuse for not getting help. The TAs, consultants, and I all hold office hours just for the purpose of helping you, either one-on-one or in small groups. No matter how busy we may look, during office hours, you have priority over everything else. If you have a problem or question, come by and we'll talk about it — don't put it off.

Modifications

This document is subject to revision as needed. All modifications will be noted in this section.

This website is an original work, Copyright © 2008 by Dave Small. All rights reserved.