Course co-ordinator(s): Dr Hamish Taylor (Edinburgh), Talal Shaikh (Dubai).
Aims:
- 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.
Syllabus:
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.


