Web Development

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-05-28


Table of Contents
Preface
Intro Week/Day, Before We Start the Semester
Schedule, 1st Semester
The Content
1. Introduction
Tools, Installation, etc
I. Web Programming I, JavaScript
2. Intro/Recap, Terminology
3. I/O, Types, and Operators
4. Conditionals
5. Functions
6. Arrays
7. Iterations - Loops
8. Document Object Model - I
9. Document Object Model - II
10. JavaScript Objects
11. HTML5 Canvas - Only With JavaScript
12. Animation on the HTML5 Canvas
13. Loose Ends
II. Web Programming II, Node.js
14. Node.js - Intro
15. Node.js and npm - The First Steps
16. Node.js - Handling Requests, and Routing
17. Node.js - Serving Assets, Improved Routing
18. Node.js - Routing Refined. Starting MongoDB
19. Node.js - V, NoSQL Database MongoDB
20. Express I - Basics
21. Express II - MVC and Asynchronicity
22. Express III - Error Handling, and Models in MongoDB
23. Express IV - Controllers and Models
24. Express V - Building and Using an API
III. Development Environments
25. Intro to Development Environments
26. Version Control with Git - I, Local
27. Version Control with Git - II, Groups
28. Version Control with Git - III, Branches
29. WWW Based Development Tools
30. Browser Development Tools - I
31. Browsers Development Tools - II
32. JavaScript Modules in the Web Browser
33. JavaScript Modules in the Web Browser II
34. SVG - Scalable Vector Graphics I
35. SVG - Scalable Vector Graphics II
36. AJaX and JSON I
37. AJaX and JSON II, then Recap with Q&A
IV. Data Integration
38. Intro to Data Integration
39. Introduction to XML
40. XML Grammars, DTDs and Schemas
41. XPath and XSLT Transformations
42. XSLT Transformations
43. Client Side Transformations with JavaScript
44. Programming Practicum
V. Security
45. Intro to Security
46. Security I. Data Security
47. Security II. Authentication. Access to Application
48. Security III. Authentication Middleware
49. Security IV. Authentication Strategies, OpenID, OAuth, …
50. Security V. Logging and its Meaning
51. Security VI. MongoDB and Injections
A. Toolchain
Installing Toolchain for Web Development
B. Model Solutions
Web Programming I, JavaScript
Web Programming II, Node.js
Development Environments
Data Integration
Security
C. Git Workflow
Git for PBWeb
Bibliography