Web Development, pre 2019 Curriculum

Niels Müller Larsen

This work is licensed under the Creative Commons Attribution 4.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

2020-09-25


Table of Contents
Preface
The Content
1. Introduction
Tools Installation, etc
I. Web Programming Backend, PHP
2. The Question of Life, the Universe, and Everything
3. OO PHP, Using PDO to SELECT, II
4. OO PHP Inheritance and Abstraction, III
5. OO PHP Interfaces - Polymorphism. PHP Unit Testing
6. Using Databases from PHP, CRUD cont. Design Patterns, Intro
7. Authentication, OO PHP Style
8. Recap of OO, Design Patterns, MVC I
9. MVC, Model Layer, Now With Database Functionality
10. MVC, Models and Views
11. Refining the MVC One More Step
12. Recursion
II. Laravel - A Backend MVC Framework
13. IDE: Laravel I
14. IDE: Laravel II
15. IDE: Laravel III
16. IDE: Laravel IV
17. IDE: Laravel V
18. IDE: Laravel VI
III. Web Programming Frontend, JavaScript
19. Introduction for Programmers
20. DOM. CSS, Video, Audio, Form
21. Objects
22. The HTML5 Canvas
23. Animation
24. AJaX, Enhance UX by Asynchronisity
IV. Node.js - JavaScript for the Backend
25. Node.js and npm - The First Steps
26. Node.js - Handling Requests, and Routing
27. Node.js - Serving Assets, Improved Routing
28. Express I - Basics
29. Express II - MVC and Asynchronicity
30. Express III - Error Handling, and Models in MongoDB
V. IDE II: Git, Unit Testing
31. Git - Version Control System
32. Unit Testing
VI. Databases
33. Introduction
34. Semantic Modelling I
35. Semantic Modelling II. Relational Model. SQL
36. Normalization, SQL Schema, ER2RM
37. SQL Data
38. Views, Complex SQL DATA
39. Stored Procedures I
40. Triggers
41. Stored Procedures II, PHP, SQL Recursion, etc
42. Functions, Practice
43. XML, XML and XSD
44. Extra: Project Reporting
45. NoSQL Database Systems
VII. XML
46. XML Intro
47. XML, Continued
VIII. Data Integration
48. JavaScript Object Notation, JSON
49. JSON II, JSON Schema
50. Last Word on JSON. PHP with Simple XML
51. Data Integration - External Sources
52. PHP Web Services I
53. PHP Web Services II
IX. Security
54. Security - Authentication I
55. OWASP - Authentication II
56. SQL Injections
57. SQL Injections, Database Security
58. Sessions, Cookies, Exposed Code. Files
59. XSS. Password Best Practices. GDPR and ISO 27001
A. Toolchain
Installing Toolchain for Web Development
B. Solutions to Assignments
Backend Programming
IDE, Integrated Development Environments
JavaScript
Node.js
Databases
XML
Data Integration
Security
C. Git Workflow
Git for PBWeb
D. WebDev Tutorials I
PHP: Tutorial
E. WebDev Tutorials II
Python: Tutorial
F. Masterclass: JavaScript Canvas
Preparing the Domain, Best Practice
Preparing the Domain, Common
First Step
Idenifying Usage. Generalizing
Drawing. Enhancing the Generalized
Generalizing the Drawing
The Nature of Motion on the Canvas, Step 1
The Nature of Motion on the Canvas, Step 2
The Nature of Motion on the Canvas, Step 3, Bouncing
The Nature of Motion on the Canvas, Step 4, Hits?
The Nature of Motion on the Canvas, Final Step, Organizing Code
Space with an Object
Space with More Objects
Space Movie with Start/Stop
Space Movie with Working Start/Stop
Bibliography