CAB230 Web Computing


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: Semester 1 2024, Gardens Point, Internal

Unit code:CAB230
Credit points:12
Pre-requisite:IFB104 or ITD104 or MZB126 or EGD126 or EGB103 or EGD103
Equivalent:INB271
Coordinator:Timothy Chappell | timothy.chappell@qut.edu.au
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

The World Wide Web is the most important platform for software systems and an integral part of modern life. Many companies owe their existence to the web, through applications deployed over the Internet using web protocols. All IT professionals require a good understanding of the web and its architecture, especially software developers and those tasked with maintaining and implementing web-based software systems. This unit is a technical introduction to modern web computing. You will design and implement clean and responsive user interfaces, taking account of accessibility and internationalisation. We will provide an introduction to JavaScript and you will use it throughout the semester, gaining practical experience with HTML, CSS and frameworks such as React on the client side, and node.js, Express and the node ecosystem on the server side. You will explore security threats and their mitigation and gain practical experience deploying an internet facing web server using HTTPS.

Learning Outcomes

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

  1. Explain the evolution, architecture and core standards of the World Wide Web
  2. Critically analyse page and site design for usability, accessibility and internationalisation, and creatively develop high quality responsive web interfaces.
  3. Develop dynamic web applications using state of the art technologies on both the client and server side.
  4. Apply social and ethical considerations when designing and implementing a web application.
  5. Adapt your skills to learn new techniques and exploit new opportunities as they emerge in response to the changing nature of the Internet and web environment..

Content

In this unit you will learn about:

  • The architecture of the Web and the role of client and server components.
  • Web standards and technologies (including HTML, CSS and JavaScript).
  • Designing responsive web-based user interfaces (using JavaScript and the React Framework).
  • Developing simple data-driven web applications (using Node.js and Express).
  • Exposing REST APIs backed by SQL data sources.
  • Web security principles and secure deployment.
  • Emerging web-related technologies, including new features in JavaScript, structured APIs and Cloud Computing.

Learning Approaches

This unit is available for you to study in either on-campus or online mode. You should expect to spend, on average, 10 hours per week involved in preparing for and attending scheduled classes, preparing and completing assessment tasks as well as in independent study to consolidate your learning.

The formal contact of the unit will consist of a 2 hour lecture and a 2 hour laboratory based workshop.

Lectures will introduce the core material, providing a basic framework of understanding. The workshops will reinforce this, providing deeper knowledge via hands-on experience. The workshops include structured step-by-step exercises as well as opportunities for self-directed exploration of web technologies. Workshops draw together the theory from the lectures and the practical experiences, allowing you to reflect and engage in a small group environment.

The assignment will reinforce and expand on the work done in the workshops to give an authentic start-to-finish web development experience. The overall objective is to produce a fully working, data-driven web application using current web technologies.

Feedback on Learning and Assessment

Since the practicals are self-paced, guidelines and objectives are provided to help you assess your progress throughout the exercises; and tutors and the unit coordinator will be available in person at specified times or via email to answer your questions.

Assessment

Overview

Appropriate assessment criteria will be made available to students upon the release of the assignment, and the approach will include compulsory checkpoints prior to final submission.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: AMS Exercises

This assessment item will involve a single problem solving exercise to be submitted via the Automated Marking System (AMS). This submission will help you develop and demonstrate your knowledge of JavaScript and its application in the context of modern web development. Formative exercises will be made available using the same system prior to the assessment submission. 

This is an assignment for the purposes of an extension.

Weight: 10
Individual/Group: Individual
Due (indicative): Around week 5 of semester
Related Unit learning outcomes: 3
Related Standards: EASTG1CMP: 1, 1.3, 2, 2.2

Assessment: Project (applied) - Client Side

The first part of a project involving the staged implementation of a modern JavaScript-based web application. In this component you will develop a responsive client side component (React) which consumes a REST API which we will provide to the class. In a subsequent assessment item you will be required to develop and deploy the (node.js) server-side component of this system, replacing our hosted API with your own.

This is an assignment for the purposes of an extension.

Weight: 45
Individual/Group: Individual
Due (indicative): Week 10
Related Unit learning outcomes: 1, 2, 3, 4, 5
Related Standards: EASTG1CMP: 1, 1.3, 1.4, 1.5, 1.6, 2, 2.1, 2.2, 2.3, 3, 3.1, 3.4

Assessment: Project (applied) - Server Side

The second part of a project involving the staged implementation of a modern JavaScript-based web application. In the first component (discussed above) you will develop a responsive client side component (React) which consumes a REST API which we will provide to the class. In this assessment, you will be required to develop and deploy the (node.js) server-side component of this system, replacing our hosted API with your own.

This is an assignment for the purposes of an extension.

Weight: 45
Individual/Group: Individual
Due (indicative): Week 13
Related Unit learning outcomes: 1, 2, 3, 4, 5
Related Standards: EASTG1CMP: 1, 1.3, 1.4, 1.5, 1.6, 2, 2.1, 2.2, 2.3, 3, 3.1, 3.4

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

There is no single text book recommended for purchase for this unit.

The unit includes a structured introduction to JavaScript and the approach follows that employed in Marijn Haverbeke's Eloquent JavaScript, which is available for purchase and on-line reading at
https://eloquentjavascript.net/.

Online resources are an essential part of modern web computing and many will be introduced as they are needed during the semester.

No extraordinary charges or costs are associated with the requirements for this unit.

Risk Assessment Statement

There are no out of the ordinary risks associated with this unit. It is your responsibility to familiarise yourself with the Health and Safety policies and procedures applicable within campus areas and laboratories.

Standards/Competencies

This unit is designed to support your development of the following standards\competencies.

Engineers Australia Stage 1 Competency Standard for Professional Engineer

1: Knowledge and Skill Base


  1. Relates to: AMS Exercises, Project (applied) - Client Side , Project (applied) - Server Side

  2. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

  3. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

  4. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

2: Engineering Application Ability


  1. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

  2. Relates to: AMS Exercises, Project (applied) - Client Side , Project (applied) - Server Side

  3. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

3: Professional and Personal Attributes


  1. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

  2. Relates to: Project (applied) - Client Side , Project (applied) - Server Side

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

EN01 Bachelor of Engineering (Honours)

  1. Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
    Relates to: ULO4
  2. Display leadership, creativity, and initiative in both self-directed and collaborative contexts of professional engineering practice.
    Relates to: ULO5
  3. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO3
  4. Engage with and apply regulatory requirements relating to safety, risk management, and sustainability in professional engineering practice.
    Relates to: ULO2
  5. Demonstrate coherent knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: ULO1