F21NA Network Applications

Dr Hamish TaylorTalal Shaikh

Course co-ordinator(s): Dr Hamish Taylor (Edinburgh), Talal Shaikh (Dubai).


  • To impart knowledge and understanding of the theories, principles and protocols underlying the primary network applications on the Internet
  • To develop the ability to appreciate critically the range of network application technologies and standards
  • To develop skills in a range of the principal network technologies, to impart the main design and practical issues faced in their application, and confer the ability to select and apply relevant techniques for a given network application development problem.
  • To have students creatively develop in teams a substantial network application involving web and application server technologies to an original design of their own

Detailed Information

Pre-requisites: Reasonable software development skills in Java and basic knowledge of data communications and the web..

Location: Dubai, Edinburgh.

Semester: 2.



Network services – service styles and models, Internet, DNS, sockets, implementing services; e-mail - MIME, SMTP, POP, IMAP; web protocols - URIs, HTTP versions and characteristics; web content - HTML, XML, XHTML, HTML 5, forms, tables, embedded objects; CSS style properties; JavaScript – object prototypes, standalone and web client programming; DOM versions, CSS 3, DHTML, AngularJS; web server programming in Java and JavaScript - REST web services, CGI, servlets, JSP, Node.js, web frameworks; asynchronous use of HTTP - AJAX, JSON, JSONP; textual conferencing - IM, IRC, web chat via short and long polling, HTTP streaming, applet sockets and web sockets; web sessions – URL rewriting, web storage, cookies; HTTP authentication

Learning Outcomes: Subject Mastery

Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Informed Learning)

  • Extensive, detailed and critical knowledge and understanding of the theories, techniques and principles underlying the design of network applications and the range of their application
  • Theoretical and practical knowledge of the major network application types including email, web and chat applications and services
  • Critical awareness of protocols and standards underlying key network applications especially the web and of enabling technologies for network applications such as sockets, DNS, XML
  • Ability to design and develop useful network applications including web, email and chat software using apt technologies and languages: HTML, XML, JavaScript, CSS, Java applets, CGI, servlets, active web server pages, REST web services etc.

Learning Outcomes: Personal Abilities

Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Numeracy & ICT

  • Skills in selecting, applying and evaluating apt technologies in a professional way given a problem requiring network interaction
  • Ability to build on initial skills and knowledge by independent research using online resources
  • Showing initiative, creativity and team working skills in shared network application development

Assessment Methods:

Assessment: Examination: (weighting – 60%) Coursework: (weighting – 40%)
Re-assessment:  Examination (MSc only): (weighting – 100%)

SCQF Level: 11.

Credits: 15.