Software Design and Construction is available as a postgraduate-level subject offered by the International College of Management, Sydney (ICMS). Please click the button below to find a postgraduate course suitable for you.
ICT701A
Core
700
4 credit points
Software technologies are rapidly evolving to serve the ever-changing needs of individuals, organisations, and governments across many business domains. They make our lives easier and more accessible than ever. It is evident that the advancements in the digital landscape are tectonic and software solutions are at the centre of their realisation in various emerging areas that solve real-world problems such as artificial intelligence, cybersecurity, big data analytics, internet of things, quantum computing, and human augmentation.
This subject equips students with the key concepts and practices of contemporary software design and development. Throughout this subject, students will survey the principles, models, and methods of the object-oriented programming (OOP) paradigm by adopting the Python philosophy and built-in functions.
In this subject, students will deep-dive into the Python ecosystem and execute its popular modules, packages, libraries, and tools, developing a practical understanding of their application on OOP constructs. They will apply the Object-Oriented Analysis and Design (OOAD) approach incorporating object-oriented modelling techniques, design patterns, and testing in a Python environment.
Upon the completion of this subject, students will be ready to take the PCEP™ (Certified Entry-Level Python Programmer) and PCAP™ (Certified Associate in Python Programming) certification exams with Python Institute
a) Apply principles of structured and object-oriented programming paradigms via accurately utilising a programming language, including its inherent syntax, semantics, and constructs.
b) Construct a software blueprint using object-oriented design approaches and abstract modelling.
c) Implement object-oriented design principles to execution via adopting an OOP philosophy, language, and practices in a modern IDE environment.
d) Critically analyse a business context and build a functioning software solution to meet objectives, applying software design and development tools and techniques.
e) Apply testing methods and code reviews to software programs to avoid coding errors, handle program flow control, and ensure readable coding.
Learning outcomes for this subject are assessed using a range of assessment tasks as described in the table below.
No | Assessment task | Weighting | Subject learning outcomes to be assessed |
1 | Skills Application/ Practical | 20% | a, b, c, e |
2 | Small Scale Python Program | 25% | a, d, e |
3 | Software Solution: Phase 1 – Object Oriented Design | 20% | b, c, d |
4 | Software Solution: Phase 2 – Object-Oriented Programming | 35% | a, b, c, d e |
Topic: |
Week 1 – 2: Python Language and Environment
|
Week 3 – 4: Python Statements with Data Structures
|
Week 5 – 6: Python Functions and Generators with Data Structures
|
Week 7: Object-Oriented Design and Programming
|
Week 8 – 10: Object-Oriented Design and Programming with Python
|
Week 11: Testing OO Programs
|
Please note that these topics are often refined and subject to change so for up to date weekly topics and suggested reading resources, please refer to the Moodle subject page.