ITEC618 Programming Concepts
150 hours over a twelve-week semester or equivalent study period
Unit rationale, description and aim
This unit is built on the fundamental programming concepts students have gained from the introductory programming concepts unit to teach students more advanced programming concepts. It covers event-driven programming, graphical user interface, file input/output, generics, 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.
On successful completion of this unit, students should be able to:
LO1 - Demonstrate high-level working knowledge and understanding of advanced programming concepts through consistent problem solving and program implementation (GA5, GA10)
LO2 - Develop application programs with correct and appropriate user interface, program I/O and generics, and data structure and algorithm (GA5, GA8)
LO3 - Design and implement applications that exhibit effective user interface and efficient functional components (GA4, GA5)
LO4 - Critically evaluate data structures and algorithms relevant to a particular problem and choose appropriate ones for the stewardship of computing resources (GA2, GA5)
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.
- Java OOP
- Java Event Model
- Java GUI programming
- Text and binary I/O
- Data structures
- Developing efficient algorithms
- Sorting algorithms
- Stewardship of computing resources through appropriate use of data structures and algorithms
Learning and teaching strategy and rationale
LEARNING AND TEACHING STRATEGY AND RATIONALE
This unit is offered in different modes to cater for the learning needs and preferences of a range of participants and maximise effective participation for isolated and/or marginalised groups.
In a weekly attendance mode, students will require face-to-face attendance in specific physical or online location/s. Students will have face-to-face interactions with lecturer(s) or tutors 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.
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.
Students should anticipate undertaking 150 hours of study for this unit, including class attendance, readings, online forum participation and assessment preparation.
This unit uses an active learning approach to support students in the exploration of knowledge essential to the discipline. Students are provided with choice and variety in how they learn. Students are encouraged to contribute to asynchronous weekly discussions. Active learning opportunities provide students with opportunities to practice and apply their learning in situations similar to their future professions. Activities encourage students to bring their own examples to demonstrate understanding, application and engage constructively with their peers. Students receive regular and timely feedback on their learning, which includes information on their progress.
Assessment strategy and rationale
A range of assessment procedures will be used to meet the unit learning outcomes and develop graduate attributes consistent with University assessment requirements.
The first assessment item is a regular advanced programming-based exercise that consists of programming environment setup, quiz and practical problem solving. The second and the final programming case study assessment will consist of one or several small to medium advanced programming case studies. Students will design and implement applications exhibiting effective user interfaces and/or efficient functional components that contribute to the stewardship of computing resources.
The assessments for this unit are designed to demonstrate the achievement of each learning outcome. To pass this unit, students are required to achieve an overall mark of at least 50%
Overview of assessments
|Brief Description of Kind and Purpose of Assessment Tasks||Weighting||Learning Outcomes||Graduate Attributes|
Assessment Task 1: Advanced programming studio
The first assessment is a regular advanced programming-based exercise which consists of programming environment setup, quiz and practical problem solving. It will assess on the understanding and application of advanced programming concepts including Java GUI, program I/O and generics and data structure and algorithm.
Submission Type: Individual
Assessment Method: Cumulative assessment
Artefact: questions answers and documented code
GA5, GA8, GA10
Assessment Task 2: Advanced programming case study
The second assessment will consist of one or several small to medium advanced programming case studies. Student will design and implement applications that exhibit effective user interfaces and efficient functional components that contribute to the stewardship of computing resources. The aim of this assessment is to enable students to undertake a realistic application development process.
Submission Type: Individual
Assessment Method: Programming and problem solving
Artefact: Case study documentation and code
GA2, GA4, GA5
Representative texts and references
Liang, Y. Daniel 2018, Introduction to Java Programming and Data Structures, 11th edn, Pearson Education.
Horstmann, C. S. 2019, Core Java, Volume II--Advanced Features, 11th edn, Pearson Education.
Schildt, H. 2019, Java: The Complete Reference, 11th edn, McGraw Hill.