cse3bds business data structures
BUSINESS DATA STRUCTURES
CSE3BDS
2017
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
Learning resources
Readings
Resource Type | Title | Resource Requirement | Author and Year | Publisher |
---|---|---|---|---|
Readings | Data Structures Using Java | Prescribed | Malik | THOMAS NELSON AUST., 3RD EDN. |
Readings | Schaum's Outline of Data Structures | Recommended | Hubbard | MCGRAW 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…
Bendigo, 2017, Semester 1, Day
Overview
Online enrolmentYes
Maximum enrolment sizeN/A
Enrolment information
Subject Instance Co-ordinatorTim Whitfort
Class requirements
Computer LaboratoryWeek: 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.
LectureWeek: 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 element | Comments | % | 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 |