Em Teoria da Computação são apresentadas ferramentas abstractas indispensáveis à concepção de novas linguagens de programação, nomeadamente no que diz respeito a reconhecedores sintácticos e à relação entre processos geradores (gramáticas) e processos reconhecedores (autómatos finitos).
É ainda apresentada a noção de complexidade que permite escolher entre dois ou mais algoritmos para resolver o mesmo problema (tendo em conta o esforço computacional de cada um).
A comunicação entre sistemas é apenas possível no contexto dum conjunto de regras - designadas usualmente por modelos ou arquitecturas de comunicação - que definem a interacções entre equipamentos e/ou modulos de programas. A disciplina de Redes de Computadores pretende debruçar-se sobre as arquitecturas de comunicação OSI da ISO e TCP/IP. Enquanto que a primeira é um modelo de referência a partir do qual são importadas normas, técnicas e/ou tecnologias, a segunda consiste na arquitectura protocolar usada na Internet.

Em Programação Aplicada, para além dos fundamentos teóricos, pretende abordar essencialmente a prática na programação orientada a objectos (POO) recorrendo à linguagem Java.

O desenvolvimento de aplicações implica o domínio do paradigma POO, nomeadamente os conceitos de classes, objectos, herança e polimorfismo, a capacidade de projectar e implementar aplicações gráficas recorrendo ao Java Swing, a manipulação de ficheiros (de texto e de objectos) e bases de dados relacionais, bem como o uso de estruturas de dados dinâmicas (como vectores e dicionários).

A unidade curricular de Programação Aplicada apresenta uma forte componente prática, baseada na aquisição do conhecimento e de competência pela experimentação, resolução de trabalhos práticos e desenvolvimento de projectos de programação.

Dotar os alunos de conhecimentos sobre as principais preocupações que deverão estar sempre presentes aquando do desenvolvimento de aplicações informáticas que tenham uma interface com o utilizador. No final do semestre os alunos deverão ser capazes de desenvolver e avaliar interfaces com o utilizador.
Dotar os alunos de conhecimentos sobre o processo de desenvolvimento de páginas web do lado do servidor utilizando PHP+MySQL. No final do semestre os alunos deverão ser capazes de desenvolver um web site suportado por uma base de dados MySQL.

Um Sistema Operativo actua como um intermediario entre o utilizador e o hardware dum computador, sendo responsável por gerir a alocação dos recursos dum computador (e.g. CPU, memória, armazenamento de ficheiros, dispositivos de I/O) a utilizadores e programas, de modo a evitar possíveis solicitações potencialmente conflituosas. O objectivo desta cadeira é o de transmitir ao aluno conhecimentos relativos ao funcionamento dos Sistemas Operativos e a capacidade de desenvolver aplicações que façam uso do interface de programação dum Sistema Operativo.

A unidade curricular de Bases de Dados (inserida na Licenciatura em Engenharia Informática) para além dos fundamentos teóricos pretende abordar essencialmente a análise, concepção e construção de bases de dados relacionais em ambiente cliente-servidor.

Em Programação é apresentado o paradigma Programação Orientada a Objectos, os seus conceitos fundamentais, técnicas e métodos de programação.
É usada a linguagem Java para desenvolver programas envolvendo classes de objectos, métodos aplicados a objectos e métodos estáticos, tabelas, colecções, input/output e ficheiros (de texto, binários e de objectos).