Software Development

Queensland University of Technology

Course Description

  • Course Name

    Software Development

  • Host University

    Queensland University of Technology

  • Location

    Brisbane, Australia

  • Area of Study

    Computer Engineering, Engineering Science, Systems Engineering

  • Language Level

    Taught In English

  • Prerequisites

    CAB201 or INB270

  • Course Level Recommendations

    Upper

    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • Credit Points

    12
  • Recommended U.S. Semester Credits
    3 - 4
  • Recommended U.S. Quarter Units
    4 - 6
  • Overview

    Synopsis:
    This unit teaches you how to advance your skills from 'programming-in-the-small' to 'programming-in-the-large' through the application of a sound software development process and appropriate tools and techniques for development and maintenance of large-scale, long-lived software. Software Development introduces you to the processes and practical techniques of professional application development, providing a foundation for you to work productively as part of a professional team in the workplace. Software Development uses large-scale projects to introduce you to a modern software development process and the technologies that support its effective and efficient application in industry. Motivated via a modern agile development process, you will be introduced to principles such as unit testing, test driven development (TDD), version control and build management, using an industrial-strength programming language and development tools widely used in industry. The unit also introduces advanced aspects of object oriented programming relevant to large-scale program development and maintenance, and gives you practice in working with important Application Programming Interfaces (APIs) for data access and presentation. Some aspects of large-scale program design are also introduced through concepts such as programming patterns and refactoring.
    Learning Outcomes
    Upon completion of this unit you will provide evidence that you can:
    1. Design solutions to technical problems using the techniques of abstraction and data representation, and develop technical solutions appropriate to the problem.
    2. Take personal responsibility for a professional task and manage it successfully to completion.
    3. Collect, analyse and document system requirements and identify innovative technical solutions to address these requirements.
    4. Use abstraction and object-orientated design techniques to manage complexity in more advanced technical systems, and to complete the task to a professional standard.
    5. Analyse and assess modeling choices, levels of abstraction and technical designs and refine as needed in support of a technical objective.
    6. Use written communication to persuade peers and others of the appropriateness of technical choices and designs.
    Content
    Software Development provides an introduction to professional development processes and commonly used tools, together with some of the more advanced features of a modern, industrial-strength object-orientated programming language. The topics and tools typically presented include: agile development processes, use of a modern Interactive Development Environment, object-orientated concepts relevant to long-term software maintenance (such as inheritance and polymorphism), unit testing, Test Driven Development, design patterns and refactoring, version and source control, and advanced APIs (such as those needed for creating Graphical User Interfaces).
    Approaches to Teaching and Learning
    This unit is mainly practical and artefact-driven, with a strong emphasis on developing practical skills. It adopts a blended learning approach based on a single two hour lecture and two hour practical classes each week, reinforced by peer, lecturer and tutor interactions via Facebook and Blackboard. Given the practical focus of the unit, in class material is frequently supplemented by readings and discussions from the development community.

Course Disclaimer

Courses and course hours of instruction are subject to change.

Eligibility for courses may be subject to a placement exam and/or pre-requisites.

Some courses may require additional fees.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.