COIT20256 - Data Structures and Algorithms
Term 1 - 2017


All details in this unit profile for COIT20256 have been officially approved by CQUniversity and represent a learning partnership between the University and you (our student). The information will not be changed unless absolutely necessary and any change will be clearly indicated by an approved correction included in the profile.

Overview

This unit is designed for students who want to study advanced data structures and algorithms for software development using an object oriented programming language. Students will learn to evaluate the use of data structures and algorithms to construct solutions to information technology problems. Topics covered include: classes, inheritance, polymorphism, exceptions, graphical user interfaces, database programming, recursion, linked lists, stacks, queues, priority queues, trees, search trees, graphs, sorting and searching algorithms. The object-oriented design will also be covered. Note: If you have completed unit COIT23001 then you cannot take this unit.

Details

Career Level Postgraduate
Credit Points 6
Student Contribution Band 2
Fraction of Full-Time Student Load 0.125

Pre-requisites or Co-requisites

Pre-requisite: COIT20245 Introduction to Programming

Attendance Requirements

All on-campus students are expected to attend scheduled classes – in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).

Offerings

Term 1 - 2017
  • Brisbane
  • Distance
  • Melbourne
  • Rockhampton
  • Sydney

Website

This unit has a website, within the Moodle system, which is available two weeks before the start of term. It is important that you visit your Moodle site throughout the term. Go to Moodle

Recommended Student Time Commitment

Each 6-credit Postgraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.

Class Timetable

Assessment Overview

Assessment Task Weighting
1. Practical and Written Assessment 15%
2. Practical and Written Assessment 30%
3. Examination 55%

