MIT9312 Advanced Programming Applications
Unit Code
MIT9312
Level
Postgraduate
Campus
Sydney
Prerequisites
None
Credit Points
10
Subject Description
MIT9312 Advanced Programming Applications aims at equipping students with the knowledge of complex programming techniques and design patterns required to effectively develop high-performance and scalable software solutions. Students explore advanced programming language features and optimisation strategies to design and improve the efficiency of their code. Through a combination of lectures, tutorials, and practical assignments, students will gain a deeper understanding of design patterns, algorithms, software architecture, and best practices for building robust and scalable software systems. Additionally, the subject incorporates elements of concurrent and parallel programming.
Course Level
Level 2
Subject Type
☒ Elective (MIT)
Study Mode: Face to face on site
Study Load: Full-time
Learning Topics
- Advanced Python programming and code optimisation
- Benchmarking, profiling, testing and performance analysis
- Software design patterns and scalable application design
- Scientific data processing with NumPy and Pandas
- Concurrency, parallel processing and Python-C integration
Subject Learning Outcomes
- Compare and evaluate the suitability of different advanced programming paradigms and frameworks for specific types of applications.
- Design software solutions using advanced programming concepts and paradigms for requirements of varying degrees of complexity including concurrency.
- Apply advanced programming frameworks and techniques to implement effective small to medium software solutions of varying complexity.
- Identify and implement appropriate strategies to design, develop, test and debug advanced programming applications.
Assessment
AIIHE uses a variety of assessment tools to guide and assess each student’s achievement of the subject learning outcomes. In this subject, students undertake workshop activities this assessment is designed to bring theoretical concepts into hands-on activities, and to enhance students’ understanding of advanced programming techniques such as patterns, concurrency and parallel programming through portfolios that gradually allow the student to build an incremental knowledge of the subject topics, individual (in-class test) software design pattern students are given a complex software problem or scenario and are required to create a solution using various design patterns, and individual report and presentation performance evaluation and optimisation project and presentation (individual). These tasks assess the knowledge, applied skills, critical analysis, communication and collaborative capabilities relevant to the subject.
Summary of Assessment
- Students must attempt all assessment tasks, and achieve an overall mark of at least 50%, to pass this subject.
- Assessment in this subject is consistent with and informed by the AIIHE Assessment Policy and Procedure.
| Assessment Type | Due Date | Weighting |
|---|---|---|
| Assessment 1: Workshop Activities | Weeks 2 to 12 | 30% |
| Assessment 2: Individual (In-Class test) Software Design Pattern | Week 8 | 30% |
| Assessment 3: Individual Report and Presentation Performance Evaluation and Optimisation Project and Presentation (Individual) | Week 11, 13 | 40% |
Learning Resources
AIIHE will update the topic coverage of the subject and the available relevant learning resources at the time of subject delivery. In the interim, AIIHE provides the following indicative list of relevant reference material. AIIHE also subscribes to eLearning Resources through the Canvas portal, and where relevant material is available, AIIHE will seek to source reference material from this system for staff and student access.
Prescribed Reading
- Nguyen, Q. (2022). Advanced Python Programming, 2nd edn., Packt Publishing.
Texts and References
- Jaworski, M., Ziadé, T. (2021), Expert Python Programming, 4th edn., Packt Publishing.
Recommended Reading
- Breshears, C. (2022). The Art of Concurrency, O'Reilly Media, Inc. ISBN: 9780596521530.
- Bruce, M., Pereira, P.A. (2018). Microservices in Action, Manning Publications. ISBN: 9781617294457