F28IR Internet Technologies 2 (GA)

Dr Santiago Chumbe

Course co-ordinator(s): Dr Santiago Chumbe (Edinburgh).

Aims:

To introduce fundamental concepts, languages and technologies underlying software development on the Internet.

To advance the students' web development skills; covering scripting and procedural programming (e.g. JavaScript and Python).

To teach best practices and design patterns in procedural programming to create robust, efficient, secure and maintainable software.

To gain the ability to create scalable, interoperable, modular and service-oriented internet-based applications.

To confer the ability to select and apply suitable strategies, libraries, tools and frameworks to achieve productive programming.

To enable students to implement a web-based procedural programming project, embedded in and contextualised for the host company.

 

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: Edinburgh.

Semester: AY.

Syllabus:

Structured and procedural programming concepts. Server environment programming (e.g. node.js) and database integration (SQL and noSQL).

Sessions, web storage and cookies. Asynchronous Processing. Web services (e.g. SOA, ROA, SOAP, REST,microservices).

Procedural Programming Best Practices. Productive Programming (e.g. agile web development, MVC patterns, software testing life cycle, twelve-factor app methodology).

Distributed development and web development with virtual machines (e.g. Docker, VirtualBox) and software release tools (e.g. Puppet, Plutora).

Performance and scalability issues of web applications. Security in procedural and web programming.

 

SCQF Level: 8.

Credits: 15.