IAB207 Rapid Web Application Development
To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.
Unit code: | IAB207 |
---|---|
Prerequisite(s): | (IFB103 or ITD103) and (IFB105 or ITD105 or IFB130) |
Credit points: | 12 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $1,164 |
Domestic tuition unit fee | $4,356 |
International unit fee | $5,172 |
Unit Outline: Semester 1 2025, Gardens Point, Internal
Unit code: | IAB207 |
---|---|
Credit points: | 12 |
Pre-requisite: | (IFB103 or ITD103) and (IFB105 or ITD105 or IFB130) |
Coordinator: | Jason Watson | ja.watson@qut.edu.au |
Overview
Web applications are widely in use both within enterprises and in consumer applications. Developing Web applications faces significant challenges, including faster delivery of new innovations, robustness for change, and performance scalability. The unit will address these challenges by using Model-View-Controller (MVC) frameworks to support rapid development of web applications. The knowledge and skills developed in this unit are valuable for all IT professional roles – software engineers, business analyst and architects, enabling an understanding of software systems design practices and development practices. This is an introductory unit and students will be exposed to web application development through a guided process of using well known frameworks such as CSS-Bootstrap, Python-Flask and JQuery. It builds on concepts learnt in IFB103 and IFB105 and recommends knowledge of Python programming.
Learning Outcomes
On successful completion of this unit you will be able to:
- Analyse client requirements and design a web application in preparation for the software development process.
- Apply existing frameworks to implement model, view and controller aspects of web applications.
- Develop and deploy program code of web applications using both a programming language and platform tools.
- Evaluate the use of web applications in relation to different computer systems (hardware, software and networks).
- Collaborate and work effectively in a team environment, applying high performing team concepts, to produce quality deliverables for a client within agreed timelines.
- Develop project artefacts using agile methodology relevant to a software development context
Content
Students will be exposed to Web application development through a guided process that covers the following: key parts of a Web application; programming in Python; MVC tools used in conjunction with Python programming, drawn from Python frameworks such as Flask; managing a development plan that includes requirements and bug-fixing lists; working collaboratively in a team that contributes to all aspects of development; presenting solutions as well as the development steps, challenges and learnings involved.
An exposure of the key parts of a Web application will allow students to appreciate its logical structure, along the lines of presentation (Web pages), application logic (software components), and database layers. Students will learn about the specific functionality of the different layers and their parts, and how these contribute to the software architecture of a Web application (aligning these learnings with IFB103 where students learn to use UML and FMC modelling techniques to design software systems). Students will design a Web application, captured through a software architecture, based on given solution requirements and scenarios. They will use the software architecture to create development plans and communicate the progress and final solution of the Web application.
Students will be exposed to the Python programming language and specific parts of it that assist in developing a Web application. This will involve learning the dedicated concepts and constructs of Python used to develop software for presentation, application logic and database layers. Programming for the presentation layer is linked to Web pages and their data processing needs, e.g. data display on Web pages and detecting user actions. The application logic layer involves developing software components (Python Modules), sitting between the presentation and database layers, to process user requests, retrieve or update data, call external systems, make calculations and process responses for display. The database layer involves managing database access through its data objects in support of requests for retrieving and updating data. Students will be provided with an instruction-based approach through the unit's exercises and an assignment which provides them with partial solutions together detailed steps for completing these.
In conjunction with Python programming, students will be exposed to MVC tools and their capabilities which assist in the design and development of Web application artefacts. These include Web pages and widgets, database models (object models) and database generation scripts, and libraries that assist in low-level tasks such as data computation functions and external systems communication. As part of this student will learn how to use code-generation capabilities of an MVC platform based in support of developer productivity. Students will learn to develop, test and Cloud-deploy applications using the MVC platform.
The unit's exercises will feature 'pair programming' groups (two students) and larger groups (four students) for assignments. It will expose students to team learning, collaboration and managing development tasks through plans. Students will be asked to analyse the work of others in a team, provide constructive feedback, review development progress, consider options for overcoming issues and obstacles, work to individual tasks and integrate results, and progressively present Web applications during the development process. Through this, students will acquire the skills and knowledge required to participate as individuals and as effective team members, learning how to engage and critically reflect upon software development learning and performance.
Learning Approaches
This unit is available for you to study in either on-campus or online mode. Learning in this unit includes weekly pre-recorded lectures, online activities, workshops and a unit communications channel, designed to facilitate communication with your peers and teaching staff outside of scheduled classes. You can expect to spend 10 hours per week involved in preparing for and attending all scheduled workshops, completing assessment tasks, and undertaking your own independent study to consolidate your learning.
The pre-recorded lectures and online activities in the initial weeks lay the foundations of your Web application foundations and Python programming, and later pre-recorded lectures extend the knowledge for Web application development focussed on targeting development of different parts for producing desired solutions. Students will be guided through each phase of the design and development process.
Learning in this unit is predominantly through participation in the workshops in the either on-campus or online collaborative learning spaces and via the unit communication channel. The workshops are activity based and involve collaboration with peers to support Web application design, programming and team management tasks (inquiry-based learning) and develop skills in each phase of the development process. The workshops build directly on the stimulus material presented in the pre-recorded lectures, detailed instructions for learning about programming and Web application development. They are designed to support class instruction, group work, and class reflection.
In tandem with your development focus, students will practise the techniques required to develop planning, communication, reflection and teamwork skills. This learning is facilitated by communicating software architecture and solution-focussed scenarios, online development plans, and progressive outputs of Web applications, keeping a design logbook and undertaking a critique of another team's design concept. All of these elements are assessed progressively throughout the unit offering students multiple opportunities to demonstrate progress and receive feedback on learning.
Feedback on Learning and Assessment
Feedback in this unit is provided to you in the following ways:
- Ongoing peer and learning facilitator feedback on design activities in workshops.
- Written comments on summative assessment work with graded criteria sheets.
- Formative critique from peers on presentation technique and design concept.
Feedback will be received on assessment tasks prior to the submission of the next task.
Consultation time are available to clarify the contents of the assignment and to provide constructive feedback and you may ask teaching staff for advice and assistance during lectures and workshop sessions.
Assessment
Overview
The assessment in this unit has been designed so that students develop an understanding of different aspects of developing Web applications. Students will develop the skills to work collaboratively and present confidently demonstrating effective written and visual communication. They will also develop the skills to engage in reflective practice.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Web Application Design
Students will develop a Web application design in support of solution requirements, high-level scenarios and insights drawn from existing Web applications used in the real-world. The design will focus on a software architecture covering presentation, application logic and database components envisaged for the Web application. Given the user-centred focus of Web applications, the design will also require proposals for key Web pages, covering the envisaged, presentation widgets and forms navigation.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Prototype
Students will develop a prototype of a Web application in support of the solution requirements and design (from Assessment 1). This will involve the implementation of forms, databases and main software modules, such that the end-to-end support of the design can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Students will be required to demonstrate the prototype by showing how data is entered and results are returned. They will also be required to demonstrate key artefacts such as the database models, forms templates and APIs of external systems used. The prototype will not be required to have all aspects of processing to be in place, e.g. validation of data entered in fields.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Solution
Students will work in groups to develop the final solution of the Web application in support of the solution requirements and design (from Assessment 1) and prototype (from Assessment 2). This will involve the full implementation of forms, databases, software modules, and APIs, such that the detailed systems functionality can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Extending upon the prototype, all parts of forms navigation, data processing, external systems invocation and database access should be implemented.
Marks will be split for the team, covering the Web application prototype content, development plan and presentation, and for individuals based on effective contribution to the final solution.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
There is no prescribed textbook and most tasks are set around freely available university modules and resources and will be made available through the unit's Canvas site. Appropriate references will be made available on Canvas as well as relevant links.
Risk Assessment Statement
All commencing SEF students are required to complete the Mandatory Safety Induction
There are no extraordinary risks associated with the classroom/lecture activities in this unit.
Standards/Competencies
This unit is designed to support your development of the following standards\competencies.
Australian Computer Society Core Body of Knowledge
3: Technology Resources
4: Technology Building
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IN01 Bachelor of Information Technology
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Employ appropriate IT Methods
Relates to: ULO1, ULO2 - Critically apply design and problem solving skills
Relates to: ULO3 - Work independently and within effective teams
Relates to: ULO5 - Purposefully appraise personal values, attitudes and performance in your continuing professional development
Relates to: ULO4
Unit Outline: Semester 1 2025, Online
Unit code: | IAB207 |
---|---|
Credit points: | 12 |
Pre-requisite: | (IFB103 or ITD103) and (IFB105 or ITD105 or IFB130) |
Overview
Web applications are widely in use both within enterprises and in consumer applications. Developing Web applications faces significant challenges, including faster delivery of new innovations, robustness for change, and performance scalability. The unit will address these challenges by using Model-View-Controller (MVC) frameworks to support rapid development of web applications. The knowledge and skills developed in this unit are valuable for all IT professional roles – software engineers, business analyst and architects, enabling an understanding of software systems design practices and development practices. This is an introductory unit and students will be exposed to web application development through a guided process of using well known frameworks such as CSS-Bootstrap, Python-Flask and JQuery. It builds on concepts learnt in IFB103 and IFB105 and recommends knowledge of Python programming.
Learning Outcomes
On successful completion of this unit you will be able to:
- Analyse client requirements and design a web application in preparation for the software development process.
- Apply existing frameworks to implement model, view and controller aspects of web applications.
- Develop and deploy program code of web applications using both a programming language and platform tools.
- Evaluate the use of web applications in relation to different computer systems (hardware, software and networks).
- Collaborate and work effectively in a team environment, applying high performing team concepts, to produce quality deliverables for a client within agreed timelines.
- Develop project artefacts using agile methodology relevant to a software development context
Content
Students will be exposed to Web application development through a guided process that covers the following: key parts of a Web application; programming in Python; MVC tools used in conjunction with Python programming, drawn from Python frameworks such as Flask; managing a development plan that includes requirements and bug-fixing lists; working collaboratively in a team that contributes to all aspects of development; presenting solutions as well as the development steps, challenges and learnings involved.
An exposure of the key parts of a Web application will allow students to appreciate its logical structure, along the lines of presentation (Web pages), application logic (software components), and database layers. Students will learn about the specific functionality of the different layers and their parts, and how these contribute to the software architecture of a Web application (aligning these learnings with IFB103 where students learn to use UML and FMC modelling techniques to design software systems). Students will design a Web application, captured through a software architecture, based on given solution requirements and scenarios. They will use the software architecture to create development plans and communicate the progress and final solution of the Web application.
Students will be exposed to the Python programming language and specific parts of it that assist in developing a Web application. This will involve learning the dedicated concepts and constructs of Python used to develop software for presentation, application logic and database layers. Programming for the presentation layer is linked to Web pages and their data processing needs, e.g. data display on Web pages and detecting user actions. The application logic layer involves developing software components (Python Modules), sitting between the presentation and database layers, to process user requests, retrieve or update data, call external systems, make calculations and process responses for display. The database layer involves managing database access through its data objects in support of requests for retrieving and updating data. Students will be provided with an instruction-based approach through the unit's exercises and an assignment which provides them with partial solutions together detailed steps for completing these.
In conjunction with Python programming, students will be exposed to MVC tools and their capabilities which assist in the design and development of Web application artefacts. These include Web pages and widgets, database models (object models) and database generation scripts, and libraries that assist in low-level tasks such as data computation functions and external systems communication. As part of this student will learn how to use code-generation capabilities of an MVC platform based in support of developer productivity. Students will learn to develop, test and Cloud-deploy applications using the MVC platform.
The unit's exercises will feature 'pair programming' groups (two students) and larger groups (four students) for assignments. It will expose students to team learning, collaboration and managing development tasks through plans. Students will be asked to analyse the work of others in a team, provide constructive feedback, review development progress, consider options for overcoming issues and obstacles, work to individual tasks and integrate results, and progressively present Web applications during the development process. Through this, students will acquire the skills and knowledge required to participate as individuals and as effective team members, learning how to engage and critically reflect upon software development learning and performance.
Learning Approaches
This unit is available for you to study in either on-campus or online mode. Learning in this unit includes weekly pre-recorded lectures, online activities, workshops and a unit communications channel, designed to facilitate communication with your peers and teaching staff outside of scheduled classes. You can expect to spend 10 hours per week involved in preparing for and attending all scheduled workshops, completing assessment tasks, and undertaking your own independent study to consolidate your learning.
The pre-recorded lectures and online activities in the initial weeks lay the foundations of your Web application foundations and Python programming, and later pre-recorded lectures extend the knowledge for Web application development focussed on targeting development of different parts for producing desired solutions. Students will be guided through each phase of the design and development process.
Learning in this unit is predominantly through participation in the workshops in the either on-campus or online collaborative learning spaces and via the unit communication channel. The workshops are activity based and involve collaboration with peers to support Web application design, programming and team management tasks (inquiry-based learning) and develop skills in each phase of the development process. The workshops build directly on the stimulus material presented in the pre-recorded lectures, detailed instructions for learning about programming and Web application development. They are designed to support class instruction, group work, and class reflection.
In tandem with your development focus, students will practise the techniques required to develop planning, communication, reflection and teamwork skills. This learning is facilitated by communicating software architecture and solution-focussed scenarios, online development plans, and progressive outputs of Web applications, keeping a design logbook and undertaking a critique of another team's design concept. All of these elements are assessed progressively throughout the unit offering students multiple opportunities to demonstrate progress and receive feedback on learning.
Feedback on Learning and Assessment
Feedback in this unit is provided to you in the following ways:
- Ongoing peer and learning facilitator feedback on design activities in workshops.
- Written comments on summative assessment work with graded criteria sheets.
- Formative critique from peers on presentation technique and design concept.
Feedback will be received on assessment tasks prior to the submission of the next task.
Consultation time are available to clarify the contents of the assignment and to provide constructive feedback and you may ask teaching staff for advice and assistance during lectures and workshop sessions.
Assessment
Overview
The assessment in this unit has been designed so that students develop an understanding of different aspects of developing Web applications. Students will develop the skills to work collaboratively and present confidently demonstrating effective written and visual communication. They will also develop the skills to engage in reflective practice.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Web Application Design
Students will develop a Web application design in support of solution requirements, high-level scenarios and insights drawn from existing Web applications used in the real-world. The design will focus on a software architecture covering presentation, application logic and database components envisaged for the Web application. Given the user-centred focus of Web applications, the design will also require proposals for key Web pages, covering the envisaged, presentation widgets and forms navigation.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Prototype
Students will develop a prototype of a Web application in support of the solution requirements and design (from Assessment 1). This will involve the implementation of forms, databases and main software modules, such that the end-to-end support of the design can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Students will be required to demonstrate the prototype by showing how data is entered and results are returned. They will also be required to demonstrate key artefacts such as the database models, forms templates and APIs of external systems used. The prototype will not be required to have all aspects of processing to be in place, e.g. validation of data entered in fields.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Solution
Students will work in groups to develop the final solution of the Web application in support of the solution requirements and design (from Assessment 1) and prototype (from Assessment 2). This will involve the full implementation of forms, databases, software modules, and APIs, such that the detailed systems functionality can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Extending upon the prototype, all parts of forms navigation, data processing, external systems invocation and database access should be implemented.
Marks will be split for the team, covering the Web application prototype content, development plan and presentation, and for individuals based on effective contribution to the final solution.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
There is no prescribed textbook and most tasks are set around freely available university modules and resources and will be made available through the unit's Canvas site. Appropriate references will be made available on Canvas as well as relevant links.
Risk Assessment Statement
All commencing SEF students are required to complete the Mandatory Safety Induction
There are no extraordinary risks associated with the classroom/lecture activities in this unit.
Standards/Competencies
This unit is designed to support your development of the following standards\competencies.
Australian Computer Society Core Body of Knowledge
3: Technology Resources
4: Technology Building
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IN01 Bachelor of Information Technology
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Employ appropriate IT Methods
Relates to: ULO1, ULO2 - Critically apply design and problem solving skills
Relates to: ULO3 - Work independently and within effective teams
Relates to: ULO5 - Purposefully appraise personal values, attitudes and performance in your continuing professional development
Relates to: ULO4
Unit Outline: Semester 2 2025, Gardens Point, Internal
Unit code: | IAB207 |
---|---|
Credit points: | 12 |
Pre-requisite: | (IFB103 or ITD103) and (IFB105 or ITD105 or IFB130) |
Coordinator: | Jason Watson | ja.watson@qut.edu.au |
Overview
Web applications are widely in use both within enterprises and in consumer applications. Developing Web applications faces significant challenges, including faster delivery of new innovations, robustness for change, and performance scalability. The unit will address these challenges by using Model-View-Controller (MVC) frameworks to support rapid development of web applications. The knowledge and skills developed in this unit are valuable for all IT professional roles – software engineers, business analyst and architects, enabling an understanding of software systems design practices and development practices. This is an introductory unit and students will be exposed to web application development through a guided process of using well known frameworks such as CSS-Bootstrap, Python-Flask and JQuery. It builds on concepts learnt in IFB103 and IFB105 and recommends knowledge of Python programming.
Learning Outcomes
On successful completion of this unit you will be able to:
- Analyse client requirements and design a web application in preparation for the software development process.
- Apply existing frameworks to implement model, view and controller aspects of web applications.
- Develop and deploy program code of web applications using both a programming language and platform tools.
- Evaluate the use of web applications in relation to different computer systems (hardware, software and networks).
- Collaborate and work effectively in a team environment, applying high performing team concepts, to produce quality deliverables for a client within agreed timelines.
- Develop project artefacts using agile methodology relevant to a software development context
Content
Students will be exposed to Web application development through a guided process that covers the following: key parts of a Web application; programming in Python; MVC tools used in conjunction with Python programming, drawn from Python frameworks such as Flask; managing a development plan that includes requirements and bug-fixing lists; working collaboratively in a team that contributes to all aspects of development; presenting solutions as well as the development steps, challenges and learnings involved.
An exposure of the key parts of a Web application will allow students to appreciate its logical structure, along the lines of presentation (Web pages), application logic (software components), and database layers. Students will learn about the specific functionality of the different layers and their parts, and how these contribute to the software architecture of a Web application (aligning these learnings with IFB103 where students learn to use UML and FMC modelling techniques to design software systems). Students will design a Web application, captured through a software architecture, based on given solution requirements and scenarios. They will use the software architecture to create development plans and communicate the progress and final solution of the Web application.
Students will be exposed to the Python programming language and specific parts of it that assist in developing a Web application. This will involve learning the dedicated concepts and constructs of Python used to develop software for presentation, application logic and database layers. Programming for the presentation layer is linked to Web pages and their data processing needs, e.g. data display on Web pages and detecting user actions. The application logic layer involves developing software components (Python Modules), sitting between the presentation and database layers, to process user requests, retrieve or update data, call external systems, make calculations and process responses for display. The database layer involves managing database access through its data objects in support of requests for retrieving and updating data. Students will be provided with an instruction-based approach through the unit's exercises and an assignment which provides them with partial solutions together detailed steps for completing these.
In conjunction with Python programming, students will be exposed to MVC tools and their capabilities which assist in the design and development of Web application artefacts. These include Web pages and widgets, database models (object models) and database generation scripts, and libraries that assist in low-level tasks such as data computation functions and external systems communication. As part of this student will learn how to use code-generation capabilities of an MVC platform based in support of developer productivity. Students will learn to develop, test and Cloud-deploy applications using the MVC platform.
The unit's exercises will feature 'pair programming' groups (two students) and larger groups (four students) for assignments. It will expose students to team learning, collaboration and managing development tasks through plans. Students will be asked to analyse the work of others in a team, provide constructive feedback, review development progress, consider options for overcoming issues and obstacles, work to individual tasks and integrate results, and progressively present Web applications during the development process. Through this, students will acquire the skills and knowledge required to participate as individuals and as effective team members, learning how to engage and critically reflect upon software development learning and performance.
Learning Approaches
This unit is available for you to study in either on-campus or online mode. Learning in this unit includes weekly pre-recorded lectures, online activities, workshops and a unit communications channel, designed to facilitate communication with your peers and teaching staff outside of scheduled classes. You can expect to spend 10 hours per week involved in preparing for and attending all scheduled workshops, completing assessment tasks, and undertaking your own independent study to consolidate your learning.
The pre-recorded lectures and online activities in the initial weeks lay the foundations of your Web application foundations and Python programming, and later pre-recorded lectures extend the knowledge for Web application development focussed on targeting development of different parts for producing desired solutions. Students will be guided through each phase of the design and development process.
Learning in this unit is predominantly through participation in the workshops in the either on-campus or online collaborative learning spaces and via the unit communication channel. The workshops are activity based and involve collaboration with peers to support Web application design, programming and team management tasks (inquiry-based learning) and develop skills in each phase of the development process. The workshops build directly on the stimulus material presented in the pre-recorded lectures, detailed instructions for learning about programming and Web application development. They are designed to support class instruction, group work, and class reflection.
In tandem with your development focus, students will practise the techniques required to develop planning, communication, reflection and teamwork skills. This learning is facilitated by communicating software architecture and solution-focussed scenarios, online development plans, and progressive outputs of Web applications, keeping a design logbook and undertaking a critique of another team's design concept. All of these elements are assessed progressively throughout the unit offering students multiple opportunities to demonstrate progress and receive feedback on learning.
Feedback on Learning and Assessment
Feedback in this unit is provided to you in the following ways:
- Ongoing peer and learning facilitator feedback on design activities in workshops.
- Written comments on summative assessment work with graded criteria sheets.
- Formative critique from peers on presentation technique and design concept.
Feedback will be received on assessment tasks prior to the submission of the next task.
Consultation time are available to clarify the contents of the assignment and to provide constructive feedback and you may ask teaching staff for advice and assistance during lectures and workshop sessions.
Assessment
Overview
The assessment in this unit has been designed so that students develop an understanding of different aspects of developing Web applications. Students will develop the skills to work collaboratively and present confidently demonstrating effective written and visual communication. They will also develop the skills to engage in reflective practice.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Web Application Design
Students will develop a Web application design in support of solution requirements, high-level scenarios and insights drawn from existing Web applications used in the real-world. The design will focus on a software architecture covering presentation, application logic and database components envisaged for the Web application. Given the user-centred focus of Web applications, the design will also require proposals for key Web pages, covering the envisaged, presentation widgets and forms navigation.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Prototype
Students will develop a prototype of a Web application in support of the solution requirements and design (from Assessment 1). This will involve the implementation of forms, databases and main software modules, such that the end-to-end support of the design can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Students will be required to demonstrate the prototype by showing how data is entered and results are returned. They will also be required to demonstrate key artefacts such as the database models, forms templates and APIs of external systems used. The prototype will not be required to have all aspects of processing to be in place, e.g. validation of data entered in fields.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Solution
Students will work in groups to develop the final solution of the Web application in support of the solution requirements and design (from Assessment 1) and prototype (from Assessment 2). This will involve the full implementation of forms, databases, software modules, and APIs, such that the detailed systems functionality can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Extending upon the prototype, all parts of forms navigation, data processing, external systems invocation and database access should be implemented.
Marks will be split for the team, covering the Web application prototype content, development plan and presentation, and for individuals based on effective contribution to the final solution.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
There is no prescribed textbook and most tasks are set around freely available university modules and resources and will be made available through the unit's Canvas site. Appropriate references will be made available on Canvas as well as relevant links.
Risk Assessment Statement
All commencing SEF students are required to complete the Mandatory Safety Induction
There are no extraordinary risks associated with the classroom/lecture activities in this unit.
Standards/Competencies
This unit is designed to support your development of the following standards\competencies.
Australian Computer Society Core Body of Knowledge
3: Technology Resources
4: Technology Building
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IN01 Bachelor of Information Technology
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Employ appropriate IT Methods
Relates to: ULO1, ULO2 - Critically apply design and problem solving skills
Relates to: ULO3 - Work independently and within effective teams
Relates to: ULO5 - Purposefully appraise personal values, attitudes and performance in your continuing professional development
Relates to: ULO4
Unit Outline: Semester 2 2025, Online
Unit code: | IAB207 |
---|---|
Credit points: | 12 |
Pre-requisite: | (IFB103 or ITD103) and (IFB105 or ITD105 or IFB130) |
Overview
Web applications are widely in use both within enterprises and in consumer applications. Developing Web applications faces significant challenges, including faster delivery of new innovations, robustness for change, and performance scalability. The unit will address these challenges by using Model-View-Controller (MVC) frameworks to support rapid development of web applications. The knowledge and skills developed in this unit are valuable for all IT professional roles – software engineers, business analyst and architects, enabling an understanding of software systems design practices and development practices. This is an introductory unit and students will be exposed to web application development through a guided process of using well known frameworks such as CSS-Bootstrap, Python-Flask and JQuery. It builds on concepts learnt in IFB103 and IFB105 and recommends knowledge of Python programming.
Learning Outcomes
On successful completion of this unit you will be able to:
- Analyse client requirements and design a web application in preparation for the software development process.
- Apply existing frameworks to implement model, view and controller aspects of web applications.
- Develop and deploy program code of web applications using both a programming language and platform tools.
- Evaluate the use of web applications in relation to different computer systems (hardware, software and networks).
- Collaborate and work effectively in a team environment, applying high performing team concepts, to produce quality deliverables for a client within agreed timelines.
- Develop project artefacts using agile methodology relevant to a software development context
Content
Students will be exposed to Web application development through a guided process that covers the following: key parts of a Web application; programming in Python; MVC tools used in conjunction with Python programming, drawn from Python frameworks such as Flask; managing a development plan that includes requirements and bug-fixing lists; working collaboratively in a team that contributes to all aspects of development; presenting solutions as well as the development steps, challenges and learnings involved.
An exposure of the key parts of a Web application will allow students to appreciate its logical structure, along the lines of presentation (Web pages), application logic (software components), and database layers. Students will learn about the specific functionality of the different layers and their parts, and how these contribute to the software architecture of a Web application (aligning these learnings with IFB103 where students learn to use UML and FMC modelling techniques to design software systems). Students will design a Web application, captured through a software architecture, based on given solution requirements and scenarios. They will use the software architecture to create development plans and communicate the progress and final solution of the Web application.
Students will be exposed to the Python programming language and specific parts of it that assist in developing a Web application. This will involve learning the dedicated concepts and constructs of Python used to develop software for presentation, application logic and database layers. Programming for the presentation layer is linked to Web pages and their data processing needs, e.g. data display on Web pages and detecting user actions. The application logic layer involves developing software components (Python Modules), sitting between the presentation and database layers, to process user requests, retrieve or update data, call external systems, make calculations and process responses for display. The database layer involves managing database access through its data objects in support of requests for retrieving and updating data. Students will be provided with an instruction-based approach through the unit's exercises and an assignment which provides them with partial solutions together detailed steps for completing these.
In conjunction with Python programming, students will be exposed to MVC tools and their capabilities which assist in the design and development of Web application artefacts. These include Web pages and widgets, database models (object models) and database generation scripts, and libraries that assist in low-level tasks such as data computation functions and external systems communication. As part of this student will learn how to use code-generation capabilities of an MVC platform based in support of developer productivity. Students will learn to develop, test and Cloud-deploy applications using the MVC platform.
The unit's exercises will feature 'pair programming' groups (two students) and larger groups (four students) for assignments. It will expose students to team learning, collaboration and managing development tasks through plans. Students will be asked to analyse the work of others in a team, provide constructive feedback, review development progress, consider options for overcoming issues and obstacles, work to individual tasks and integrate results, and progressively present Web applications during the development process. Through this, students will acquire the skills and knowledge required to participate as individuals and as effective team members, learning how to engage and critically reflect upon software development learning and performance.
Learning Approaches
This unit is available for you to study in either on-campus or online mode. Learning in this unit includes weekly pre-recorded lectures, online activities, workshops and a unit communications channel, designed to facilitate communication with your peers and teaching staff outside of scheduled classes. You can expect to spend 10 hours per week involved in preparing for and attending all scheduled workshops, completing assessment tasks, and undertaking your own independent study to consolidate your learning.
The pre-recorded lectures and online activities in the initial weeks lay the foundations of your Web application foundations and Python programming, and later pre-recorded lectures extend the knowledge for Web application development focussed on targeting development of different parts for producing desired solutions. Students will be guided through each phase of the design and development process.
Learning in this unit is predominantly through participation in the workshops in the either on-campus or online collaborative learning spaces and via the unit communication channel. The workshops are activity based and involve collaboration with peers to support Web application design, programming and team management tasks (inquiry-based learning) and develop skills in each phase of the development process. The workshops build directly on the stimulus material presented in the pre-recorded lectures, detailed instructions for learning about programming and Web application development. They are designed to support class instruction, group work, and class reflection.
In tandem with your development focus, students will practise the techniques required to develop planning, communication, reflection and teamwork skills. This learning is facilitated by communicating software architecture and solution-focussed scenarios, online development plans, and progressive outputs of Web applications, keeping a design logbook and undertaking a critique of another team's design concept. All of these elements are assessed progressively throughout the unit offering students multiple opportunities to demonstrate progress and receive feedback on learning.
Feedback on Learning and Assessment
Feedback in this unit is provided to you in the following ways:
- Ongoing peer and learning facilitator feedback on design activities in workshops.
- Written comments on summative assessment work with graded criteria sheets.
- Formative critique from peers on presentation technique and design concept.
Feedback will be received on assessment tasks prior to the submission of the next task.
Consultation time are available to clarify the contents of the assignment and to provide constructive feedback and you may ask teaching staff for advice and assistance during lectures and workshop sessions.
Assessment
Overview
The assessment in this unit has been designed so that students develop an understanding of different aspects of developing Web applications. Students will develop the skills to work collaboratively and present confidently demonstrating effective written and visual communication. They will also develop the skills to engage in reflective practice.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Web Application Design
Students will develop a Web application design in support of solution requirements, high-level scenarios and insights drawn from existing Web applications used in the real-world. The design will focus on a software architecture covering presentation, application logic and database components envisaged for the Web application. Given the user-centred focus of Web applications, the design will also require proposals for key Web pages, covering the envisaged, presentation widgets and forms navigation.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Prototype
Students will develop a prototype of a Web application in support of the solution requirements and design (from Assessment 1). This will involve the implementation of forms, databases and main software modules, such that the end-to-end support of the design can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Students will be required to demonstrate the prototype by showing how data is entered and results are returned. They will also be required to demonstrate key artefacts such as the database models, forms templates and APIs of external systems used. The prototype will not be required to have all aspects of processing to be in place, e.g. validation of data entered in fields.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Web Application Solution
Students will work in groups to develop the final solution of the Web application in support of the solution requirements and design (from Assessment 1) and prototype (from Assessment 2). This will involve the full implementation of forms, databases, software modules, and APIs, such that the detailed systems functionality can be demonstrated. Both the Python programming language and MVC platform will be used to produce this. Extending upon the prototype, all parts of forms navigation, data processing, external systems invocation and database access should be implemented.
Marks will be split for the team, covering the Web application prototype content, development plan and presentation, and for individuals based on effective contribution to the final solution.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
There is no prescribed textbook and most tasks are set around freely available university modules and resources and will be made available through the unit's Canvas site. Appropriate references will be made available on Canvas as well as relevant links.
Risk Assessment Statement
All commencing SEF students are required to complete the Mandatory Safety Induction
There are no extraordinary risks associated with the classroom/lecture activities in this unit.
Standards/Competencies
This unit is designed to support your development of the following standards\competencies.
Australian Computer Society Core Body of Knowledge
3: Technology Resources
4: Technology Building
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IN01 Bachelor of Information Technology
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Employ appropriate IT Methods
Relates to: ULO1, ULO2 - Critically apply design and problem solving skills
Relates to: ULO3 - Work independently and within effective teams
Relates to: ULO5 - Purposefully appraise personal values, attitudes and performance in your continuing professional development
Relates to: ULO4