Introduction to Java Programming and OO Design

This page relates to the Java component of the subject CSCI213 Java Programming and OO Design.

Materials provided include PDF files of lecture slides.

This subject is intended for students having a limited background in C++ programming (some experience with C++ classes but little or no experience with OO style of programming).

Topics will include: Java language, subset of Java class libraries (windowing, graphics, networking, threads), object oriented design and implementation.

Objectives

A student who successfully completes this subject should be able to:

  1. develop programs that effectively use classes from the Java packages;
  2. be able to develop and document an OO design using simple UML;
  3. develop programs that exploit graphical user interfaces;
  4. implement programs exploiting the threads and networking capabilities of Java;
  5. explain the security problems in a networked environment and detail Java's security mechanisms;
  6. describe the role of Java in enterprise applications.

Main Reference
C.S. Horstmann and G. Cornell, Core Java 2. Volume 1 Fundamentals, Volume 2 Advanced Features SunSoft Press (Prentice Hall). (7th edition)


NetBeans

The planning and preparation work undertaken in late 2006 was based on the premise that the laboratories would have been upgraded for Autumn session 2007 and that the subject would be switched to using Sun's NetBeans integrated development environment rather than the simple JDK command line environment.

The lecture notes supplied, and the laboratory assignments, assume the use of NetBeans.

However, the laboratory upgrade was delayed.

If it proves infeasible to use NetBeans effectively in current laboratories, the materials supplied will be reverted to older versions and the assignments will be adjusted.


Lectures

PDF files of PowerPoint slides from the Java lectures will be available here.

  • Java origins
  • Language basics
  • Simple program examples
  • Classes, objects, object reference variables (pointers)
  • OO
  • OO Example
  • Event driven programs
  • Applet
  • Graphical User Interfaces - concepts and Java classes
  • I/O library
  • Threads
  • "Enterprise Java"
  • "Networked Java"

  • Object Oriented Design

    These materials will be supplied later.


    Timetable

    The following timetable is approximate; there may be adjustments during session.

    CSCI213 Proposed schedule
    WeekTopics
    1-2Java intro, simple program examples
    3-4Java, class hierarchies etc
    5-7Event driven programs, GUIs, Applets
    8-9Threads, “Enterprise Java”, java.net
    10-13OO Design

    Labs and Assignments

    Assignments are submitted using "turnin", see manual pages for details. A "turnin" command will be something like:


    turnin -c csci213 -a 1 A1.pdf
    

    For reasons related to the way that file systems are mounted on Unix, "turnin" is only available when you are logged in on the main undergraduate machine "banshee". If you are working at a workstation, use the "machines" menu on the desktop to open a connection to banshee and do the "turnin" from that xterm session (or use ssh - secure shell - to establish a connection).


    Here are links to assignments and laboratory exercises as available at the start of session.

    Lab1: complete these exercises before attempting assignment 1

    Assignment 1: provisional due date - end of week 4 (to be confirmed in lectures) (late evening of March 23rd)


    Lab2 Complete these exercises before attempting assignment 2.

    Assignment2
    provisional due date - end of week 6 (to be confirmed in lectures)(late evening of Thursday April 5th - just prior to Easter break)


    Lab3: complete these exercises before attempting assignment 3

    Assignment 3, Graphical User Interface : provisional due date - end of week 8 (to be confirmed in lectures)( April 27th)


    A4 demonstration material Complete these exercises to set up and test your database connections before attempting assignment 4.

    Assignment 4, JDBC and networking provisional due date - end of week 10 May 11th (to be confirmed in lectures)



    Late submission is automated, you do not need to make special application. For assignments due Friday midnight, late submission will continue until the following Monday midnight. Late submissions attract mark penalties; penalties are waived if a medical certificate is registered via the University's admin section and SOLS. Submission dates cannot be further extended.

    Last updated January 2007