Lectures
Video recordings of the lectures will be available in Moodle.
Materials for each week are added as a branch of this repo
0. Course Introduction
- Covers: Course Description, Scope of the course, Structure of the Course, Grading, Exam, Instructors, etc.
1. Web Applications – Basic concepts (8/9/2023)
- Covers: Three-tier architecture, client-server architecture, HTTP, and REST architecture.
2. HTML (Hypertext Markup Language) - (15/9/2023)
- Covers: History of HTML, What HTML is, HTML Elements, Tags, attributes, etc. HTML5, etc.
3. CSS (Cascading Style Sheets) (22/9/2023)
- Covers: What CSS, CSS Syntax, How we can use CSS to style our webpages, etc.
- CSS
- Homework #1 release
4. JavaScript I (29/9/2023)
- Covers: JavaScript history, JavaScript key aspects, JavaScript data types, and their related properties and methods, etc.
5. JavaScript II (6/10/2023)
- Covers: JavaScript functions, Scopes, High-order Functions, Objects, Classes, Generators, and Regular expressions.
6. JavaScript III (13/10/2023)
- Covers: Document Object Model (DOM), DOM Elements, locating, creating and appending DOM elements, DOM Traversing, DOM Events and Event Listeners, Browser Object Model (BOM), etc.
7. JavaScript IIII (20/10/2023)
- Covers: Synchronous vs Asynchronous programming, JavaScript Promises, JavaScript Call Stack, Event loop, Callback and Job queues, AJAX (Asynchronous JavaScript and XML), Fetch API, and JSON (JavaScript Object Notation).
- JavaScript 4
- Homework #2 release
8. Vue.js I (27/10/2023)
- Covers: The Single-Page Applications (SPA) concept, Vue core concepts such as Routers & Views, Single File Components (SFC), Data, Props and Methods, Vue Directives, Computed and watched properties, and Vue elements Lifecycle hooks.
9. Vue.js II - Vuex (3/11/2023)
- Covers: Vuex and its core concepts (state, getters, mutations, and actions).
- Vue.js 2 (Vuex)
- Homework #3 release
10. Guest lecturer - Invited talk (10/11/2023)
*Topic to be determined
11. Node.js I (17/11/2023)
- Covers: How the back-end works, what is Node.js and how it works, Node.js core modules (e.g., fs, HTTP), creating a basic server, and the Express Framework.
12. Node.js II – database (24/11/2023)
- Covers: Model-View-Controller (MVC) design pattern, Representational state transfer (REST) API (Application Programming Interface), CRUD operations, and building an MVC Node-based application.
13. Node.js III - Security/Authentication (1/12/2023)
- Covers: System security (Authentication & Authorization), Cookies, and JSON Web Token (JWT)
- Node.js 3
- Homework #4 release
14. Testing (8/12/2023)
- Covers: Software testing, Software testing levels, testing approaches, testing types, Test-Driven Development (TDD), and Cypress.
15. Consultation for the Exam and Exam method description (15/12/2023)
- Covers: Course summary, exam structure and method, and an exam example
16. The first Exam (22/12/2023)