F28IR - Internet Technologies 2

Santiago Segundo Chumbe

Course leader(s):

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.

Syllabus

1. Productive web development (1.1 Web app architectures, 1.2 Web development best practices, 1.3 Software design styles, 1.4 Full-stack development, 1.5 Performance, scalability and security)

2. Asynchronous processing (2.1 Asynchronous web processing, 2.2 JavaScript event loop, 2.3 Implementation promises, fetch, etc., 2.4 Back-end development with JavaScript)

3. Web services (3.1 Introduction to Web Services and APIs, 3.2 Web services protocols, 3.3 WS implementation axios, etc.)

4. Real-time web applications (4.1 Real-time full-duplex requirements, 4.2 WebSocket protocol, 4.3 WebSocket apps implementation)

5. Database Web Development (5.1 Introduction to transactions, 5.2 ACID Model properties, 5.3 RDBMS installation and setup, 5.4 Object Relational Mapping ORM, 5.5 Transaction implementation)

6. Full-Stack Web Development (6.1 Website software architectures, 6.2 Front-end development , 6.3 Back-end development , 6.4 Back-end and Front-end integration)

Learning outcomes

By the end of the course, students should be able to do the following:

Further details

Curriculum explorer: Click here

SCQF Level: 8

Credits: 15