This topic is all about developing apps specifically for the web. This means learning HTML, CSS, JavaScript, #Bash, SQL and other concepts. You'll gain knowledge on web standards and various technologies used throughout the development process and finally in your first assessment for year 12, you'll develop a PWA.
Homework
For this topic, you will be required to complete homework. This is to help teach you the basics of HTML and CSS. See the section below for more information.
Syllabus content
(HTML is not explicitly in syllabus)
(Secure software architecture)
§ Design, develop and implement code using defensive data input handling practices, including input validation, sanitisation and error handling
§ 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
For homework you'll be required to learn the basics of HTML and CSS. You may use any resource, however, some suggested are:
W3Schools HTML
Grok Learning
Access the Google Doc to the right and complete each week's homework by reproducing the image using HTML and CSS. Submit your completed work on Google Classroom.
Syllabus content
Data transmission using the web
§ Explore the applications of web programming
Including:
§ interactive website/webpages
§ e-commerce
§ progressive web apps (PWAs)
This lesson covers:
Internet vs Web
Brief history of web
Various uses of the web
What is a PWA
Resources
Syllabus content
§ 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
Including:
§ HTTP, HTTPS
§ TCP/IP
§ DNS
§ FTP, SFTP
§ SSL, TLS
§ SMTP, POP 3, IMAP
This lesson covers:
How networks are created
What is a data packet
What is a network port
Internet Protocol (IP)
IP Addresses
DNS
Using Traceroute
Resources
Syllabus content
§ Explain the processes for securing the web
Including:
§ Secure Sockets Layer (SSL) certificates
§ encryption algorithms
§ encryption keys
§ plain text and cipher text
§ authentication and authorisation
§ hash values
§ digital signatures
(Secure software architecture)
Designing software
§ Describe the benefits of developing secure software
Including:
§ data protection
§ minimising cyber attacks and vulnerabilities
This lesson covers:
Network security
SSL certificates
Encryption algorithms and keys
Plain text and cipher text
Authentication and authorisation
Hash values
Digital signatures
Resources
Syllabus content
§ Investigate the effect of big data on web architecture
Including:
§ data mining
§ metadata
§ streaming service management
This lesson covers:
What is big data
What is it's impact on web architecture
Data mining
Metadata
Streaming service management
Resources
Syllabus content
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
This lesson covers:
Who is the W3C
Web standards
Web Accessibility Initiative
Internationalisation
JSON
Front-end programming
Back-end programming
Database services
Resources
Syllabus content
§ Explore and explain the influence of a web browser on web development, including the use of developer (dev) tools
Syllabus content
§ 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
This lesson covers:
What is BASH
Basic commands used in BASH
Basic scripts written in BASH
Resources
Syllabus content
§ 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
This lesson covers:
What is server side scripting
Example server side script languages
Python Flask
Link to Flask tutorial
Resources
Syllabus content
§ 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
This lesson covers:
Database and DBMS
Tables, Fields, Rows/Records
SQL
CREATE TABLE Query
SELECT Query
WHERE Clause
ORDER BY Keyword
UPDATE Query
DELETE FROM Query
GROUP BY Statement
JOIN Clause
Resources
Syllabus content
§ 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
Syllabus content
Continuation of lessons 6-10.
Syllabus content
§ Research, experiment with and evaluate the prevalence and use of web content management systems (CMS)
This lesson covers:
Build a Word Press website
Learn about CMS
Syllabus content
§ Investigate methods to support and manage the load times of web pages/applications
This lesson covers:
What is web performance
Factors that influence page performance
Tricks to improve page loading and performance
Syllabus content
(Secure software architecture)
Developing secure code
§ Explore fundamental software design security concepts when developing programming code
Including:
§ confidentiality
§ integrity
§ availability
§ authentication
§ authorisation
§ accountability
(Secure software architecture)
§ Apply and evaluate strategies used by software developers to manage the security of programming code
Including:
§ code review
§ static application security testing (SAST)
§ dynamic application security testing (DAST)
§ vulnerability assessment
§ penetration testing
This lesson covers:
Importance of secure software
Secure software concepts
Strategies used for ensuring secure software
Syllabus content
§ Design, develop and implement secure code to minimise vulnerabilities in user action controls
Including:
§ broken authentication and session management
§ cross-site scripting (XSS) and cross-site request forgery (CSRF)
§ invalid forwarding and redirecting
§ race conditions
§ Design, develop and implement a progressive web app (PWA)
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
§ Investigate the reasons for version control and apply it when developing web application
§ Observe and describe the back-end process used to manage a web request
Including:
§ role of webserver software
§ web framework
§ objects
§ libraries
§ databases
§ Assess the contribution of back-end web development to the success of a web application