Java Programming

Skip Date November 29, 2020

This course is organized to help you prepare for the Oracle Java Certification Exam as explained below.  This course studies structured and object-oriented programming using the Java language. It covers algorithms, simple data structures, and object-oriented concepts are used in student projects. Students will design, implement, test, debug, and document JAVA programs, using appropriate development tools. Topics include object-oriented design, event-driven programming, exceptions, recursion, arrays, and data structures.

Instructor: Dr. Suzanna Schmeelk

Course Outcomes

After completing the requirements for this course, you will have gained:

  • Design, implement, test, debug, and document programs that use basic data types and computation, simple I/O, conditional and iterative structures, and functions.
  • Apply the techniques of structured (functional) decomposition to break a program into smaller pieces.
  • Describe and use the mechanics of parameter passing.
  • Discuss and use primitive data types and built-in data structures.
  • Write clear and comprehensive program documentation.
  • Write programs that use data structures, including arrays, strings, linked lists, stacks, queues, sets, and maps.
  • Design, implement, test, debug, and document recursive functions.
  • Design, implement, test, debug, and document GUI, event-driven programs.
  • Design, implement, test, debug, and document in object-oriented programming language.

Instructional Methodology

Team-Based Learning (TBL), which combines traditional approaches such as lectures and in-class activities with more recent approaches that require intensive student involvement at the individual and team level. TBL is intended to encourage higher student engagement with the material, through assignments and projects.

Course Materials

Introduction to Java Programming: Comprehensive Version, 9th edition (Y. Liang; Prentice Hall)
Java Examples in a Nutshell, 3rd edition (O'Reilly)
Eclipse IDE Pocket Guide (O'Reilly)
Java 8 Pocket Guide (O'Reilly)

Oracle’s Java SE Development Kit 8
Oracle's Java SE Training and Certification Resources
Java™ Platform, Standard Edition 8 API Specification
IntelliJ IDEA: The Java IDE for developers

Course Introduction

In this course, we will introduce you to the design and implementation of programs using the object-oriented programming language, Java. We will begin by showing you how to create, compile, and execute simple programs using the Java software developer's kit (SDK). We will then introduce branching and looping structures and show you how to create subroutines that are referred to as methods in Java. After working with arrays to store and manipulate data, we will end with a discussion of object-oriented concepts, including classes. Throughout the course, we will cover good software engineering procedures as well as ethical issues.  It will further your understanding of the software development process, emphasizing the analysis, design, development, and testing of Java applications. In these modules, we discuss object-oriented programming, graphical user interface (GUI) programming, exception handling, input and output (I/O), recursion, and data structures and abstraction.

15 Week Schedule

Week 1

Prior to the first class:

• Install JAVA JDK
• Install Notepad, Netbeans, Sublime or Eclipse

Intro to Programming

• Liang, Chapters 1 and 2
• Work on In-Class Assignment

Week 2

Selections & Loops

• Liang, Chapters 3 and 4
• Work on In-Class Assignment

Week 3


• Liang, Chapters 5
• Work on In-Class Assignment

Week 4

Arrays 1D & 2D

• Liang, Chapters 6 and 7
• Work on In-Class Assignment

Week 5


• Liang, Chapter 8, 9 and 10
• Work In-Class Assignment

Week 6

Inheritance and Polymorphism

• Liang, Chapters 11 and 12
• Work In-Class Assignment

Week 7

Exception Handling

• Liang, Chapters 14
• Work In-Class Assignment

Week 8

Abstract Classes

• Liang, Chapters 15
• Work on In-Class Assignment

Week 9

GUIs & Recursion

• Liang, Chaptes 16, 19 and 20
• Work on In-Class Assignment

Week 10


• Liang, Chapters 21, 22 and 23
• Work on In-Class Assignment

Week 11

Efficient Algorithms & Sorting

• Liang, Chapters 24, 25 and 26
• Work on In-Class Assignment

Week 12

Tree, BST & Hashing

• Liang, Chapters 27, 28, 29, 48 and 50
• Work on In-Class Assignment

Week 13

Multithreading & Networking

• Liang, Chapters 32 and 33
• Work on In-Class Assignment

Week 14

Database Programming

• Liang, Chapters 34 and 41
• Work on In-Class Assignment

Week 15

Lambdas, Security Topics & Testing

• Liang, Chapter 50
• Work on In-Class Assignment


Oracle Java Certification Exam Programmer I

The exam is $245 and you can register following the link to Java SE 7 Programmer I | Oracle Certification Exam and selecting, "Register for exam at PearsonVue or locate a test center near you" 

Here's a full list of exams Oracle supports.

Using Oracle's Education center to train for the exam will cost you between two and four thousand dollars depending on what you select.

The Retraining program is made possible through generous donations from the Robin Hood Foundation and Con Edison. The Retraining Program would also like to thank our individual donors for support.



  • Founded by inventor, industrialist and philanthropist Peter Cooper in 1859, The Cooper Union for the Advancement of Science and Art offers education in art, architecture and engineering, as well as courses in the humanities and social sciences.

  • “My feelings, my desires, my hopes, embrace humanity throughout the world,” Peter Cooper proclaimed in a speech in 1853. He looked forward to a time when, “knowledge shall cover the earth as waters cover the great deep.”

  • From its beginnings, Cooper Union was a unique institution, dedicated to founder Peter Cooper's proposition that education is the key not only to personal prosperity but to civic virtue and harmony.

  • Peter Cooper wanted his graduates to acquire the technical mastery and entrepreneurial skills, enrich their intellects and spark their creativity, and develop a sense of social justice that would translate into action.