Software Engineering Module 2: Programming for the Web

0.0(0)
Studied by 1 person
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/103

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 5:34 AM on 8/6/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

104 Terms

1
New cards
Data Packet
Data is broken down into smaller segments to transmit independently on different routes then reassemble
2
New cards
Components of a Data Packet
Header, Payload, Trailer
3
New cards
Data Packet Header
Contains crucial information required for data transmission such as Sender's IP Address, Receiver's IP Address, Protocol, Packet Number
4
New cards
Data Packet Payload
The actual data being transmitted
5
New cards
Data Packet Trailer
Marks the end of the packet and includes Error Detection Data to help verify integrity of data, and End of Packet Signal
6
New cards
Packet-Switching Network
Packets can travel different routes to the destination allowing multiple devices to send data simultaneously. Protocols reassemble them in the correct order.
7
New cards
Internet Protocol Version 4 (IPv4)
Most widely used IP version consisting of 8-bit segments separated by periods ranging from 0 to 255
8
New cards
Internet Protocol Version 6 (IPv6)
Response to the limitations of IPv4, with much larger, 128-bit address space
9
New cards
Hyper Text Transfer Protocol (HTTP)
Protocol responsible for transmitting web pages and other resources across the web. Each request is independent and stateless making it fast but not secure (data is transmitted in plain text)
10
New cards
Hyper Text Transfer Protocol Secure (HTTPS)
Secure version of HTTP using encryption methods such as SSL or TLS. All data transmitted is encrypted which makes is a standard for securing websites
11
New cards
Transmission Control Protocol (TCP)
Connection oriented protocol which establishes connection before data transfer. It breaks data into packets, ensures they are received, and reassembles
12
New cards
Internet Protocol (IP)
Responsible for addressing packets and routing them across different networks
13
New cards
Domain Name System (DNS)
Translates domain names into IP Addresses
14
New cards
File Transfer Protocol (FTP)
Protocol used to transfer files between computers over a network. It's not secure (plain text) but is efficient and operates in active or passive mode
15
New cards
Secure File Transfer Protocol (SFTP)
Extension of SSH securing file transfers by encrypting the commands and data.
16
New cards
Secure Sockets Layer (SSL)
Cryptographic protocol securing communications by encrypting the data transmitted. Largely depreciated in favour of TLS
17
New cards
Transport Layer Security (TLS)
Successor to SSL providing improved encryption, security, and performance
18
New cards
Simple Mail Transfer Protocol (SMTP)
Used to send email between servers or from client to server. Used in conjunction with mail retrieval protocols like IMAP or POP3
19
New cards
Post Office Protocol v3 (POP3)
Used to retrieve emails from server to local device. Often emails are deleted from server after retrieval making this suitable for single device users
20
New cards
Internet Message Access Protocol (IMAP)
Allows users to access emails from multiple devices storing messages in server until explicit deletion. Syncs emails across device
21
New cards
SSL Certificate Components
Certificate Authority (CA), Public and Private Keys, Digital Certificate
22
New cards

SSL Certificate Process

  1. Handshake (browser connects to server, server sends SSL certificate)

  2. Certificate Verification

  3. Session Key Generation

  4. Secure Communication

23
New cards
Symmetric Encryption
Single key is used to encrypt and decrypt
24
New cards
Asymmetric Encryption
Uses public key for encryption and private key for decryption or vice versa
25
New cards
Authentication
Confirms the identity of a user or system commonly with PINs, Passwords, Biometrics, Tokens, or Multi-Factor Authentication (MFA)
26
New cards
Authorisation
Determines what resources or actions an authenticated user can access commonly using Role-Based Access Control (RBAC) or Attribute-Based Access Control (ABAC)
27
New cards
Big Data
Extremely large and complex datasets that cannot be managed or processed using traditional data processing tools
28
New cards
Six Vs of Big Data
Volume, Variety, Velocity, Veracity, Value, Variability
29
New cards
Data Mining
The process of discovering patterns, correlations, and insights from large datasets
30
New cards
Web Accessibility Initiative (WAI)
Develops strategies, guidelines, and resources to make the web accessible to people with disabilities
31
New cards

Client-Side (Front-End) Frameworks/Libraries

