SOFT-MAJ - Software Development

Software Development

Description

There is no description for this major

Other Information

  • Programs and Courses

  • Required Courses

    Course CodeCourse NameUnitsSchoolP&C LinkPublic Page
    COMP2100 Software Construction 6 RSCS P+C Public Web
    COMP2130 Software Analysis and Design 6 RSCS P+C Public Web
    COMP2300 Introduction to Computer Systems 6 RSCS P+C Public Web
    COMP2310 Concurrent and Distributed Systems 6 RSCS P+C Public Web
    COMP3100 Software Engineering Group Project 6 RSCS P+C Public Web
    COMP3600 Algorithms 6 RSCS P+C Public Web

    Elective Courses

    Students are required to take 1 of the following courses
    Course CodeCourse NameUnitsSchoolP&C LinkPublic Page
    COMP3300 Operating Systems Implementation 6 RSCS P+C Public Web
    COMP3310 Computer Networks 6 RSCS P+C Public Web
    COMP3610 Principles of Programming Languages 6 RSCS P+C Public Web

    Learning Outcomes to EA Stage 1 Competency Mapping

    No Learning Outcomes have been specified for this major

    Engineers Australia Stage 1 Competency Summary

    1. Knowledge and Skill base

    1.1 Comprehensive, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline. tick
    1.2 Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline. tick
    1.3 In-depth understanding of specialist bodies of knowledge within the engineering discipline. tick
    1.4 Discernment of knowledge development and research directions within the engineering discipline. tick
    1.5 Knowledge of engineering design practice and contextual factors impacting the engineering discipline. tick
    1.6 Understanding of the scope, principles, norms, accountabilities and bounds of sustainable engineering practice in the specific discipline. tick

    2. Engineering Application Ability

    2.1 Application of established engineering methods to complex engineering problem solving. tick
    2.2 Fluent application of engineering techniques, tools and resources. tick
    2.3 Application of systematic engineering synthesis and design processes. tick
    2.4 Application of systematic approaches to the conduct and management of engineering projects. tick

    3. Professional and Personal Attributes

    3.1 Ethical conduct and professional accountability. tick
    3.2 Effective oral and written communication in professional and lay domains. tick
    3.3 Creative, innovative and pro-active demeanour. tick
    3.4 Professional use and management of information. tick
    3.5 Orderly management of self, and professional conduct. tick
    3.6 Effective team membership and team leadership. tick

    Learning Outcomes to EA Stage 1 Competency Mapping

    COMP2100 - Software Construction

    1. Knowledge and Skill base 2. Engineering Application Ability 3. Professional and Personal Attributes

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    2.1

    2.2

    2.3

    2.4

    3.1

    3.2

    3.3

    3.4

    3.5

    3.6

    1Construct and modify small to medium scale computer programs tick tick tick tick tick tick tick tick
    2Compare several forms of abstraction in object-oriented software design and construction: inheritance, design patterns, polymorphism, procedural abstraction, abstract recursive data structures (including abstract syntax trees); and to apply them appropriately in constructing programs. tick tick
    3Use common programming knowledge resources to find, understand, and apply online manuals and tutorials for software tools, programming language components, and software libraries. tick tick
    4Describe the underlying principles of three major aspects of software construction and to apply the appropriate tools: version control, unit testing, automatic build process. tick tick

    COMP2130 - Software Analysis and Design

    1. Knowledge and Skill base 2. Engineering Application Ability 3. Professional and Personal Attributes

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    2.1

    2.2

    2.3

    2.4

    3.1

    3.2

    3.3

    3.4

    3.5

    3.6

    1Explain the activities involved in requirements engineering tick tick tick tick tick tick
    2Describe a range of software quality attributes, explain the relationship between software architecture and software quality attributes, and describe various architectural styles and how they support particular software quality attributes tick tick tick tick tick
    3Explain the role and importance of modelling in software requirements, architecture and design activities tick tick tick tick
    4Demonstrate the practical application of several modeling languages, and make and defend decisions regarding the use of appropriate modelling languages for a given purpose tick tick tick tick tick tick tick tick tick
    5Integrate a set of models to form effective requirements, architecture and design specifications tick tick tick tick tick tick tick tick tick
    6Describe concepts involved in model translation and demonstrate the translation of a simple specification to form an executable program tick tick tick tick tick
    7Explain and analyse emerging model-driven development techniques tick tick tick tick tick tick

    COMP2300 - Introduction to Computer Systems

    1. Knowledge and Skill base 2. Engineering Application Ability 3. Professional and Personal Attributes

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    2.1

    2.2

    2.3

    2.4

    3.1

    3.2

    3.3

    3.4

    3.5

    3.6

    1Describe the layers of architectures in modern computer systems from hardware device levels upwards tick
    2Describe the major components of a modern compute tick
    3Explain how the major components of a CPU work together, including how data is represented on a computer. tick tick
    4Explain the basics of computer memories, and their abstractions on modern computer systems. tick
    5Design, implement and analyse programs at the machine code and assembly language levels, using a relatively simple computer, including the use of virtual I/O and traps. tick tick
    6Construct small programs in the C programming language, and analyse their behavior. tick tick
    7Describe the relationship between high-level procedural languages and assembly/machine language in the conventional machine layer, including how a compiled program is executed on a modern computer. tick tick
    8Possess a skills and knowledge base upon which compiler, network and operating systems implementation studies can be built. tick tick

    COMP2310 - Concurrent and Distributed Systems

    1. Knowledge and Skill base 2. Engineering Application Ability 3. Professional and Personal Attributes

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    2.1

    2.2

    2.3

    2.4

    3.1

    3.2

    3.3

    3.4

    3.5

    3.6

    1Describe the concepts involved in the construction of concurrent and distributed systems tick tick tick tick tick tick
    2"Speak the language" of concurrent modelling, design and programming tick tick tick tick tick tick
    3Select appropriate modelling techniques and mechanisms and apply them to the solution of problems in concurrent and distributed systems. tick tick tick tick tick tick
    4Select the appropriate programming language and environment for the task at hand. tick tick tick tick
    5Select the appropriate programming language and environment for the task at hand. tick tick tick tick
    6Analyse and debug small to medium scale concurrent programs. tick tick tick tick

    COMP3100 - Software Engineering Group Project

    1. Knowledge and Skill base 2. Engineering Application Ability 3. Professional and Personal Attributes

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    2.1

    2.2

    2.3

    2.4

    3.1

    3.2

    3.3

    3.4

    3.5

    3.6

    1Work as an effective member of a team to implement a software based solution that delivers measurable value to an industry or university client. tick tick tick tick tick tick tick tick tick
    2Develop life-long learning through reflection, as demonstrated through continual reflection on the software development lifecycle and team work processes experienced throughout the year. tick tick tick
    3Exhibit an awareness of team formation strategies and stages leading to the development of high performing, self-managing teams; sound meeting practice; and how personality traits can impact upon team performance and how to use individual traits to achieve the most from team work. tick tick tick
    4Make and defend sound engineering decisions. tick tick tick tick
    5Communicate effectively, orally and in writing, with peers, supervisors and commercial clients/stakeholders. tick tick tick tick
    6Creatively identify and implement a solution to a complex problem that exists within the domain of ICT. tick tick tick tick
    7Participate effectively in project and artefact reviews with peers, supervisors and clients/stakeholders. tick tick tick tick
    8Explain the role and importance of project management, configuration and risk management processes when undertaking a software development project. Demonstrate experience in undertaking the activities associated with these. tick tick
    9Explain and understand the importance of the different stages of, and activities associated with each, the software development lifecycle (SDLC). Demonstrate experience in all stages of the SDLC. tick tick tick
    10Explain the role and importance of standards in software development. Demonstrate experience in tailoring those standards approriately according to the project they are currently undertaking. tick tick
    11Participate in a group presentation, including a demonstration, to an audience of peers, clients and supervisors. tick tick tick tick

    COMP3600 - Algorithms

    1. Knowledge and Skill base 2. Engineering Application Ability 3. Professional and Personal Attributes

    1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    2.1

    2.2

    2.3

    2.4

    3.1

    3.2

    3.3

    3.4

    3.5

    3.6

    1Have a thorough understanding of a variety of algorithms, including linear selection, minimum spanning trees, single source shortest path, Huffman coding, etc, with real-life applications and the resource requirements tick tick tick tick tick tick tick tick
    2Be able to apply the algorithmic techniques including dynamimc programming, greedy policy, and divide-and-conquer, to solve some practical problems. tick tick tick tick tick
    3Be able to analyze time and space complexities of algorithms tick tick tick
    4Have some experience in the design and implementation of algorithms for practical problems, using languages like C, C++ tick tick tick
    5Have a thorough understanding of a variety of data structures used in algorithms, such as hash tables, heaps, binary search trees, red black trees, and disjoint sets. tick tick

    Updated:  28 Jul 2017/ Responsible Officer:  Head of School/ Page Contact:  Lecturer Name