CS1116/CS5018

Web Development 2

Dr Derek Bridge

School of Computer Science & Information Technology

University College Cork

Administrivia: The lecturer

Derek Bridge: Room G-61, Western Gateway Building
d stop bridge amphora cs plip ucc plop ie
www.cs.ucc.ie/dbridge.html

Administrivia: Module delivery

Credit weighting: 5 credit module
Prerequisites: CS1117, CS1106/CS5021, CS1115/CS5002
Lectures: 2 × 1 hr per week
Labs: 1 × 2 hr per week
Private study: At least 2 hrs per week
Course web site: www.cs.ucc.ie/~dgb/courses/wd2.html
Contains copies of some of the slides
N.B. Slides, not notes!

Administrivia: Assessment

Examination: 1.5 hr written exam (75% of the marks)
Continuous assessment: Programming project (25% of the marks)
How to fail: Skip lectures & labs; avoid private study; cram the week 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 programming exam

Plagiarism

  1. Plagiarism is presenting someone else’s work as your own. It is a violation of UCC Policy and there are strict and severe penalties.
  2. You must read and comply with the UCC Policy on Plagiarism www.ucc.ie/en/exams/procedures-regulations/
  3. The Policy applies to all work submitted, including software.
  4. You can expect that your work will be checked for evidence of plagiarism or collusion.
  5. 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.
  6. If in doubt ask your module lecturer prior to submission. Better safe than sorry!

The risk of complacency

Revision

Web client hardware, running Web client software such as a Web browser, sends an HTTP GET request to a Web server. The Web server hardware is running Web server software, and it sends back an HTTP response.

Programs on the Web

Server-side programs

The client requests that a program be executed

Server-side programs

The server executes the program

Server-side programs

The response to the client is the outut from the program

Client-side programs

The client requests a program from the server

Client-side programs

The server sends a copy of the program to the client

Client-side programs

The client executes the program /

Programs on the Web

A server-side Python program

#!/usr/local/bin/python3

from datetime import datetime

print('Content-Type: text/html')
print()

print("""
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8" />
            <title>Greetings!</title>
        </head>
        <body>
            <p>
                Hello world. It is %s, right now.
            </p>
        </body>
    </html>""" % (datetime.now().strftime('%H:%M:%S %d-%m-%y')))

Check your understanding