JavaScript: React, Angular, Vue.js

CSS: Bootstrap, Tailwind CSS

32
New cards
Server-Side (Back-End) Frameworks/Libraries
Express.js (Node.js), Django and Flask (Python), Spring Boot (Java), Ruby on Rails (Ruby), Laravel (PHP)
33
New cards
SQL (Structured Query Language)
Relational databases that use structured tables with predefined schemas
34
New cards
Developer Tools
Elements Panel, Console Panel, Network Panel, Performance Panel, Application Panel
35
New cards
Network Panel
Tracks all network requests for monitoring performance, size of assets, and debugging AJAX requests
36
New cards
Cross-Browser Compatibility Considerations
CSS Layout Differences, JavaScript API Support, HTML Element Rendering
37
New cards
Performance Optimisation Techniques
Page Load Time, Largest Contentful Paint (LCP), Time To First Byte (TTFB)
38
New cards
CSS Maintenance Tools
Preprocessors, PostCSS, CSS-in-JS Libraries, Stylelint, Atomic CSS and Utility-First Frameworks, CSS Architecture Methodologies
39
New cards
CSS Preprocessors
Add functionality like variables, nesting, and mixins (Sass, LESS)
40
New cards
PostCSS
Tool for transforming CSS with JavaScript plugins
41
New cards
Why Use Version Control?
Collaboration, Change Tracking, Backup and Recovery, Branching and Merging
42
New cards
Version Control in Web Application Development
Project Initialisation, Collaboration and Code Reviews, Continuous Integration and Deployment (CI/CD), Managing Releases
43
New cards
JavaScript Frameworks
Reusable UI components, state management, hooks, e.g. React.js, Vue.js, Svelete
44
New cards
Full-Stack Frontend Frameworks
Includes UI rendering, extending this to include file-based routing and server-side rendering e.g. Next.js, Angular
45
New cards
Static Site Generators
Generates pre-rendered HTML pages for fast loading and optimisation e.g. Gatsby, Hugo, Flask
46
New cards
How Web Frameworks Changed Development
Prebuilt Functions & Components, Faster Development, Scalability & Maintainability, Huge Community Support
47
New cards
Template Engines
Allow developers to reuse HTML components across pages, avoiding duplication of HTML
48
New cards
Server-Side Template Engines
Generates HTML on the server before sending it to the browser for display e.g. Jinja2, EJS
49
New cards
Client-Side Template Engines
Dynamically generate and update HTML without server interaction e.g. Mustache, Handlebars
50
New cards
How Template Engines Changed Development
Reusable Components, Separation of Concerns, Scalability & Maintainability, Server-Side Rendering (SSR) Support
51
New cards
UI Frameworks
Provide a comprehensive set of components that are pre-styled and responsive e.g. Bootstrap, Foundation, Bulma
52
New cards
Utility-First CSS Frameworks
Providing utility for common styling needs e.g. Tailwind CSS
53
New cards
Impact of CSS Classes
Speeds Up Development, Ensures Consistent Design, Responsive Design, Customisability
54
New cards
Open-Source in Web Development
Accessibility and Community Support, Flexibility and Customisation, Accelerated Development and Innovation
55
New cards
Key Areas of Open-Source
Frameworks and Libraries, Content Management Systems, Development Tools, Web Servers and Databases
56
New cards
Open Source Initiative (OSI)
Non-Profit founded in 1988 that promotes and protects open-source software, maintains the Open Source Definition
57
New cards
Impact of Open Source on Web Development
Standardisation and Best Practices, Democratisation of Technology, Driving Innovation and New Technologies
58
New cards
Front-End Optimisation
Minification and Compression, Image Optimisation, JavaScript and CSS Optimisation, Reducing HTTP Requests, Caching Strategies
59
New cards
Minification
Stripping unnecessary characters such as spaces, comments, and line breaks from CSS, JS, and HTML files
60
New cards
Backend Optimisation
Database Optimisation, Server-Side Caching, Load Balancing, API Optimisation
61
New cards
Web Content Management System (CMS)
Software application that simplifies web development by allowing users to manage content without the need for extensive coding knowledge
62
New cards
Key Features of a CMS
Content Creation and Editing, Content Organisation, Publishing and Scheduling, User Management, Themes and Templates, Plugins and Extensions
63
New cards
Components of Back-End
Server, Database, APIs, Security
64
New cards
Backend Contribution to Web Application
Performance and Speed, Scalability, Data Management and Integrity, Security , Reliability and Availability, API and Third-Party Integration
65
New cards
Role of Webserver Software
Request Handling, Static Content Delivery, Proxying to Application Server
66
New cards
Popular Webservers
Apache, Nginx, IIS (Internet Information Services)
67
New cards
Web Framework
Provides structure and reusable components that simplify development
68
New cards
Object-Relational Mapping (ORM)
Map database objects to tables
69
New cards
Data Manipulation (Objects)
Allow developers to interact with data as if they were working with in-memory objects in code
70
New cards
Types of Libraries
Utility Libraries, Database Libraries, Authentication and Authorisation, Form Processing Libraries
71
New cards
Relational Databases (SQL)
Data is stored in tables rows and columns (highly structured)
72
New cards
Non-Relational Databases (NoSQL)
Designed for unstructured or semi-structured data, allowing for data in formats such as JSON or key-value pairs
73
New cards
Interactions Between Framework and Database
Database Queries, Connection Management, Query Optimisation
74
New cards
Shell Script
Program written for the command-line interface (CLI) to automate tasks by executing a series of commands
75
New cards

