Object Oriented Programming

An introduction to Object Oriented Programming using Core Java.

Section A

Week 1 - Week 4

The labs will introduce you to the object oriented programming paradigm. You build a simple program using Eclipse, the most used Java IDE. You will use JUnit to build the program incrementially using Test Driven Development.

In the lectures, you will learn the basic concepts of Object Oriented Programming including: data abstraction, inheritance, polymorphism, dynamic binding, and message communications.

Section B

Week 5 - Week 8

In this section we will cover the development of objects including inheitance. Techniques coversed include method overloading, static memebers, sub-classing, overriding methods, the super and final keyworkds, abstract methods and classes. We will also cover interfaces in this section.

Section C

Week 9 - Week 12

In Section C, we will cover Java packages, eception handling, and multithreading.

Section D

Week 13 - Week 14

Section D will cover Input and Output and using Java on the Internet.

Syllabus

In this course, you will learn to develop object-oriented programs to solve real world problems. You will learn to use Eclipse, one of the most widely used Java development Integrated Development Environements. You will learn how to use JUnit, the standard Unit Testing Environment, to develop Java Programs using Test Driven Development (TDD). The Eclipse IDE has been developed to support Java TDD using JUNIT. In addition, you will learn how to use Git, the standard software configuration management program from inside Eclipse

Inspirational Articles

  • What is Code by Paul Ford is the best description I have read about computer programming. It not only give you a sense of what goes on, but also a sense of the people involved.
  • What’s Next in Computing? by Chris Dixon is the best outline of what the the next phase in computer development may be. His descriptions of the three previous changes is spot on.
  • How Do You Learn To Code by Roshan Choxi gives some very good tips about learning to program based on the authors personal recollections. His experience is similar to mine. Of greatest importance: focus on habits not on goals.

Access to Computers

Fortunately, Eclipse and Java run under any operating system: Linux, Windows, and Mac. However, the lab machines all run Linux, so you may find it most convenient to stick to that operating system.

We encourage you to bring your laptop to lab classes. You are most comfortable with they way it works, so you will probably find it easier to work with than the lab computers. You will be doing most of your work on your own computer,

This semester we have set up a server on which you will store your programs. In this way, you can be sure of access to your work, even if you forget your laptop. If you use Windows, you will have to install Putty to access the server. Putty, and instructions on how to install it can be found at www.putty.org .

Your marks on the practical portion of this course will be determined by these review. Do not turn in programs others have written as your own. It is very obvious when you do. Also, if you give your program to other students it is hard to tell the true author of the work.

It will be worth your while to install Linux to dual boot with Windows. This can be a difficult process but it will be worth while. Much of your developement will be in a Unix-like environment, so it will be helpful to have the environement on your primary computer. There are instruction on installing Ubuntu here.