Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA216      CA249      CA318

CA400      CA651      CA668

CA668 - eCommerce Infrastructure

Quickest way to find this web page:
Google ca668 dcu
Think about it: All other ways (starting at the CA site, Googling my name, etc.) will take much longer to get here.
Just Google module code and DCU and it is the first hit.

This page is not applicable this year

This page is not applicable for the 2017-18 year. I am on leave and someone else is doing this module.



How to contact me

See How to contact me.

About the notes

Week (lecture)


Week (lab)


Week 1

Introduction to Networks
  1. Internet Demo page
  2. Internet Demo page (more)


  1. Networks Reference [REFERENCE]

  2. Internet Reference [REFERENCE]


Week 2

The Internet
  1. Hosts and IP addresses

  2. DNS

  3. Remote and Network Computing [REFERENCE]

Week 3

  1. How to find your IP address

  2. Network tools

Week 3

The Web
  1. Aspects of a modern web site:
    1. HTML
    2. XML
    3. XHTML
    4. HTML5
    5. CSS
    6. SSI
    7. CGI
    8. PHP
    9. Javascript
    10. Ajax
    11. JSON

  2. How to set up and maintain Web pages

Week 4

  1. Lab - Web

Week 4

The Web
  1. The Web

Dynamic pages - server-side

  1. Dynamic pages - server-side

  2. CGI scripts (server-side)
    1. Chaos Theory (Demo of a C++ CGI script)
    2. Perl

My CGI search engine:

This is written in Shell. Shell is not part of this module, so this may be hard to understand. Consider this as "background reading" that may help explain CGI. Not part of the main course.

  1. My CGI search engine
  2. How to write a CGI search engine in Shell
  3. Lab to write search engine in Shell

Week 5

  1. CSS and SSI

Week 5

Dynamic pages - server-side
  1. My "404 Not Found" Handler (.htaccess plus server-side program)

  2. PHP
    1. Reference
    2. Debugging

  3. PHP demo page
  4. PHP mini test

Week 6

  1. Lab - PHP

  2. How to debug a program

Launch PHP practical.

Week 6

Dynamic pages - client-side
  1. Dynamic pages - client-side


  1. JavaScript
    1. Reference
    2. Debugging

JavaScript demos

  1. Javascript page change demo
  2. Minimal size demo of changing page

  3. Javascript menu demo
  4. Javascript environment variables demo
  5. Javascript syntax highlighting
  6. Javascript - doing calculations on client side

Week 7

  1. Lab - Javascript

  2. How to debug a program

Week 7

  1. JavaScript (More)

  2. OOP in JavaScript

Week 8

  1. Get Javascript demos working
  2. "Powerpoint-ify" exercise

Week 8

  1. JavaScript Ajax - JavaScript's 2nd life

  2. Ajax demos
    1. Javascript Ajax demo
    2. Javascript Ajax demo - calling a server-side program
    3. Minimal size demo of calling a server-side program
    4. Javascript Ajax - Parsing XML on the client side

  3. JavaScript Ajax (More)

Comparison of different ways of putting a program online

  1. Client v. Server - Putting a program online

Week 9

  1. Lab - Ajax

Week 9

  1. jQuery
    1. Anonymous functions

  2. jQuery - test page

  3. Minimal size demo of calling server-side program with jQuery
  4. Minimal size demo of fetching server-side resource with jQuery


  1. JSON

Week 10

  1. Lab - JSONP using Flickr feeds

Launch Javascript practical.

Week 10

Web architecture
  1. The Web - Overview

  2. REST APIs

Web services and APIs

  1. Web services and Service-oriented architecture

  2. Web APIs

  3. RPC APIs

  4. Asynchronous APIs

Week 11

  1. Lab - SOAP using Flickr API

Week 11

Cloud computing
  1. Cloud computing

Machine readable v. human readable data

  1. Binary v. Text


  1. XML and HTML (Machine readable and human readable content)

  2. RSS

Week 12

No lab.

Week 12



  1. Email



Extra notes - Not on course this year

  1. Network classes

  2. Transport Layer

JavaScript graphics (3D graphics rendering on client-side, JavaScript's 3rd life)

  1. JavaScript graphics notes


Do as individuals.

Do in your own time.

Deadline week 12, last lecture.

MECB do one practical, 35 percent of module. PHP.

  1. PHP search engine practical

Other students do two practicals, 15 and 20 percent of module. PHP and JavaScript.

  1. PHP search engine practical

  2. Javascript YouTube API practical

Repeat Practical 2017

Do the Practical again.
Deadline Fri 4 Aug 2017.

Bring your printouts to L125 on Fri 4 Aug 2017 at 2 pm.
You will demo your work and I will query you on it.



PHP and Javascript

Library categories


PHP and Javascript


Sometimes I link to Wikipedia. I need to write something in defence of this.

On the one hand, Wikipedia is deeply flawed, so you should use all links to Wikipedia with extreme caution. Many people refuse to link to it.

On the other hand, it is often clearly the best thing to link to on a topic. I say: Link to it, but use with caution and scepticism.

Mark calculator

Exam (65): Practical (35):

Total mark:      

Feeds      w2mind.org      ancientbrain.com

On the Internet since 1987.