1. Programming for the Web#

Important

This module is split into three chapters to be completed in the following order:

  1. Web Part 1

  2. JavaScript

  3. Web Part 2

The JavaScript bridging module is required in order to support client-side programming, UI/UX frameworks and PWAs.

Important

Most elements of this module that concern security have been moved to the Secure Software Architecture chapter. These topics are only learnable after students are equipped with the fundamentals and context of web programming.

Legend

  • Here - found in the module

  • Moved - found in a different module

  • Implicit - covered by the process of completing this or a different module

  • Coming Soon - to be provided at a later date

  • Not Planned - not covered in this book

1.1. Data Transmission Using The Web#

Explore the applications of web programming

Including:

interactive website/webpages
e-commerce
progressive web apps (PWAs)

Investigate and practise how data is transferred on the internet

Including:

data packets
internet protocol (IP) addresses, including IPv4
domain name systems (DNS)

Investigate and describe the function of web protocols and their ports

Explain the processes for securing the web

These topics have been moved to Secure Software Architecture where they naturally compliment the material.

Including:

Secure Sockets Layer (SSL) certificates
encryption algorithms
encryption keys
plain text and cipher text
authentication and authorisation
hash values
digital signatures

Investigate the effect of big data on web architecture

Including:

data mining
metadata
streaming service management

1.2. Designing Web Applications#

Investigate and explain the role of the World Wide Web Consortium (W3C) in the development of applications for the web

Including:

Web Accessibility Initiative (WAI)
internationalisation
web security
privacy
machine-readable data

Model elements that form a web development system

Including:

client-side (front-end) web programming
server-side (back-end) web programming
interfacing with databases that are based on Structured Query Language (SQL) or non-SQL

Explore and explain the influence of a web browser on web development, including the use of developer (dev) tools

Investigate cascading style sheets (CSS) and its impact on the design of a web application

Including:

consistency of appearance
flexibility with browsers or display devices
CSS maintenance tools

Investigate the reasons for version control and apply it when developing web application

Coming soon.

Explore the types and significance of code libraries for front-end web development

Including:

frameworks that control complex web applications
template engines
predesigned CSS classes

Explain the use and development of open-source software in relation to web development

Investigate methods to support and manage the load times of web pages/applications

Research, experiment with and evaluate the prevalence and use of web content management systems (CMS)

Assess the contribution of back-end web development to the success of a web application

Coming soon.

Observe and describe the back-end process used to manage a web request

Including:

role of webserver software
web framework
objects
libraries
databases

Develop a web application using an appropriate scripting language with shell scripts to make files and directories, and searching for text in a text file

Coming soon.

Apply a web-based database and construct script that executes SQL

Including:

selecting fields
incorporating ‘group by’
common SQL queries
constraints using WHERE keyword
table joins

Compare Object-Relational Mapping (ORM) to SQL

Describe how collaborative work practices between front-end and back-end developers improve the development of a web solution

Design, develop and implement a progressive web app (PWA)

The design elements are addressed separately from progressive web apps.

Including:

the application of design and user interface (UI) and user experience (UX) principles of font, colour, audio, video and navigation
a UI that considers accessibility and inclusivity