Course Title: Apply intermediate object oriented language skills

Part B: Course Detail

Teaching Period: Term1 2011

Course Code: COSC5923C

Course Title: Apply intermediate object oriented language skills

School: 650T TAFE Business

Campus: City Campus

Program: C6074 - Advanced Diploma of Information Technology

Course Contact : Radhu Punchanathan

Course Contact Phone: +61 3 9925 1409

Course Contact Email:radhu@rmit.edu.au


Name and Contact Details of All Other Relevant Staff

Nominal Hours: 50

Regardless of the mode of delivery, represent a guide to the relative teaching time and student effort required to successfully achieve a particular competency/module. This may include not only scheduled classes or workplace visits but also the amount of effort required to undertake, evaluate and complete all assessment requirements, including any non-classroom activities.

Pre-requisites and Co-requisites

Apply introductory object oriented language skills         ICAB4219B                  COSC 5356C

Course Description

This course will include coverage of the broad areas of: building application programs using objects; internal usage of collections of data; using coding standards for ease of code maintenance; saving and retrieving objects to/from binary files; overloading functions, exception handling, and inheritance; connecting to, and manipulating (creating, querying, inserting, deleting, and updating), a database; GUIs; debugging, testing, and documenting programs.


National Codes, Titles, Elements and Performance Criteria

National Element Code & Title:

ICAB5223A Apply intermediate object oriented language skills

Element:

1. Build applications using provided language utilities

Performance Criteria:

1. Divide multiple source code files into logical units/packages
2. Use at least two of the utilities of the target language allowing for internal storage of collections of data
3. Use the utilities of the target language providing internal data sorting and searching facilities
4. Employ integrated development environment facilities to make files to automate program building
5. Follow guidelines for developing maintainable code adhering to coding standards
6. Use the facilities in the language for persisting objects to binary files
7. Use the Operator and function/method overloading facilities available in the language at an introductory level
8. Demonstrate ability to use exception handling techniques to ensure program stability
9. Demonstrate use of a class that is based on multiple inheritances

Element:

2. Write programs that interact with a database

Performance Criteria:

1. Design and implement programs that connect to a database
2. Design and implement programs that use the language facilities to extract, update and delete data stored in a database
3. Design and implement programs that use the language's facilities to manipulate database structure (query, create, and delete)
4. Write programs that deliver transactional integrity

Element:

3. Write GUI

Performance Criteria:

1. Employ GUI framework or text windowing interface appropriate to the chosen language
2. Demonstrate use of standard GUI components
3. Use the facilities within the language for GUI objects to respond to user and program generated events

Element:

4. Debug application

Performance Criteria:

1. Use standalone debugging tools or tools provided by integrated development environment to examine variables and trace running code
2. Use debugger to detect logical and coding errors
3. Use tracing of code and examination of variable contents during execution to detect and correct errors

Element:

5. Test application

Performance Criteria:

1. Design and document limited tests of code
2. Undertake limited testing of produced code to ensure program specification is complied with
3. Capture and document test results

Element:

6. Create and maintain documentation

Performance Criteria:

1. Read and interpret supplied design document to create code
2. Create and maintain program documentation


Learning Outcomes



Details of Learning Activities

In this course students will have practical lab sessions and out-of-class research and homework (including the programming of a major project).


Teaching Schedule

WeekWeek commencingTopicsResourcesAssessments
 1 07/02/2011Introduction to Course
Review of Classes & Objects, Creating Code from Supplied Design Documentation
Coding Standards
Textbook: Class Handout: Coding Standards 
 2 14/02/2011The Java API, Program Documentation & Javadoc
Review of Arrays & ArrayLists, and More Data Structures
Class Handout: Using Eclipse – JavadocProject handout Available
 3 21/02/2011Review of Text File Processing, Interfaces, and, Saving (Persisting) and Retrieving ObjectsTextbook:  
 4 28/02/2011Relationships: Inheritance & Inclusion, and, Polymorphism & Method Overriding
Collections of Data and Sorting & Searching
Textbook: Chapters 7, 8 & 16*Class Handout: Sorting & Searching 
 5 07/03/2011Review of Constructor and Method Overloading
Testing & Debugging with Eclipse
Class Handout: Using Eclipse – Testing & Debugging Project Part 1 Due
 6 14/03/2011RevisionSee Above 
 7 21/03/2011Mid-Semester Test
Project Part 1 Feedback
  
 8 28/03/2011Introduction to GUI Programming using Inbuilt Java GUIs (JOptionPane)Lab Sheet: Introduction to GUI Programming in Java using JOptionPane 
 9 04/04/2011GUIs, Interfaces (Events & Listeners) and Multiple Inheritance, and More on Exception Handling Textbook:
 10 11/04/2011More Advanced GUI Programming – Basic Layout Managers and Events & ListenersTextbook:  
 11 18/04/2011Introduction to Database Programming – Querying a Database (MS Access) Table, Inserting, Updating, & Deleting RecordsClass Handout: Database ProgrammingProject Part 2 Due
   Student Vacation -Thursday 21st April till Wednesday 27th April inclusive  
