Course Title: Apply introductory object-oriented language skills

Part B: Course Detail

Teaching Period: Term1 2015

Course Code: COSC6105C

Course Title: Apply introductory object-oriented language skills

School: 155T Vocational Health and Sciences

Campus: City Campus

Program: C4299 - Certificate IV in Information Technology Networking

Course Contact: Geoff Moss

Course Contact Phone: +61 3 9925 4852

Course Contact Email: geoff.moss@rmit.edu.au


Name and Contact Details of All Other Relevant Staff

Tim Hanegan

tim.hanegan@rmit.edu.au

ph 9925 4852

Nominal Hours: 60

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

Nil

Course Description

This course introduces object-oriented programming using the Java programming language. This course covers algorithm development using standard control structures, design methods such as step-wise refinement, the object oriented programming framework, the use of standard Java classes and interfaces, the use of container classes, disk file processing, introduces techniques for code reuse, and basic strategies for software testing.


National Codes, Titles, Elements and Performance Criteria

National Element Code & Title:

ICAPRG406A Apply introductory object-oriented language skills

Element:

1. Apply basic language syntax and layout

Performance Criteria:

1.1 Demonstrate understanding and application of basic language syntax rules and best practices
1.2 Select and use language data types, operators and expressions to create clear and concise code
1.3 Use the appropriate language syntax for sequence, selection and iteration constructs
1.4 Use a modular programming approach within member or function logic
1.5 Apply arrays, including arrays of objects to introductory programming tasks
1.6 Use standard-array processing algorithms
1.7 Use the facilities of the language to read and write data from and to text files and record outcomes

Element:

2. Apply basic object-oriented principles in the target language

Performance Criteria:

2.1 Implement a class that contains primitive member or instance variables
2.2 Implement a class that contains multiple options for object construction
2.3 Implement a class that uses user-defined aggregation (object instance or member variables)
2.4 Use the facilities provided in the language to implement inheritance to at least two levels of depth
2.5 Use polymorphism at a simple level through inheritance to enable easy extension of code

Element:

3. Debug code

Performance Criteria:

3.1 Use an integrated development environment, in particular the language debugging facilities, to debug code
3.2 Interpret compiler or interpreter messages to resolve syntax errors and use debugging techniques to resolve logic errors

Element:

4. Document activities

Performance Criteria:

4.1 Follow organisational guidelines for developing maintainable code and adhere to the provided coding standards when documenting activities
4.2 Apply internal documentation to all code created and use documentation tools available in the target language when documenting activities

Element:

5. Test code

Performance Criteria:

5.1 Create and conduct simple tests to confirm code meets design specification
5.2 Document the tests performed and results achieved

Element:

6. Create an application

Performance Criteria:

6.1 Develop a solution when provided with a basic object-oriented design document
6.2 Refer to appropriate documentation for the language


Learning Outcomes


This course contributes to the development of the following capabilities:

Enabling Knowledge: Syntax and basic features of the object-oriented programming language Java; good programming style, standards and practices in programming; the use of standard Java classes, interfaces, containers; and basic techniques for code reuse and testing.

Critical Analysis: Ability to analyse and model requirements for solving algorithmic computing problems.

Problem Solving: Ability to design and implement computer programs to solve algorithmic computing problems, based on analysis and modelling of requirements.

Communication: Ability to discuss key concepts of object-oriented programming in Java, standard classes and interfaces, code reuse and strategies for software testing.

Responsibility: Ability to apply relevant standards to writing computer programs. Developing an awareness of the role and responsibility the individual has with regard to their own learning.

On completion of this course you should:
• use modular programming approach
• be able to use standard Java classes and interfaces
• use object oriented program development framework (IDE – Integrated Development Environment)
• be able to develop simple algorithms and implement them using the standard control structures
• be able to use arrays and other container classes for storing and manipulating object
• be able to write programs that promote code reuse
• refine the design using step wise/incremental refinement
• be able to correctly manipulate standard data files, focusing on text files
• follow good coding guidelines
• devise strategies to test the software developed.
 


Details of Learning Activities

A range of learning activities are planned for this course including self-paced and collaborative classroom based activities.

The collaborative classroom based activities will include theory sessions, practical lab sessions, tutorial sessions, and out-of-class research and homework.

We expect you to participate and contribute in all scheduled learning activities.


Teaching Schedule

Semester 1

Week Commencing Topics

Week Number Date commencing Topic Assessment
1  Feb 9th Introduction to Java and installing JDK. Compiling at the command line. Introduction to Dr Java http://drjava.org/.
 
 
2  Feb 16th   Variables, datatypes and operators Java  Tutorial 1 due
3 Feb 23rd  Input and output. Scanner class. printf - formatting output
 
 
4 Mar 2nd   Debugging code  
5 Mar 9th   Debugging code  
6 Mar 16th    Debugging code Tutorial 2 due
7 Mar 23rd  Introduction to primitive arrays allocated with the new operator  
8 Mar 30th   Access, assignment
Iterate over arrays with a for loop
 
 
  April 6th   Mid semester break  
9 April 13th Testing and debugging code
 
Tutorial 3 due
10 April 20th  Class initialization: Default and non-default constructors
 
 
11 April 27th  Classes with variables.  
12 May 4th  Printing the variables of a user class to the screen.
 
Tutorial 4 due
13 May 11th  Introduce inheritance diagram and constructor initialization  
14 May 18th   Introduce inheritance diagram and constructor initialization  
15 May 25th  Introduce Polymorphism
 
