Year
2021Credit points
10Campus offering
No unit offerings are currently available for this unit.Prerequisites
ITEC217 Programming Concepts orISYS217 Programming Concepts
Incompatible
ISYS313 Object Oriented Programming
Teaching organisation
4 hours per week for twelve weeks or equivalent.Unit rationale, description and aim
This is an intermediate level programming unit that prepares students for developing specialised applications by teaching them key programming theories including data structures and algorithms. It is built on the fundamental programming concepts students have gained from the Programming Concepts unit to teach students more advanced programming concepts. It covers event-driven programming, graphical user interface, multimedia, file input/output, data structures, and algorithms. It aims to equip students with the skills needed to solve programming problems of moderate complexity, such as applications that provide an interface to real-world data. It also teaches students effective use of computing resources such as CPU cycles, file input/output, and memory usage through data structures and algorithms, which contributes to stewardship of natural and computing resources by saving energy consumption by computers.
Learning outcomes
To successfully complete this unit you will be able to demonstrate you have achieved the learning outcomes (LO) detailed in the below table.
Each outcome is informed by a number of graduate capabilities (GC) to ensure your work in this, and every unit, is part of a larger goal of graduating from ACU with the attributes of insight, empathy, imagination and impact.
Explore the graduate capabilities.
On successful completion of this unit, students should be able to:
LO1 - Demonstrate high-level working knowledge and understanding of advanced programming concepts and apply them to solve real world problems (GA4, GA5)
LO2 - Apply the current practices of developing interactive applications that exhibit effective and efficient user interfaces with appropriate tools (GA5, GA10)
LO3 - Evaluate the consequences of key design decisions on program performance and user experience (GA5, GA8)
LO4 - Critically evaluate data structures and algorithms relevant to a particular problem and choose appropriate ones for the stewardship of computing resources (GA2, GA5)
Graduate attributes
GA2 - recognise their responsibility to the common good, the environment and society
GA4 - think critically and reflectively
GA5 - demonstrate values, knowledge, skills and attitudes appropriate to the discipline and/or profession
GA8 - locate, organise, analyse, synthesise and evaluate information
GA10 - utilise information and communication and other relevant technologies effectively
Content
Topics covered:
- Java Event Model
- Java GUI programming
- Java Multimedia
- Text and binary I/O
- Recursion
- Generics
- Data structures
- Sorting and search algorithms
- Stewardship of computing resources through appropriate use of data structures and algorithms
Learning and teaching strategy and rationale
This unit is offered in different modes. These are: “Attendance” mode, “Blended” mode and “Online” mode. This unit is offered in three modes to cater for the learning needs and preferences of a range of participants and maximise effective participation for isolated and/or marginalised groups.
Attendance Mode
In a weekly attendance mode, students will require face-to-face attendance in specific physical location/s. Students will have face-to-face interactions with lecturer(s) or lab demonstrators to further their achievement of the learning outcomes. This unit is structured with required upfront preparation before workshops, most students report that they spend an average of one hour preparing before the workshop and one or more hours after the workshop practicing and revising what was covered. The online learning platforms used in this unit provide multiple forms of preparatory and practice opportunities for you to prepare and revise.
Blended Mode
In a blended mode, students will require face-to-face attendance in blocks of time determined by the School. Students will have face-to-face interactions with lecturer(s) to further their achievement of the learning outcomes. This unit is structured with required upfront preparation before workshops. The online learning platforms used in this unit provide multiple forms of preparatory and practice opportunities for you to prepare and revise.
Online Mode
This unit uses an active learning approach to support students in the exploration of the essential knowledge associated with working with technology. Students can explore the essential knowledge underpinning technological advances and develop knowledge in a series of online interactive lessons and modules. Students are given the opportunity to attend facilitated synchronous online seminar classes with other students and participate in the construction and synthesis of knowledge, while developing their knowledge of working with technology. Students are required to participate in a series of online interactive workshops which include activities, knowledge checks, discussion and interactive sessions. This approach allows flexibility for students and facilitates learning and participation for students with a preference for virtual learning.
Assessment strategy and rationale
The first assessment item is based on completing weekly lab practicals. The purpose of this cumulative lab/attendance assessment task is to identify any problems students may be having with the course material and assist them to overcome these problems and improve learning outcomes for the unit overall. The second assessment item is a larger program design report that assesses students’ design and development skills. The final assessment is a programming assignment that assesses students’ understanding and knowledge on application development.
In order to pass this unit, students are required to:
1. achieve an overall mark of at least 50%, and
2. attempt all three assessment tasks.
The assessment tasks for this unit are designed for students to demonstrate their achievement of each learning outcome. All assessment will be marked in accordance with pre-determined rubric and/or marking guide.
Overview of assessments
Brief Description of Kind and Purpose of Assessment Tasks | Weighting | Learning Outcomes | Graduate Attributes |
---|---|---|---|
Assessment 1: Cumulative lab assessment These lab practical tasks cover JAVA GUI and data structures and algorithms. For GUI, it involves creating a suitable user interface with labels, text field and buttons, for uploading an image from the local machine and displaying it in the panel. Assessment will be based on functionality and code structure, such as appropriate indentation style, meaningful variable names. Submission Type: Individual Assessment Method: In-class cumulative assessment Artefact: Functionality demonstration | 30% | LO2, LO4 | GA2, GA5, GA10 |
Assessment 2: Design Report for a number filtering program with GUI This assessment task consists of a 1000-word design report highlighting how JavaFX architecture can be used to develop a GUI for a Fibonacci number sequence filtering program. The assessment is designed to assess students’ ability to apply their knowledge and application skills of an industry standard framework for developing a search function application. Submission Type: Individual Assessment Method: Program design document Artefact: Written report | 40% | LO3 | GA5, GA8 |
Assessment 3: Programming Assignment For assessment 3, students have to submit a working JavaFX GUI for a Fibonacci number sequence filtering program. The aim of this assessment is to enable students to undertake a realistic application development. Students’ ability to design and develop a realistic solution will be assessed in this assessment task. Submission Type: Individual Assessment Method: Programming task Artefact: Programming code | 30% | LO1 | GA4, GA5 |
Representative texts and references
Y. Daniel Liang 2018, Introduction to Java Programming and Data Structures, 11th edn, Pearson Education.
C. S. Horstmann 2019, Core Java, Volume II--Advanced Features, 11th edn, Pearson Education.
H. Schildt 2019, Java: The Complete Reference, 11th edn, McGraw Hill.