About this Subject

Introduction

Computer Science La Trobe University, Bendigo

Notices

Welcome to Semester Two 2015!

Subject Description

Students are introduced to advanced application development in Java. Topics covered include platform frameworks, design patterns, event-driven programming and graphical user interfaces (layout management, GUI components), standalone, web and mobile platforms issues, build utilities and testing.

Prerequisite: equivalent to Intermediate Object-Oriented Programming

Subject Learning Guide: This guidepdf provides the full subject details as well as the schedule of learning activities, assessment and feedback details, learning resources and links to the University's policies, procedures and guidelines on subjects.

Learning Outcomes

On successful completion of this unit, the student should be able to:

  • Analyse common medium-sized applications used in desktop, web and mobile platforms.
  • Develop valid, well structured, efficient, maintainable applications to problem specification using application frameworks and the object-oriented approach.
  • Construct software solutions with event-driven programming and graphical interfaces, using recognised design patterns at both the design and coding stages of development.
  • Develop internal and external documentation for programmed applications
  • Specify and execute test plans for unit, system, integrated and functional testing

Graduate skills

The following Faculty Graduate Capabilities (FGCs) are evaluated in this subject:

  • writing
  • critical thinking/analysis
  • creative problem solving/synthesis
  • discipline specific graduate capabilities

The course work in Object-Oriented Application Development is designed to help you develop further skills in critical thinking/analysis, creative problem solving/synthesis and discipline specific graduate capabilities. These skills will be assessed through the assignments and examinations.

The laboratory work is designed to help you develop practical computer programming (discipline specific) skills, problem solving skills and report writing. These skills will be assessed through the assignment tasks.

Professional Knowledge

Successful completion of this subject will contribute in varying levels toward your development of the following ACS core body of knowledge:

Group 1 - Generic Knowledge/skills

  • Project Management and Quality Principles

Group 2 - ICT Specific knowledge/skills

  • Data Structures and Algorithms
  • Program Design and Implementation
  • Software Engineering and Methodologies

Sessions
Week Beginning 2015 2013 Material
1 27th July Review of Object-Oriented Fundamentals
Review of OO Fundamentals in Java Developing for the Desktop and Web Platforms
Practical: Intro to javaFX classes
Review of Object-Oriented Fundamentals
2 3th August Intro to GUI and Event-driven Programming: MVC Architectual Design Pattern
Practical: Intro to javaFX classes - Events and Layouts
Review of OO Fundamentals in Java Developing for the Desktop and Web Platforms
3 10th August Components, Beans and Events in JavaFX
Practical: The Case Study Part 1
The MVC Design Pattern: The Architecture of GUI and Event-driven programming, First taste of JavaFX
4 17th August Intro to Programming Design Patterns: the Observer
Practical: The Case Study Part 2
Reuse of Design: Intro to Programming design patterns: Creational, Behavioural, Structural
5 24th August A Double Header week!... inspiration for your assignment :)
Practical: The Case Study Part 3
Practical: The Case Study Part 4
Components and Beans, More Intro to JavaFX
6 31st August Programming Design Patterns,
Programming Practices
Getting Ready for Android (PDF)
Software Project processes and practices
Practical: The Case Study Part 4
7 7th September Part A: Introduction to the Mobile World (PDF)
Part B: Eclipse, AVDs, and Logging (PDF)
Part C: Tutorial Questions (PDF)
Recorded Lecture and Live Stream
Mobile Development: History, Android, & Eclipse
HTML Lecture Notes
PDF Lecture Notes
Recorded Lectures
8 14th September The Building Blocks (PDF)
Tutorial Questions (PDF)
Recorded Lecture and Live Stream
Mobile Development: History, Android, & Eclipse
HTML Lecture Notes
PDF Lecture Notes
Recorded Lectures
9 21nd September Connecting the Dots (PDF)
Recorded Lecture and Live Stream
Mobile Development: The Building Blocks
HTML Lecture Notes
PDF Lecture Notes
Recorded Lectures
Semester Break
10 5th October Permissions, Fragments, Intents, and Tricks (PDF)
Recorded Lecture and Live Stream
Mobile Development: Gluing the Bits Together
HTML Lecture Notes
PDF Lecture Notes
Recorded Lectures
11 12th October Content, Lists, and the bits we missed (PDF)
Recorded Lecture and Live Stream
Draw, Display, Decide, Distribute
HTML Lecture Notes
PDF Lecture Notes
Recorded Lectures
12

19th October

Subject Review Fragments and Finishing Touches
HTML Lecture Notes
PDF Lecture Notes
Assignments
Assignment

Main Objective: "I hear and I forget; I see and I remember; I do and I understand."

Value Date Due
1 A simple GUI application To design and write a GUI desktop or web application using a MVC framework and employing suitable design patterns. 20% 18.9.2015
2 Mobile Exercises Assignment

To construct software for mobile platforms.

20% TBA
Resources and Archives
Development Tool/Java Language
Operating System (Platform)
Java SE 8 Documentation Unix, Windows, Mac
Sun's Java Developer Site Unix, Windows, Mac
NetBeans (Open Source IDE)
Unix, Windows, Mac
NetBeans Tutorials Unix, Windows, Mac
NetBeans Java GUI Applications Learning Trail Unix, Windows, Mac
JavaFX Documentation Unix, Windows, Mac
Unix, Windows, Mac
Past Exams

2012 OAD Semester 2

2013 OAD Semester 2