Bash Commands for Creating and Managing Directories

mkdir: create new directory
rmdir: remove empty directory
cd: change current directory

76
New cards

Bash Commands for Creating and Managing Files

touch: create empty file
rm: remove file
cp: copy file or directory

77
New cards

Bash Commands for Searching for Text in Files

grep: search for specific patterns or text in file
cat: output content of file

78
New cards
Hash Bang
Special sequence of characters at the beginning of script (#!/) followed by the path to the interpreter
79
New cards
Shell Scripts in Web Development
Automating Server Management, Handling Log Files and Data, Efficient File and Directory Management, Streamlining Development Processes, Customising Web Application Behaviour
80
New cards
Key Characteristics of SQL
Declarative Language, Relational Databases, Standardised Language, SQL Operations
81
New cards

SQL Operations

Data Retrieval (SELECT)

Data Manipulation (INSERT, UPDATE, DELETE)

Data Definition (CREATE TABLE, ALTER TABLE)

Data Control (GRANT, REVOKE)

82
New cards
SELECT (SQL)
Retrieve specific data from a table
83
New cards
FROM (SQL)
Used in conjunction with WHERE to join tables
84
New cards
WHERE (SQL)
Specify conditions for what is included in the result of a query
85
New cards
ORDER BY (SQL)
Sort the results of a query
86
New cards
GROUP BY (SQL)
Group rows that have the same value in specified columns
87
New cards

Advantages of ORM

Increased Productivity, Database-Agnostic, Less Boilerplate, Object-Oriented Approach

88
New cards

Disadvantages of ORM

Performance Overhead, Less Fine-Grained, Learning Curve

89
New cards

Collaborative Work Practises

Clear Communication, Efficient Integration, Rapid Prototyping, Shared Responsibility, Problem Solving

90
New cards

Efficient Integration Best Practices

Collaborate early in defining API endpoints, data formats, and setting up testing environments

91
New cards

Problem Solving Best Practices

Conduct joint debugging sessions where all developers analyse issues together

92
New cards

PWA Key Features

Progressive, Responsive, Offline Capabilities, App-Like Feel, Installable, Secure

93
New cards

Components of a PWA

Caching, Service Workers, Web Manifest, Responsive Design

94
New cards

Caching Steps

  1. First Visit

  2. Saving Files

  3. Reusing Files

95
New cards

Service Workers

Help configure web app and manage offline capabilities. They Run Separately, and are Event-Driven

96
New cards

Web Manifest

The manifest.json file managing App Appearance, Behaviour, and Navigation

97
New cards

Responsive Design

Flexible Layouts, Media Queries, Viewport

98
New cards

UI/UX Principles

Fonts, Colour, Audio and Video, Navigation

99
New cards

Font Considerations

Readability, Web-Safe Fonts, Consistency

100
New cards

Colour Considerations

Contrast, Branding and Visual Identity, Colour Psychology, Accessibility