Computing systems and networks - SCOMRED - 2021/2022

Lectures

  • Lecture 1: Operating Systems and Computer Networks. Components of a Computer System. Operating Systems basic concepts. Networking: layer two; layer three. The IPv4 protocol, addressing and routing. DNS.
  • Lecture 2: Linux Servers. Simulation and Virtualization. Hardware Virtualization - Virtual Machines. Operating System Virtualization - Containers.
  • Lecture 3: The BASH and Command Line Utilities. Variables. Conditional Commands. Loop Commands. Input and Output Redirection. Pipelining. BASH scripts.
  • Lecture 4: HTML and active web pages (frontend). JavaScript and DOM.
  • Lecture 5: HTTP contents transfer. Web Browsers and Web Servers. Uniform Resource Locator.
  • Lecture 6: Dynamic contents and web pages (backend). Web services. CGI (Common Gateway Interface). AJAX.
  • Lecture 7: Web services. AJAX example - voting.
  • Lecture 8: RESTful Web Services.

Laboratory classes

  • Lab 1: Computer networks. The course's networking environment. Packet Tracer practice - Layer 2 and layer 3 networking; MAC tables; ARP tables. Packet Tracer practice - Layer 3 IPv4 routing.
  • Lab 2: Creating an Ubuntu Server 20.04 LTS in the DEI private cloud. Managing a Linux server from the command line shell. The Apache web server, managing services with the systemctl command. The BASH and command line utilities.
  • Lab 3: BASH command line and command line utilities. BASH programming - Algorithmics.
  • Lab 4: BASH programming - Algorithmics. Tasks scheduling in Linux - CRON. Command line utilities - using and managing Docker containers.
  • Lab 5: HTML. Active contents with JavaScript programming.
  • Lab 6: Development environment and production environment. Deploying contents into servers. Apache/CGI based dynamic web contents. BASH based CGI applications. Backend and web services testing - postman.
  • Lab 7: Implementing and testing the AJAX voting example. Locking issues. Team project development - Active and dynamic Web sites.
  • Lab 8: Team project development - Active and dynamic Web sites.

A. Moreira (asc@isep.ipp.pt)
https://www.dei.isep.ipp.pt/~asc

Departamento de Engenharia Informática (DEI)
Instituto Superior de Engenharia do Porto (ISEP)
Instituto Politécnico do Porto (IPP)

Rua Dr. António Bernardino de Almeida, 431
4249-015 Porto
PORTUGAL