Professional Documents
Culture Documents
Web Engineering
(Summer 2023)
Credit hours: 3+1
Prerequisites
•
Motivation to Learn
•
Object Oriented Programming (OOP)
Course Learning Outcome(Tentative)
• Engineering Knowledge
– Define the concepts relating to World Wide Web
• Design/Development of solutions
– Use design and development techniques for developing user
centric and/or data-driven Web applications
• Investigation
– Apply implementation strategies provided by various modern
frameworks for creating Web applications
• Modern Tool Usage
– Design Static and Dynamic Websites and applications using
modern tools and frameworks
Topics to be covered
Theory Practical
• Introduction to Web & Web
applications
• Client Side
– HTML5
– Static content – CSS3
– Styling to static content
– Reading and Storing static content – Bootstrap
– Dynamic content
– Managing dynamic content
– Jquery
• Server Side – AngularJS
– Content generation
– Reading and storing dynamic content – PHP
– Passing content within apps
– Laravel
Grading(Tentative)
• Theory (75%)
– Quizzes: 12%
– Assignments: 10%
– Final Report: 8%
– MSE: 30%
– ESE: 40%
• Lab (25%)
– In-Lab Work: 70%
– Group Project: 30%
Class Rules (1/2)
• No verbal consultations during the class
• No personal comments
• Do not disturb the class
• If something is not clear, do tell!!
• If you have question, do not hesitate.
• Read the course outline(Uploaded on LMS)
• Course Contents
– Available on LMS
– Will contain limited information only, so better to
consult online and secondary resources as well.
Class Rules (2/2)
• Plagiarism and Academic Dishonesty are strictly prohibited
• No submission via email
• Late Day Policy
– Total late days: 3
– Can be used for assignments, final report, and project only
– No consolidation among group members
– No swapping/sharing
– Use self tracking during the course
– Final count will be done at the end of the course (by me)
– No penalty for consuming a late day
– Each day consumed beyond the allocated late days -> -2% from overall
score in assignments, Final report, and project; until all reach 0.
Contact
• Fahad.satti@seecs.edu.pk
• Consulting Hours:
– Monday (3pm-5pm) or by appointment
Lecture # 1
https://www.submarinecablemap.com/
Who defines the Web Standards?
• The World Wide Web Consortium (W3C) is an
international community that develops open
standards to ensure the long-term growth of
the Web.
• http://www.w3.org/
Accessing web pages HTTP =
Hyper Text
Transfer
Protocol
• Static
– the contents don’t change (unless they’re edited).
– Web pages (text files) and other needed objects (e.g. images) are stored as files on the
web server and are retrieved as needed in response to HTTP requests
Client Server
HTTP Request
URL Content (HTML),
Web Files Style (CSS),
Browser Action (JS)
Server
HTTP Response
Client Server
HTTP Request Process
• Dynamic
URL Text, Image,
Video…
Web
–Browser
Web pages and other content is generated by an application server or script evaluator
Server Process
– Content is generated
HTTP Response dynamically
Files DB
Client - Server communications (1/2)
• Client = Web Browser
Self-Study: http://taligarsiel.com/Projects/howbrowserswork1.htm
Web Browser Market Share
• "The pure and simple truth is rarely pure and never simple.“ -
Oscar Wilde
https://gs.statcounter.com/browser-market-share
Universal Resource Location (URL)
http://tug.org:80/texshowcase/cheat.pdf
Path
Protocol
Port
(Scheme)
Host Name Filename
PK …………….. FR UA US
Library Sub-Website
DNS Working
The computer requesting a name resolution will be re-directed 'up' the hierarchy until a DNS
server is found that can resolve the domain name in the request.
DNS
Client DNS
Hostname DNS
URL
TCP TCP
IP IP
Hardware Hardware
Application
TCP
IP
Hardware
Sending a message from computer A to B
The message would start at the top of the protocol stack on your
computer and work its way downward.
If the message to be sent is long, each stack layer that the
message passes through may break the message up into smaller
chunks of data.
This is because data sent over the Internet is sent in manageable
chunks. On the Internet, these chunks of data are known as
packets.
Sending a message from computer A to B
The packets would go through the Application Layer and continue
to the TCP layer.
Each packet is assigned a port number.
Ports will be explained later, but suffice to say that many
programs may be using the TCP/IP stack and sending messages.
We need to know which program on the destination computer
needs to receive the message because it will be listening on a
specific port.
Sending a message from computer A to B
After going through the TCP layer, the packets proceed to the IP
layer. This is where each packet receives it's destination address.
Now that our message packets have a port number and an IP
address, they are ready to be sent over the Internet.
The hardware layer takes care of turning our packets into
electronic signals and transmitting them over the phone line.
Application Application
TCP TCP
IP IP
Hardware Hardware