12 02/05/2011More on Database Programming – Creating and Deleting Tables, and
Databases & Transactional Integrity
Project Part 2 Feedback Sheet: Introduction to Transactional Integrity in Java 
13 09/05/2011Work on ProjectLab  
14 16/05/2011Work on ProjectLab  Project Part 3 Due
15 23/05/2011Revision for final testLab  
16 30/05/2011Final TestLab  Final Test

Students, who have been granted special consideration or are required to resubmit, will be able to submit/sit their assessment by arrangement with the class teacher in weeks 17 or 18.


Learning Resources

Prescribed Texts

Joel Adams (2008) Alice in Action with Java. Thomson Course Technology, Boston, Mass. ISBN 978-1-4239-0096-2
Handout’s will also be given as required

13: 978-0-596


References

Sparke, Gerard. (2006) The Java Way: An Introduction to Programming in Java (2nd Edn.) French's Forest: Pearson Education Australia

Geary, David M. (1999) Graphic Java: Mastering the JFC (Volumes 1 & 2 – 3rd Edn.) Palo Alto: Prentice Hall

Sierra, Kathy & Bates, Bert (2005) Head First Java (2nd Edn.) O’Reilly Media, Inc: Sebastopol. ISBN 13: 978-0-596-00920-5.


Other Resources

The Java Tutorials can be found at: http://java.sun.com/developer/onlineTraining/
Other useful resources: any book that you can find on JDBC Programming.


Overview of Assessment

Assessment may incorporate a variety of methods including technical requirements documentation, homework, assignments, group and/or individual projects and in class exercises, written tests, practical problem solving exercises, presentations, practical tests and a final exam. Students are advised that they are likely to be asked to personally demonstrate their assessment work to their teacher to ensure that the relevant competency standards are being met. Students will be provided with feedback throughout the course to check their progress.


Assessment Tasks

There will be 5 assessments throughout the semester. Description of assessments and grade allocation as follows:

  • Assessment 1 (due Week 5): Project Part 1
    Ensure that a planning process is incorporated into the project. Using earlier project, code the 3rd tier to save/retrieve objects. Documenting, testing, and debugging the application.
    Maximum % Grade Allocated: CA / NYC 10%
  • Assessment 2 (due week 7): Mid-Semester Test
    Provides an opportunity to demonstrate an understanding of theoretical and practical aspects of Java OO programming, including relationships, polymorphism and collections. Maximum % Grade Allocated: CA / NYC25%
  • Assessment 3 (due Week 11) Project Part 2
    Continuation of project program design process and systematic ongoing project task analysis and review. Adding GUI components to the 1st tier & building on the 2nd tier. Documenting, testing, and debugging the application.
    Maximum % Grade Allocated: CA / NYC15%
  • Assessment 4 (due Week 14) Project Part 3
    Rebuilding the 3rd tier to interact with a database. Documenting, testing, and debugging the application.
    Maximum % Grade Allocated: CA / NYC25%
  • Assessment 5 (due week 16) Final Test
    Provides an opportunity to demonstrate an understanding of theoretical and practical aspects of Java GUI and database OO programming. Maximum % Grade Allocated: 25%


Assessment Matrix

ElementProject Part 1
CA/NYC(10%)
Mid-Sem Test
CA/NYC(25%)
Project Part 2
CA/NYC(15%)
Project Part 3
CA/NYC(25%)
Final Test
(25%)
Build Applications V -- VVV
Write DB Programs -- -- --
Write GUI -- VV
Debug Application  -- --VVV
Test Application VVVVV
DocumentationVVVVV

Other Information

Competency and Grading Requirements
To be deemed competent students must demonstrate an understanding of all elements of a competency. Assessment methods have been designed to measure achievement of each competency in a flexible manner over multiple tasks.
Students are advised that they are likely to be asked to personally demonstrate their assessment work to their teacher to ensure that the relevant competency standards are being met.
All assessments for this course must be completed to achieve a CA (Competency Achieved) grade.
Each assessment task will also carry a numerical weighting to be used for grading purposes. The grade applied to this weighting will only be awarded if a CA has been achieved in all compulsory assessment tasks.
If a student has been marked NYC (Not Yet Competent) in any of the assessment tasks, the weighting will carry no value until the student has obtained a CA.
If a CA is achieved on re-assessment then a maximum mark of 50% of the original weighting will be granted for that assessment.
Reassessments will only be granted to students who were either unsuccessful in the first attempt or have an approved special consideration application.
A final examination worth 25% will be offered to students who have achieved CA.

Course Overview: Access Course Overview