Tutorial 5 due
16 June 1st  Linear search of an array.
 
 
17 June 15th Swapping values in an array. The need for a temporary variable to do this.

 

 

 
18 June 22nd   Assessment week Tutorial 6 due


Semester 2

 

 Week number

 Date commencing  Topic  Assessment
 1  July 6th   Reading and writing to files  
 2  July 13th   Interpreting strings to variables  
 3  July 20th   Writing variables to strings
 
 
 4  July 27th   Basic exception handling for reading and writing to files.
 
 Tutorial 7 due
 5  Aug 3rd   Text menus with the case statement.
 
 
 6  Aug 10th   Using an ArrayList for automatic memory management of the array.
 
 
 7  Aug 17th   Using an ArrayList for automatic memory management of the array.
 
 Tutorial 8 due
 8  Aug 24th   Putting together techniques in the tutorials  Assignment 1 handed out
   Aug 31st Midsemester break   
 9  Sep 7th   Object oriented design  
 10  Sep 14th  Object oriented design  
 11  Sep 21st  Object oriented design  
 12  Sep 28th  Object oriented design  
 13  Oct 5th  Object oriented design  
 14  Oct 12th  Object oriented design  
 15  Oct 19th  Object oriented design  
 16  Oct 26th  Object oriented design  Assignment 1 due
 17  Nov 2nd  Assessment week  
 18  Nov 9th  Assessment week  



 
 


Learning Resources

Prescribed Texts


References


Other Resources

www.rmit.edu.au/teaching/technology/blackboard


Overview of Assessment

Students must demonstrate an understanding of all elements of competency to be deemed competent. Skill based assessment.

A range of assessment methods are used to assess practical skills and knowledge, for example
• direct questioning combined with a review of portfolios of evidence
• review of authenticated documents from the workplace or training environment
• demonstration of techniques
 


Assessment Tasks

Semester 1
Java tutorial 1     
Java tutorial 2     
Java tutorial 3     
Java tutorial 4     
Java tutorial 5     
Java tutorial 6     

Semester 2
Java tutorial 7
Java tutorial 8     
Assignment 1      

All of the practical tasks form the portfolio of evidence.

All practical tasks will involve being assessed by observation and questioning.

To be considered competent in this course, you need to achieve competency in all the practicals with opportunities for resubmission as required.


 
 


Assessment Matrix

Performance criteria  Practical Tasks: in class work/observation Tutorial 1 Tutorial 2 Tutorial 3 Tutorial 4 Tutorial 5 Tutorial 6 Tutorial 7 Tutorial 8 Assignment
 1.1 x   x x     x x   x
 1.2 x     x       x
 1.3 x     x     x x x
 1.4 x   x x x   x  
 1.5 x           x
 1.6 x           x      
 1.7 x                
 2.1 x       x         x
 2.2 x                
 2.3 x              
 2.4 x              
 2.5 x              
 3.1 x     x            
 3.2 x x x x
 4.1 x   x x
 4.2 x              

5.1

x   x x
 5.2 x                
 6.1 x                
 6.2 x   x              

Other Information

Coding standards:
You may be asked to reformat and change your code as a requirement for competency.
For example, changing a monolithic design to a design with functions, or an object orientated design; formatting scope with two space indentations; documenting your code.

Marking Guide (competency):
Vocational Education and Training (VET) is based on current industry needs and the focus on preparing you for the workplace. Because VET courses are informed by practical application of knowledge and skills, they are based on a system known as ‘competency based training’ (CBT).
So when you are assessed in VET it is about whether you are competent to do the job, as well as having a firm grasp on the knowledge and skills required to do that job, as opposed to traditional curriculum based education settings that are often based on knowledge retention.
You need to demonstrate you are competent in each element of the unit of competency you are studying.

You will receive feedback on each assessment task that will inform you whether you are competent or not and how well you are performing. Once competent in all elements of the unit you receive a competency grading.

Access to an internet connected computer outside of class times – Internet connected computers are available in the School of Vocational Health and Sciences labs on levels 4, 6 or 8 of building 51, 81 Victoria Street, Melbourne.
Further lab access can be found in the student lab on level 3 (ground floor) of Building 8, in Swanston Street, Melbourne; as well as RMIT Libraries.

Plagiarism
RMIT has a strict policy on plagiarism. Please refer to the RMIT website for more information on this policy. http://www1.rmit.edu.au/browse;ID=sg4yfqzod48g1

Late work
Late work that is submitted without an application for an extension will not be corrected.

Extension of Time for submission of assessable work

A student may apply for an extension of up to 7 days from the original date. They must lodge the application form (available on the web:http://www1.rmit.edu.au/students/assessment/extension) at least the day before the due date. The application is lodged with the School Admin Office on Level 6, Building 51. Students requiring longer extensions must apply for Special consideration.

Special consideration Policy (Late Submission)
Students requiring longer extensions must apply for Special consideration. Form available online at: http://www1.rmit.edu.au/students/specialconsideration/online.
For missed assessments such as exams and tests, you (and your doctor, if you are ill) must fill out a special consideration form. This form must be lodged at the HUB or online with supporting evidence (e.g. medical certificate) prior to, or within 48 hours of the scheduled time of the exam or test.
If you miss an assessment task due to unavoidable circumstances you need to follow the procedure of special consideration and apply within the allowed time frame.
 

Course Overview: Access Course Overview