CSC 2120: Object-Oriented Programming and Design Section 001

Tennessee Technological University Department of Computer Science

MWF 1:25 - 2:20 in Bruner 207

Spring 2015 Semester (January 20, 2015-May 7, 2015)

Martha J. Kosa

My Spring 2015 Schedule for office hours, classes, etc.

Prerequisite: CSC 2110 AND CSC 2111 with a grade of C or better
Corequisite: CSC 2121

CSC 2121 (lab for CSC 2120) Syllabus

Course Description:

Lec. 3. Credit 3.
Prerequisite: C or better in CSC 2110 and CSC 2111.
Corequisite: CSC 2121.
Theory and practice of object-oriented programming and design. Encapsulation, inheritance, dynamic binding, and polymorphism, and introduction to UML and design patterns.

Course Objectives:

Major Teaching Methods


  1. Object-oriented vs. non-object-oriented and large software projects
  2. Object-oriented programming (using Java)
  3. Design patterns
  4. Elegant object-oriented design
  5. GUIs



Object-Oriented Design Using Java by Dale Skrien
ISBN-13: 9780072974164

Important Dates and Tentative Test/Program Schedule

90-100   A
80-89.99 B
70-79.99 C
60-69.99 D
below 60 F

I reserve the right to alter the sequence of the weekly topics.

I do not know everything, but will try to find the answer to your questions.

Grading Policy
Your grade will be based on programs (4 @ 12.5% each) and exams (4 @ 12.5% each, including the final). The final exam will be comprehensive. You must pass the final exam to pass the class.

You can receive help from myself or the TAs if you request help two days before the program is due (or earlier).

Programs are due at 11:59 pm on the date specified on the assignment. Late programs will not be accepted without documentation of exceptional circumstances.

There are four ways that you can submit your program.

0) iLearn
Use this method to submit your programs unless there are special circumstances.
You must zip up all of your files into a single zip file. Include all of the files that I will need to run your program in the zip file. Label your zip file with your name and the program number.

Only use the below methods to submit your program if for some reason the above will not work.
1) You can email your program to me. Again, zip up all of your files into a single zip file. Include all of the files that I will need to run your program in the zip file. Label your zip file with your name and the program number.

2) You can bring me a disk with your work. Make sure that you have all of the files that I need to run your program on your disk.

Programs will be graded by the following criteria.

Students are encouraged to obtain limited help and/or ideas from one another.  However, copying assignments or allowing assignments to be copied will not be tolerated.  The penalty for cheating in the class is an "F" for a final course grade.

Attendance Policy
You are expected to attend every class. You are responsible for all assignments and material covered during all class meetings whether you are present or not.

Students with a disability requiring accommodations should contact the Office of Disability Services (ODS). An Academic Adjustment form should be completed as soon as possible, preferably by the end of the first week of the course. The ODS is located in the Roaden University Center, Room 112; phone 372-6119.

Martha Kosa
Phone: (931) 372-3579
Office: Bruner 214

Programming Assignments:

  1. Program 1 due March 4, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!)
  2. Program 2 due March 30, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!)
  3. Program 3 due April 23, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!)
  4. Program 4 due May 7, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!) You may work with a partner on this assignment if you wish.

General Notes for Programming Assignments

Examples from Lecture are available on ilearn.

Object Oriented Design: Not Just Your CS101 Lecture, a poster by Anjana Dasu from the company Box

Head First Java, with two free chapters

Head First Design Patterns, with one free chapter (on the Decorator pattern)

Introduction to Programming in Java by Sedgewick and Wayne

Collections-related APIs and Developer Guides

Code Conventions for Java

Generics in the Java Programming Language, by Gilad Bracha

Extra, Extra - Read All About It: Nearly All Binary Searches and Mergesorts are Broken

The Paperboy, The Wallet, and The Law Of Demeter

Common GUI Components and the Events They Generate

JDK (Java Developer's Kit) installation instructions


Dr. Java