BUSINESS DATA STRUCTURES

CSE3BDS

2018

Credit points: 15

Subject outline

The teaching of object-oriented concepts is continued from the pre-requisite subject. Students gain more experience with the Java programming language and software engineering. Topics covered include inheritance (class hierarchies, abstract classes), input/output streams, file operations, exceptions, interfaces, recursion, generics, dynamic memory allocation and data structures including linked lists, trees and hash tables. Software engineering principles are further developed, including parameters for characterising software quality and testing strategies. Students will continue to practise the identification and analysis of ethical issues that may arise during software development.

SchoolSchool Engineering&Mathematical Sciences

Credit points15

Subject Co-ordinatorTim Whitfort

Available to Study Abroad StudentsYes

Subject year levelYear Level 3 - UG

Exchange StudentsYes

Subject particulars

Subject rules

Prerequisites CSE2BPC or CSE1OOF or INT1PC or INT2BPC

Co-requisitesN/A

Incompatible subjects CSE1IOO, INT2DS, INT3BDS

Equivalent subjectsN/A

Special conditionsN/A

Readings

Resource TypeTitleResource RequirementAuthor and YearPublisher
ReadingsData Structures Using JavaPrescribedMalikTHOMAS NELSON AUST., 3RD EDN.
ReadingsSchaum's Outline of Data StructuresRecommendedHubbardMCGRAW HILL

Graduate capabilities & intended learning outcomes

01. Explain the object-oriented concepts of inheritance and polymorphism and apply them to solve problems in Java

Activities:
Eight lectures on the topics object-oriented programming including inheritance and polymorphism. Eight associated lab sessions where students design and implement object-oriented solutions to problems. The assignments and exam require students to develop object-oriented solutions.
Related graduate capabilities and elements:
Discipline-specific GCs (Discipline-specific GCs)
Quantitative Literacy/ Numeracy (Quantitative Literacy/ Numeracy)
Critical Thinking (Critical Thinking)
Creative Problem-solving (Creative Problem-solving)

02. Identify exceptional cases in relation to functional correctness and robustness of programs, and apply Java's mechanisms to handle these cases

Activities:
Two lectures on managing exceptions . Two associated labs on raising and handling exceptions. The assignments and exam require students to identify and manage exceptions.
Related graduate capabilities and elements:
Discipline-specific GCs (Discipline-specific GCs)
Critical Thinking (Critical Thinking)
Quantitative Literacy/ Numeracy (Quantitative Literacy/ Numeracy)
Creative Problem-solving (Creative Problem-solving)
Inquiry/ Research (Inquiry/ Research)

03. Use input and output streams provided in the Java standard library (API) to code programs that manipulate text and binary files

Activities:
Two lectures on using Java classes to read from files and write to files. Two tutorials writing code to read from files and write to files. In the second assignments students develop code to read from files and write to files.
Related graduate capabilities and elements:
Critical Thinking (Critical Thinking)
Discipline-specific GCs (Discipline-specific GCs)
Quantitative Literacy/ Numeracy (Quantitative Literacy/ Numeracy)
Inquiry/ Research (Inquiry/ Research)

04. Explain how recursion works and develop recursive solutions in Java

Activities:
One lecture on recursion; how it works and when to use it. One tutorial writing code for recursive solutions to problems. A short question on the exam requires students to either write a small recursive solution or trace recursive execution.
Related graduate capabilities and elements:
Discipline-specific GCs (Discipline-specific GCs)
Quantitative Literacy/ Numeracy (Quantitative Literacy/ Numeracy)
Creative Problem-solving (Creative Problem-solving)
Critical Thinking (Critical Thinking)

05. Define dynamic data structures and implement the linked list data structure in Java

Activities:
Two lectures on different types of linked lists and the use of dynamic memory allocation to implement lists. Two tutorials with exercises on how linked lists work and implementing linked lists in Java. In the exam students either draw or interpret diagrams of linked lists.
Related graduate capabilities and elements:
Creative Problem-solving (Creative Problem-solving)
Discipline-specific GCs (Discipline-specific GCs)
Critical Thinking (Critical Thinking)

06. Access the Java collections framework in the Java standard library (API) and use the provided generic LinkedList, TreeMap or HashMap classes to solve problems

Activities:
Four lectures on major collections; Linked Lists, Trees and Hash tables. Four tutorials using the appropriate classses fom the Java API to create and manage collections. Students work in small groups analysing, designing, programming and testing a solution for the second assignment. In the second assignment and the exam students choose an appropriate data structure and use it.
Related graduate capabilities and elements:
Teamwork (Teamwork)
Discipline-specific GCs (Discipline-specific GCs)
Inquiry/ Research (Inquiry/ Research)
Creative Problem-solving (Creative Problem-solving)
Critical Thinking (Critical Thinking)

07. Explain the difference between white and black box testing and develop white box test cases

Activities:
Three lectures on software quality assurance including software inspections and testing. Three tutorials on testing, writing tests, and using tools to assist with test code development. In the assignments students develop white box test cases and use them to test their programs and in the exam discuss the types of testing and their advantages and disadvantages.
Related graduate capabilities and elements:
Quantitative Literacy/ Numeracy (Quantitative Literacy/ Numeracy)
Critical Thinking (Critical Thinking)
Discipline-specific GCs (Discipline-specific GCs)

Subject options

Select to view your study options…

Start date between: and    Key dates

Bendigo, 2018, Semester 1, Day

Overview

Online enrolmentYes

Maximum enrolment sizeN/A

Enrolment information

Subject Instance Co-ordinatorTim Whitfort

Class requirements

Computer Laboratory Week: 10 - 22
One 2.0 hours computer laboratory per week on weekdays during the day from week 10 to week 22 and delivered via face-to-face.

Lecture Week: 10 - 22
One 2.0 hours lecture per week on weekdays during the day from week 10 to week 22 and delivered via face-to-face.

Assessments

Assessment elementComments% ILO*
Assignment 1 (1,000-word equivalent)20 01, 02
Assignment 2 (1,000-word equivalent)20 01, 02, 03, 06, 07
One 2.5 hour examination (short answer & programming exercises)Hurdle requirement: To pass the subject, a pass in the examination is mandatory.60 01, 02, 04, 05, 06, 07