Note: This unit version is currently being edited and is subject to change!

ELEC5619: Object Oriented Application Frameworks (2013 - Semester 2)

Download UoS Outline

Unit: ELEC5619: Object Oriented Application Frameworks (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Postgraduate
Faculty/School: School of Electrical and Information Engineering
Unit Coordinator/s: A/Prof Calvo, Rafael
Session options: Semester 2
Versions for this Unit:
Site(s) for this Unit: http://www.ee.usyd.edu.au/~rafa/elec5619/
Campus: Camperdown/Darlington
Pre-Requisites: None.
Brief Handbook Description: This unit aims to introduce students to the main issues involved in producing large Internet systems by using and building application frameworks. Frameworks allow great reuse so developers do not have to design and implement applications from scratch, as students have done in ELEC3610 The unit lays down the basic concepts and hands on experience on the design and development of enterprise systems, emphasizing the development of systems using design patterns and application frameworks.

A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. Several development Java frameworks will be used, including Spring, Hibernate, and others. Principles of design patterns will also be studied.
Assumed Knowledge: Java programming, and some web development experience are essential. Databases strongly recommended
Lecturer/s: A/Prof Calvo, Rafael
Timetable: ELEC5619 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Project Work - in class 3.00 1 7
2 Project Work - own time 6.00 1 7
3 Presentation 2.00 1 1
4 Tutorial 3.00 1 5
T&L Activities: Project Work - own time: Project

Presentation: Final presentations

Tutorial: Tutorial/Labs

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Learn to design a large web application using OO Application frameworks. Design (Level 4)
Advanced Java programming skills using and developing frameworks. Engineering/IT Specialisation (Level 4)
Students write a proposal document and orally present to the class and external assessors. Communication (Level 3)
Students develop a web application in groups of 4-5. Each member is responsible for a component. Project Management and Teamwork (Level 3)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table.

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Design (Level 4)
1. Ability to deploy a large site using a particular application framework to the extent of the material presented.
2. Ability to undertake conception and design by investigating, researching and systematically compiling the various information resources available, in order to deliver an e-business project.
Engineering/IT Specialisation (Level 4)
3. Ability to evaluate the advantages and disadvantages of using domain specific frameworks with a particular focus on web applications.
4. Ability to customize a Content Management System (CMS) to particular user requirements using tools, principles and techniques developed throughout the course.
5. Ability to write and modify Java code using Spring and Hibernate in a web application.
6. Ability to compare and contrast different Web Application Frameworks available in the market using the principles and techniques developed in the course.
7. Ability to assess the differences between using application frameworks for software development and other methods with less reusability.
Communication (Level 3)
8. Capacity to write reports and make presentations to communicate technical and often complex material in clear and concise terms for a specific target audience.
Project Management and Teamwork (Level 3)
9. Ability to work in a group effectively and efficiently by assuming clearly defined roles and responsibilities and then interacting in a constructive manner with the group by both contributing and evaluating others' viewpoints in order to reach a multilateral agreement on and execution of the solution.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Project Yes 50.00 Week 13 1, 2, 3, 4, 5, 8, 9,
2 Mid-Sem Exam No 40.00 Week 6 1, 3, 4, 5,
3 Proposal Yes 10.00 Week 5 2, 8, 9,
Assessment Description: Project: Project: Prototype, Final application, Presentation, Learning Journal.

Mid-Sem Exam: concepts and programming languages used in the project

Proposal: 2,000 word document
Grading:
Grade Type Description
Grading Schema High Distinction, HD (85-100)

Show through independent work, ability to use and integrate several services and applications available in the framework.

Distinction, D (75-84)

Compare WAFs through an analysis of advantages and disadvantages. Be able to relate pros and cons to a business problem. Experiment with the framework’s applications and be able to show how they can be exploited to solve a particular business problem. Show consistent high quality programming and communication skills.

Credit, CR (65-74)

Be able to show consistent programming and communication skills

Deliver a working application with quality documentation. Proficiency in Linux development environments.

Pass, P (50-64)

Showing motivation and initiative. Inconsistent programming and communication skills.
Faculty Policies & Procedures: Academic Honesty in Coursework. All students must submit a cover sheet for all assessment work that declares that the work is original and not plagiarised from the work of others.

Coursework assessment and examination policy. The faculty policy is to use standards based assessment for units where grades are returned and criteria based assessment for Pass/Fail only units. Norm referenced assessment will only be used in exceptional circumstances and its use will need to be justified to the Undergraduate Studies Committee. Special consideration for illness or misadventure may be considered when an assessment component is severely affected. This policy gives the details of the information that is required to be submitted along with the appropriate procedures and forms.

Special Arrangements for Examination and Assessment. In exceptional circumstances alternate arrangements for exams or assessment can be made. However concessions for outside work arrangements, holidays and travel, sporting and entertainment events will not normally be given.

Student Appeals against Academic Decisions. Students have the right to appeal any academic decision made by a school or the faculty. The appeal must follow the appropriate procedure so that a fair hearing is obtained.

Note that policies regarding assessment submission, penalties and assessment feedback depend upon the individual unit of study. Details of these policies, where applicable, will be found above with other assessment details in this unit outline.

All university policies can be found at http://sydney.edu.au/policy

Various request forms for the Faculty of Engineering and IT can be found at http://sydney.edu.au/engineering/forms/
Recommended Reference/s: Note: References are provided for guidance purposes only. Students are advised to consult these books in the university library. Purchase is not required.
  • Spring in Action
Online Course Content: http://www.ee.usyd.edu.au/~rafa/elec5619/
Note on Resources: Readings (all are on e-reserve):

* Ralph E. Johnson. ``Frameworks = (components + patterns)``. Communications of the ACM. 40 (10). pp 39-42. (core - mid-term) DOI

* Mohamed Fayad and Douglas C. Schmidt. ``Object-oriented application frameworks``. Communications of the ACM. 40 (10). pp 32-38. (core- mid-term) DOI

* Rod Johnson. ``J2EE Development Frameworks``. IEEE Computer. January 2005. pp 107-110. (core- mid-term)

* Design Patterns: Elements of Reusble Object-Oriented Software. Gamma, Helm, Johnson and Vlissides. Introduction (Chapter 1) (Library) (core - mid-term)

* Maven: a developer`s notebook. Vincent Massol, Timothy M. O`Brien. O`Reilly 2005 - chapter 1 (core- mid-term)

* Chapter 5. Object Oriented Design and Patterns. Cay Horstmann. Wiley, 2002 (library) (core - mid-term).

* Mohamed Fayad, Douglas C. Schmidt., Ralph Johnson. Building Application Frameworks. John Wiley & Sons 1999. (Chapters 1 ad 2) (Library) (core - final)

* Essential Software Architectures. Ian Gorton. Springer 2006 - Chapter 1 (core - final)

* Software Architecture in Practice. Len Bass, Paul Clements and Rick Kazman, Addison-Wesley, 2003 - Chapter 11 ``The ATAM``.

* Ajax in action. Dave Crane, Eric Pascarello with Darren James. [library]

* Crossing Chasms: A pattern Language for Object-RDBMS Integration. K. Brown and B. Whitenack in Pattern Languages of Program Design by Vlissides. 1996. (Library) (informational)

* M. Matera and A. Maurino and S. Ceri and P. Fraternali. ``Model-driven design of collaborative web applications``. Softw. Pract. Exper. 33 (8). pp 701-732. (informational) DOI

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Introduction: About this course
Design Patterns
Week 2 Spring
Week 3 Spring
Week 4 Maven
Hibernate
Week 5 Maven
Hibernate
Assessment Due: Proposal
Week 6 Architecture Evaluations
Assessment Due: Mid-Sem Exam
Week 7 3. setup and configuration
Sakai Introduction:
1. Introduction
2. architecture,
Week 8 Mid Term Exam (30%) - in lecture
Week 9 Sakai persistance and security
1. data storage models
Presentation Layer Frameworks: JSP, JSF, RSF
2. entities
3. security
Week 10 Application Frameworks
Week 11 Ajax architecture
Week 12 WebML and CASE tools (Webratio)
Test Driven Development with JUnit4 and Mockito
Week 13 Text Mining and The Semantic Web
Course Closure
Assessment Due: Project

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Software 2010, 2011, 2012, 2013
Software Engineering/Arts 2011, 2012, 2013
Software Engineering/Commerce 2010, 2011, 2012, 2013
Software Engineering/Medical Science 2011, 2012, 2013
Software Engineering/Project Management 2012, 2013
Software Engineering/Science 2011, 2012, 2013
Master of Professional Engineering (Software) 2010, 2011, 2012, 2013
Bachelor of Computer Science and Technology (Honours) 2013
Computer Engineering 2010
Electrical 2010, 2011, 2012, 2013
Electrical Engineering/Arts 2011, 2012, 2013
Electrical Engineering/Commerce 2010, 2011, 2012, 2013
Electrical (Bioelectronics) 2011, 2012
Electrical (Bioelectronics) Engineering/Arts 2011, 2012
Electrical (Bioelectronics) Engineering/Science 2011, 2012
Electrical Engineering/Medical Science 2011, 2012, 2013
Electrical Engineering/Project Management 2012, 2013
Electrical Engineering/Science 2011, 2012, 2013
Electrical (Computer) 2011, 2012, 2013
Electrical (Computer) Engineering/Arts 2011, 2012, 2013
Electrical (Computer) Engineering/Commerce 2012, 2013, 2011
Electrical (Computer) Engineering/Science 2011, 2012, 2013
Electrical (Computer) Engineering/Law 2012, 2013
Electrical (Power) 2010, 2011, 2012, 2013
Electrical (Power) Engineering/Arts 2011, 2012, 2013
Electrical (Power) Engineering/Science 2011, 2012, 2013
Electrical (Telecommunications) 2011, 2012, 2013
Electrical (Telecommunications) Engineering/Science 2011, 2012, 2013
Electrical (Power) Engineering/Project Management 2012, 2013
Telecommunications 2010
Bachelor of Information Technology (Computer Science) 2010, 2011, 2012, 2013
Information Technology(Computer Science)/Bachelor of Arts 2012, 2013
Information Technology(Computer Science)/Bachelor of Commerce 2012, 2013
Information Technology (Computer Science)/Medical Science 2012, 2013
Information Technology(Computer Science)/Bachelor of Science 2012, 2013
Bachelor of Information Technology (Information Systems) 2011, 2013
Information Technology(Information Systems)/Bachelor of Arts 2012, 2013
Information Technology(Information Systems)/Bachelor of Commerce 2013
Information Technology (Information Systems)/Medical Science 2012, 2013
Information Technology(Information Systems)/Bachelor of Science 2012, 2013
Graduate Certificate in Engineering 2011, 2012, 2013
Graduate Certificate in Information Technology 2012, 2013
Graduate Diploma in Engineering 2011, 2012, 2013
Graduate Diploma in Information Technology 2012, 2013
Master of Engineering (2013+ ) 2013
Master of Engineering (Electrical) 2011, 2012
Master of Engineering (Network) 2012
Master of Engineering (Power) 2011, 2012
Master of Engineering (Wireless) 2012
Master of Information Technology (Business Information Systems) 2011, 2012, 2013
Master of Information Technology (Computer Networks) 2011, 2012, 2013
Master of Information Technology (Computer Science) 2011, 2012, 2013
Master of Information Technology (Database Management Systems) 2011, 2012, 2013
Master of Information Technology (Health Informatics) 2011, 2012, 2013
Master of Information Technology (Multimedia Technology) 2011, 2012, 2013
Master of Information Technology (Project Management) 2011, 2012, 2013
Master of Information Technology (Software Engineering) 2011, 2012, 2013
Master of Information Technology (Telecommunications Engineering) 2011, 2012, 2013
Master of Professional Engineering (Electrical) 2012, 2013
Computer Engineering/Commerce 2010
Electrical (Computer) Engineering/Medical Science 2011, 2013
Electrical (Telecommunications) Engineering/Arts 2011, 2012, 2013
Electrical (Telecommunications)/Medical Science 2011, 2012, 2013
Flexible First Year (Stream B)/Science 2012

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
Design (Level 4) Yes 28.29%
Engineering/IT Specialisation (Level 4) Yes 51.44%
Maths/Science Methods and Tools (Level 4) No 0%
Information Seeking (Level 3) No 0%
Communication (Level 3) Yes 10.15%
Professional Conduct (Level 3) No 0%
Project Management and Teamwork (Level 3) Yes 10.15%

These goals are selected from Engineering & IT Graduate Outcomes Table which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.