Web Development
Dr Derek Bridge
School of Computer Science & Information Technology
University College Cork
Lecture Objectives
learn how the module will be taught & examined
learn what a client-server architecture is
learn what a communications protocol, such as HTTP, is
Derek Bridge
Senior Lecturer in Computer Science
+
Artificial Intelligence researcher
Web Development I and II
Module codes:
CS1115/CS5002 Web Development I
CS1116/CS5018 Web Development II
Credit weighting:
5 credits each
HDip registered for CS5002 but will see CS1115 on your dashboard. Similarly, CS1116 for CS5018.
Module Objectives
you will acquire competence in web development
you will build a portfolio of projects
you will develop as a critical thinker /problem-solver and as an independent learner
Putting you on the road to a career in web development (if you want one).
One project in Web Dev I; two projects in Web Dev II.
The last goal is not just my module, but the purpose of a university education.
Module Delivery
The following is correct as of August 2023 but may be subject to change.
On-campus lectures
Tuesdays @ 12 noon, WGB 107
Thursdays @ 3pm, WGB G05
On-campus lab
Two lab sessions — students attend the one to which they are assigned. Details TBA.
Private study
At least 3 hrs per week
"Is there a book?"
There's no book.
Use the web!
especially developer.mozilla.org
"What about software?"
VSCode
(with some extensions)
Chrome web browser
Assessment: Web Development I
Examination:
1.5 hr in-person exam (75% of the marks)
Continuous assessment:
Web site project (25% of the marks)
How to fail:
Skip lectures & labs; avoid private study; cram the night before the exam; expect the exam to be a
memory test
How to pass:
Attend lectures & labs; take notes; organize your notes; tackle the lab activities properly; expect
a problem-solving exam
Plagiarism
Plagiarism is presenting someone else’s work as your own. It is a violation of
UCC Policy and there are strict and severe penalties.
You must read and comply with the UCC Policy on Plagiarism
www.ucc.ie/en/exams/procedures-regulations/
The Policy applies to all work submitted, including software.
You can expect that your work will be checked for evidence of plagiarism or
collusion.
In some circumstances it may be acceptable to reuse a small amount of work by
others, but only if you provide explicit acknowledgement and justification.
If in doubt ask your module lecturer prior to submission. Better safe than sorry!
The World Wide Web
aka
The WWW
aka
The Web
WWW = hypertext + the Internet
Hypertext
A hyperlink
The Internet
A network of networks
Tim Berners-Lee's Web
Evolution of the Web
Web pages (documents)
Web sites
Web applications (web apps)
Client-server
Resources
Uniform Resource Locators (URL)
Every resource on the web has a unique address.
which server
which resource on that server
www.example.org
/animals/wombats.html
Communications Protocols
the rules of communication in computer networking
If two computers are to exchange messages, we need to specify and agree the rules of
communication.
In computer networking, such a set of rules is called a communications protocol .
HyperText Transfer Protocol
HTTP is the protocol for web requests and responses.
The Internet Engineering Task Force (IETF) recently published HTTP/3.0.
Versions: HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2.0, HTTP/3.0 (2022).
In 2023, HTTP/3.0 is used by 25% of web sites and growing. It replaces TCP/UDP by a faster underlying protocol.
HTTP GET Request
Request methods:
GET, POST, HEAD, PUT, DELETE,
CONNECT, OPTIONS, TRACE, PATCH
HTTP Response
HTTP Response Status Codes
2XX
Success
e.g. 200 OK
3XX
Redirection
e.g. 301 Moved Permanently
4XX
Client error
e.g. 400 Bad Request
e.g. 403 Forbidden
e.g. 404 Not Found
5XX
Server error
e.g. 500 Internal Server Error
Some fun codes:
HTTP 451 Unavailable For Legal Reasons is an error status
code of the HTTP protocol (e.g. unavailable
for censorship). The number is a reference to Ray Bradbury's 1953 dystopian novel Fahrenheit 451, in
which books are outlawed. 451 provides more information than HTTP 403, which is often used for the same purpose.
HTTP 418 I'm a teapot client error response code indicates that the server refuses to brew coffee because it is, permanently, a teapot. A combined coffee/tea pot that is temporarily out of coffee should instead return 503. This error is a reference to Hyper Text Coffee Pot Control Protocol defined in April Fools' jokes in 1998 and 2014.