Welcome to the Web Engineering and Development Course.
This course introduces the basics of Web development and engineering. It will be offered by Dr. Omar Hammad in King Fahd University of Petroleum and Minerals for ICS/SWE junior students in Fall 2023.
This repostory contains all of the supporting material that the instructor refer to in the course lectures. They include:
- Exercise files
- Links to articles
- PDF Handouts
- Lecture videos (links)
The following resources are used to prepare the lectures
- Internet & World Wide Web How to Program
- Fundamentals of Web Development
- HTML & CSS: Design & Build websites
send them to [email protected]
Motivating the learner and Introduing some course policies.
- Group discussion
- Live poll
- Read & Ask
History and concepts about the web & internet
- Chapter 1 of Internet & World Wide Web
- The story of Tim
- Knighted in 2004
- CERN
- XML came after HTML
- What is a markup language
- Hypertext history
- The proposal
- Pow research
- the first website
- History of the internet
- Setup Github
- Research & Present
Basics of HTML
- Chapter 2 of Internet & World Wide Web
- Build your own website
- Push it to github
Advanced HTML
- Chapter 3 of Internet & World Wide Web
- Building a table
- Building a form
- Refactor to Semantic Web
Overview of CSS
- Chapter 4 of Internet & World Wide Web
- Make your website dark
- CSS Selectors, Colors & Box Model.
- Chapter 4 of Internet & World Wide Web
- CSS Selectorshttps://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors
- Box modelhttps://developer.mozilla.org/en-US/docs/Web/CSS/CSS_box_model
- CSS colorshttps://developer.mozilla.org/en-US/docs/Web/CSS/CSS_colors
- Make your moodboard
- Apply CSS to your website
- CSS Typography & Animation.
- Chapter 5 of Internet & World Wide Web
- MDN > Shorthand Props
- MDN > values and units
- CSS Layout, responsiveness and frameworks
- Chapter 5 of Internet & World Wide Web
- MDN > Flexboxhttps://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox
- MDN > Position
- MDN > Float
- Web Traffic in SAhttps://www.statista.com/statistics/1393363/saudi-arabia-mobile-s-share-of-web-traffic/
- FroggyBox
- Viewport
- wappalyzer.com
- Top CSS Frameworks
- Sass
- Ideas exploration
- Experience mobi
- le layout without viewport
- JS Intro, variables, conditions, loops, arrays
- Chapter 6,7,8 & 10 of Internet & World Wide Web
- MDN > JS First Steps
- MDN > Making decisions in your code
- MDN > Looping
- codepen.io
- https://codepen.io/MysticReborn/full/rygqao
- https://codepen.io/slyka85/pen/LbXYKQ
- https://codepen.io/ste-vg/full/GRooLza
- https://codepen.io/jshawl/pen/GRPQwRB
- Building a Game
- Exploring Codepen.com
- APIs, DOM, Events
- Chapter 12, 13 of Internet & World Wide Web
- MDN > Intro to Events
- MDN > Intro to Web APIs
- MDN > Manuplating Docs
- Explore Public APIs
- Explore Browser APIs
- Generate DOM Dynamically
- Make game playable with KB
- Fetch, Canvas
- Chapter 14 of Internet & World Wide Web
- MDN > Fetch Data From the Server
- MDN > Drawing Graphics
- Demo Fetch
- Demo 2d
- Demo 3d
- Objects, Functions
- Chapter 9 & 11 of Internet & World Wide Web
- MDN > Introduction to Objects in JS
- MDN > Functions — reusable blocks of code
- RegEx, Frameworks
- What, Why, The Process, Arch.
- Lectures > WebE > Reading Material
- Web Apps Modeling
- Lectures > WebE > Reading Material
- Servers, Http, URLs
- MDN > Intro to Server side
- MDN > Server Side
- Server-side website programming first steps
- Client-Server
- Server side frameworks
- Node.js
- Node.JS & Express.JS Full Course 0-3:40
- W3Scool Node.js
- Learn Node.js from nodejs.com
- Node.js Reference
- Express JS
- Node.JS & Express.JS Full Course 3:40-End
- Express.js Website Getting Started, Guide & API Reference
- Express.js Website Guide
- MDN > Express web framework (Until Tutorial Part 7)
- Databases, MongoDB
- Exercises > BE 4 Exercises
- MongoDB Website Guide & Reference
- Mongoose Webiste Quick Start, Guides & Reference
- Do BE 04 Exercises in class
- WebSocket, SocketIO
- Exercises > BE 05 Exericises
- MDN > WebSockets
- MDN > Writing WebSocket Servers
- Socket.io
- WebSockets vs HTTP - Ably
- WebSockets vs HTTP - Oxylabs
- How Are HTTP and WebSocket Different - Wallarm
- WebSocket - Wikipedia
- What is WebSocket - KnowledgeHut
- WebSockets - Ably
- How WebSocket Works - Socket.IO
- Getting Started with WebSocket - DEV Community
- Do BE 05 Exercises in the class
Delivering apps to the web
- Exercices > Dep 01 Exericises
- Web Apps deployment
- [Web deployment process] https://www.wgu.edu/blog/breaking-down-web-application-deployment- process2311.html
- [Deploying web apps] https://adamosoft.com/blog/website-development/deploy-web-applications/
- Do DEP 01 Exercises in class
Security Principles, Authentication
- Ch16 (16.1 - 16.2) of Fundamental of Web Dev Book (See Exercises > 08 SEC)
- Basic Auth in Node
- Reading book chapter and answer the quiz
Cryptography, HTTPS, Best Practices, Common Threat Vectors
- Ch16 (16.3 - 16.7) of Fundamental of Web Dev Book (See Exercises > 08 SEC)
- Reading book chapter and answer the quiz