CSC 2120: Object-Oriented Programming and Design Section 001

Tennessee Technological University Department of Computer Science

MWF 1:25 - 2:20 in Bruner 207

Fall 2015 Semester (August 24, 2015-December 10, 2015)

Martha J. Kosa

My Fall 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

Tennessee Tech University Student Email Policy

The University sends official communications to all Tennessee Tech email addresses. All students receive a email address. This address will receive notices about schedules, grade results, billing information, emergency alerts, important deadlines, a daily email newsletter, and all other official university information. It is your responsibility to read and manage this email. See: Please add my email address,, to your approved recipients list to ensure you will receive any correspondence in regards to this course. Please note the instructor of this course is not responsible for missed email communication directed to your spam folder.

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 polymorphis, 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 October 9, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!)
  2. Program 2 due November 6, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!)
  3. Program 3 due November 24, 2015 at 11:59 p.m. (NO LATE ASSIGNMENTS ACCEPTED!)
  4. Program 4 due December 10, 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.

97 Things Every Programmer Should Know

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