This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of ‘pass’ in order to pass the unit. If any ‘pass/fail’ tasks are shown in the table above they must also be completed successfully (‘pass’ grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the ‘assessment task’ section (note that in some instances, the minimum mark for a task may be greater than 50%). Consult the University’s Grades and Results Procedures for more details of interim results and final grades.

All University policies are available on the IMPortal.

You may wish to view these policies:

  • Grades and Results Procedure
  • Assessment Policy and Procedure (Higher Education Coursework)
  • Review of Grade Procedure
  • Academic Misconduct Procedure
  • Monitoring Academic Progress (MAP) Policy and Procedure – Domestic Students
  • Monitoring Academic Progress (MAP) Policy and Procedure – International Students
  • Refund and Excess Payments (Credit Balances) Policy and Procedure
  • Student Feedback – Compliments and Complaints Policy and Procedure
  • Acceptable Use of Information and Communications Technology Facilities and Devices Policy and Procedure

This list is not an exhaustive list of all University policies. The full list of University policies are available on the IMPortal.

Feedback, Recommendations and Responses

Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.

Feedback Source Recommendation
One suggestion feedback is to have JQuery and JSF as part of the course. These are already covered in other courses. A number of suggestions are on improved clarity of the Assignment. Moodle Course evaluation The Assignment specification can be made clearer with no major changes. The formal review will also help to achieve this.
On successful completion of this unit, you will be able to:
  1. Compare and contrast different algorithms in problem solving.
  2. Choose and compare appropriate data structures in program design.
  3. Evaluate a variety of data structures and algorithmic approaches including: recursion, linked lists, stacks, queues, trees, graphs, sorting and searching.
  4. Analyse, develop and implement software solutions with the focus of data structures and algorithms.
  5. Apply classes, inheritance, polymorphism and exception handling in the context of data structures and algorithms.
  6. Programmatically connect to a database and implement the database operations.

Australian Computer Society (ACS) recognises the Skills Framework for the Information Age (SFIA). SFIA is in use in over 100 countries and provides a widely used and consistent definition of ICT skills. SFIA is increasingly being used when developing job descriptions and role profiles.
ACS members can use the tool MySFIA to build a skills profile at https://www.acs.org.au/professionalrecognition/mysfia-b2c.html
This unit contributes to the following workplace skills as defined by SFIA. The SFIA code is included:
  • Systems design (DESN)
  • System Integration (SINT)
  • Program ming/Software Development (PROG)
  • Data Analysis (DTAN)
  • Database/Repository Design (DBDS)
  • Testing (TEST)
  • Applications Support (ASUP)

Alignment of Assessment Tasks to Learning Outcomes

Assessment Tasks Learning Outcomes
1 2 3 4 5 6
1 - Practical and Written Assessment      
2 - Practical and Written Assessment
3 - Examination    

Alignment of Graduate Attributes to Learning Outcomes

  • Professional Level
  • Advanced Level
Graduate Attributes Learning Outcomes
1 2 3 4 5 6
1. Knowledge
2. Communication            
3. Cognitive, technical and creative skills
4. Research            
5. Self-management            
6. Ethical and Professional Responsibility            
7. Leadership            

Alignment of Assessment Tasks to Graduate Attributes

  • Professional Level
  • Advanced Level
Assessment Tasks Graduate Attributes
1 2 3 4 5 6 7
1 - Practical and Written Assessment      
2 - Practical and Written Assessment    
3 - Examination          

Prescribed Textbooks

Java How to Program : Early Objects Edition
Author/s: Paul Deiteil & Harvey Deitel Year: 2014
Edition: 10 Publisher: Pearson
City: Upper Saddle River State: NJ
Country: USA
View textbooks at the CQUniversity Bookshop
Note:

This unit has an open book final examination where students can take their Textbook with them to the examination. Therefore, it may be better to buy a hard copy of the Textbook even though rest of the study can be managed with an e-Book. Students can take a copy of consolidated notes to refer in the examination. So it is not mandatory to buy a Textbook.

IT Resources

You will need access to the following IT resources:
  • CQUniversity Student Email
  • Internet
  • Unit Website (Moodle)
  • NetBeans IDE
  • Textpad editor
  • Java Development Kit (JDK) 1.8 or later
  • MySQL Database Server 5.7 or later
All submissions for this unit must use the Harvard (author-date) referencing style (details can be obtained here). For further information, see the Assessment Tasks below.
Unit CoordinatorMary Tom (m.tom@cqu.edu.au)
Note: Check the Term-Specific section for any additional contact information provided by the teaching team
Week Begin Date Module/Topic Chapter Events and Submissions
Week 1 06-03-2017

A Deeper Look at Classes and Objects

Chapters 8

Week 2 13-03-2017

Object Oriented Programming: Inheritance

Chapter 9

Week 3 20-03-2017

Object Oriented Programming: Polymorphism and Interfaces

Chapter 10

Week 4 27-03-2017

Advanced GUI

Chapters 12 and 22

Week 5 03-04-2017

Exception Handling, Files, Streams and Object Serialization

Chapters 11 and 15

Vacation Week 10-04-2017
Week 6 17-04-2017

Object-Oriented Design

Chapter 33 (online chapter): Object-Oriented Design with the UML

Assignment 1 Due Thursday (20 Apr 17) 11:45 PM AEST
Week 7 24-04-2017

Generic Collections and Iterators

Chapter 16

Week 8 01-05-2017

Algorithmic Efficiency, Lambdas and Streams

Chapters 19 and 17

Week 9 08-05-2017

Accessing Databases with JDBC

Chapter 24

Week 10 15-05-2017

Generic Classes and Methods

Chapter 20

Week 11 22-05-2017

Custom Generic Data Structures

Chapter 21

Assignment 2 Due Thursday (25 May 17) 11:45 PM AEST
Week 12 29-05-2017

Recursion

Chapter 18

Review/Exam Week 05-06-2017
Exam Week 12-06-2017

Unit Coordinator

Dr. Mary Tom

School of Engineering & Technology

Central Queensland University

Brisbane QLD 4000, Australia

Phone: +61 7 3295 1119
Email: m.tom@cqu.edu.au

1 Practical and Written Assessment

Assessment Title Assignment 1
Task Description

In this assignment you will demonstrate your understanding of object oriented programming concepts in Java, and show an ability to develop a GUI (Graphical User Interface) based Java application. This assessment task is to design, code, debug, and test using the topics covered in Weeks 1-5. Further details are available on the unit website in the Assignment 1 Specification document.

Assessment Due Date Week 6 Thursday (20-Apr-2017) 11:45 PM AEST
Return Date to Students Week 9 Friday (12-May-2017)
Weighting 15%
Assessment Criteria
  1. Efficient object-oriented program design.
  2. Appropriate use of Graphical User Interface (GUI).
  3. Appropriate use of data structures and algorithms in problem solving.
  4. Effective use of good programming practice/techniques.
  5. Rigorous testing of Java applications
Referencing Style Harvard (author-date)
Submission Online

Learning Outcomes Assessed
This section can be expanded to view the assessed learning outcomes

2. Choose and compare appropriate data structures in program design.

4. Analyse, develop and implement software solutions with the focus of data structures and algorithms.

5. Apply classes, inheritance, polymorphism and exception handling in the context of data structures and algorithms.

Graduate Attributes
This section can be expanded to view the assessed graduate attributes

1. Knowledge

2. Communication

3. Cognitive, technical and creative skills

5. Self-management



2 Practical and Written Assessment

Assessment Title Assignment 2
Task Description

In this assignment you will demonstrate your understanding of object oriented programming concepts and a variety of data structures and algorithms in Java, and show an ability to develop a GUI (Graphical User Interface) based Java application. This assessment task includes design, document, develop code, debug , and test a java application applying topics covered in Weeks 1 - 10. Further details are available on the Moodle unit website in the Assignment 2 specification document.

Assessment Due Date Week 11 Thursday (25-May-2017) 11:45 PM AEST
Return Date to Students Exam Week Wednesday (14-Jun-2017)
Weighting 30%
Assessment Criteria
  1. Efficient object-oriented program design.
  2. Appropriate use of Graphical User Interface (GUI).
  3. Appropriate use of data types and algorithms in problem solving.
  4. Effective use of good programming practice/techniques.
  5. Rigorous testing of Java applications.
  6. Effective evaluation of algorithms, data structures and program designs.

Referencing Style Harvard (author-date)
Submission Online

Learning Outcomes Assessed
This section can be expanded to view the assessed learning outcomes

1. Compare and contrast different algorithms in problem solving.

2. Choose and compare appropriate data structures in program design.

3. Evaluate a variety of data structures and algorithmic approaches including: recursion, linked lists, stacks, queues, trees, graphs, sorting and searching.

4. Analyse, develop and implement software solutions with the focus of data structures and algorithms.

5. Apply classes, inheritance, polymorphism and exception handling in the context of data structures and algorithms.

6. Programmatically connect to a database and implement the database operations.

Graduate Attributes
This section can be expanded to view the assessed graduate attributes

1. Knowledge

2. Communication

3. Cognitive, technical and creative skills

4. Research

5. Self-management



Examination

Outline Complete an examination
Date During the University examination period
Weighting 55%
Length 180 minutes
Details Dictionary - non-electronic, concise, direct translation only (dictionary must not contain any notes or comments).
No Calculators Permitted
Open Book
Learning Outcomes Assessed
This section can be expanded to view the assessed learning outcomes

1. Compare and contrast different algorithms in problem solving.

2. Choose and compare appropriate data structures in program design.

3. Evaluate a variety of data structures and algorithmic approaches including: recursion, linked lists, stacks, queues, trees, graphs, sorting and searching.

5. Apply classes, inheritance, polymorphism and exception handling in the context of data structures and algorithms.

Graduate Attributes
This section can be expanded to view the assessed graduate attributes

1. Knowledge

3. Cognitive, technical and creative skills


© 2017 CQUniversity
Page generated by apps-prod-02.cqu.edu.au at Thu Apr 27 21:07:47 AEST 2017