IFQ557 Rapid Web 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 Outline: Session-2B 2024, QUT Online, Online

Unit code:IFQ557
Credit points:6
Pre-requisite:IFN501 or IFN555 or IFQ555
Equivalent:IFN557
Assumed Knowledge:

Python programming

Anti-requisite:IAB207
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

This is a foundational unit addressing web application development through a guided process by using well known frameworks such as Bootstrap, and Python-Flask. It introduces the development of a web application, covering development life-cycle phases of design, development, and deployment. The unit provides a working and “hands-on” introduction to different aspects of building an interactive and dynamic application. The knowledge and skills involved in developing web applications are indispensable for all IT professionals. This applies not only for programmers but also for roles such as business analyst and solution architect, which require a strong understanding of development for systems analysis and design practices.

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Design web applications to meet given requirements.
  2. Apply existing frameworks to implement model, view and controller aspects of a web application.

Content

Students will be exposed to Web application development and gain exposure to its logical structure, along the lines of presentation (Web pages), application logic (software components), and database layers. They will be introduced to the model view controller (MVC) architecture pattern. Students will learn about the specific functionality of the components of MVC and how these contribute to the software architecture of a Web application. Students will use development frameworks that assist in Web development. Programming for the presentation layer or view is linked to Web pages and their data processing needs. The application logic layer or controller involves developing software components (Python Modules), sitting between the presentation and database layers. The database layer manages database access through its data objects in support of requests for retrieving and updating data. Strong emphasis will be placed on the use of Application Programming Interfaces (APIs) that are managed through MVC platforms. 

Students will learn to design, develop, test, and deploy applications using the MVC platform. Given its general coverage of Web application development capabilities, Flask, a Python framework, will be used. Students will be provided with an instruction-based approach through the unit’s exercises and an assignment which provides them with partial solutions together with detailed steps for completing these.

Learning Approaches

This unit includes weekly one and half-hour lectures and two-hour workshops. Learning is predominantly through practice in the workshops. The workshops build directly on the stimulus material presented in the lectures, detailed instructions for learning about programming and Web application development. The lectures in the initial weeks lay the foundations of your Web application foundations and Python programming, and later lectures extend the knowledge for Web application development focused on targeting development of different parts for producing desired solutions. Students will be guided through each phase of the design and development process.

Feedback on Learning and Assessment

The assessments will be based on the material covered in the lectures and workshops. The related tasks will be discussed during these contact hours. This will provide you with a deeper understanding of the nature of the tasks. Selected supporting resources will be provided on the unit’s Canvas site. A marking guide will be available for the assignments. A detailed marking of and detailed comments on your assessment items will provide you with comprehensive feedback. 

Teaching staff are available during the lectures, workshops and consultation hours to clarify or elaborate on the learning and assessment content and to provide constructive feedback.

Assessment

Overview

This unit employs authentic assessment in that it focuses on students using and applying knowledge and skills to the real-life development of a software artefact: a web application using frameworks. Assessment is in two phases:

In the first phase, Assignment 1, students are required to design the system and front end of a web application.

In the second phase, Assignment 2, students are required to actually implement the MVC components of the design using relevant frameworks. The final solution will be demonstrated and marks will be awarded for both the design and development of the solution.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Design

Students will develop a Web application design that includes system design and web front end design.

This is an assignment for the purposes of an extension.

Weight: 50
Length: 3 weeks
Individual/Group: Individual
Due (indicative): Halfway through semester
Related Unit learning outcomes: 1, 2

Assessment: Solution

Students will develop the Web application. This will involve the implementation of MVC components. Frameworks covered in the unit will be used to build the Web application. Marks will be split for covering the Web application design, development of the solution. 

This is an assignment for the purposes of an extension.

 
Weight: 50
Length: 3 weeks
Individual/Group: Group
Due (indicative): End of Semester
Related Unit learning outcomes: 1, 2

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

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.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

Resource Materials

Recommended text(s)

Flask Web Development: Developing Web Applications with Python - Miguel Grinberg

Other

Online resources (e.g. particular software)

  • https://www.python.org/
  • https://getbootstrap.com/ 
  • https://flask.palletsprojects.com/

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit.