All posts by Sérgio.Alves

IST_2012_simbolo_thumbnail

AC – Arquitectura de Computadores

Cursos

LETI & LEE

Dificuldade

Média-alta

Carga horária

No meu caso, gastei no total 65 h (em média: 4,3 h/semana)

O que se aprende?

Vais compreender quais os componentes fundamentais numa arquitectura de computador e processador e o seu papel no conjunto. Vais aprender a programar um computador em linguagem assembly. Vais descobrir o que são interrupções (INT) e como utilizá-las.

Devo comprar o livro?

Nesta cadeira vai-te fazer imenso jeito o livro aconselhado. Vai estudando o livro à  medida que a matéria é leccionada.

Dicas

Bastante importante acompanhar o que é lecionado em todas as aulas teóricas e aproveita o que é pedido em todas as aulas de laboratório que vai ser bastante útil para a realização do projeto com sucesso.

Recursos

Página da cadeira

IST_2012_simbolo_thumbnail

SD – Sistemas Digitais

Cursos

LETI & LEE

Dificuldade

Média-alta

Carga horária

No meu caso, gastei no total 72 h (em média: 3,8 h/semana)

O que se aprende?

Vais descobrir o que é um bit, byte… Vais aprender a utilizar sistemas de numeração binária. Vais concretizar funções booleanas com circuitos com portas lógicas simples. Vais compreender o funcionamento dos componentes fundamentais dos circuitos combinatórios e compreender o funcionamento dos elementos básicos de memória, e utilizar registos e contadores.

Devo comprar o livro?

Neste caso o livro de SD não é muito útil. Penso que os apontamentos, slides das teóricas e alguns testes ou exames resolvidos serão suficientes.

Dicas

Bastante importante preparar os labs e as aulas de problemas com antecedência e perceber o que é pedido em cada caso.

Não te esqueças de ir às teóricas e praticar bastante antes do exame/testes!

Recursos

Página da cadeira

IST_2012_simbolo_thumbnail

LP – Lógica para Programação

Curso

LEIC

Dificuldade

Fácil.

Carga horária

1,5 hora/semana, em média

O que se aprende?

Esta é uma cadeira que introduz Inteligência Artificial. Nesta cadeira aprenderás a estruturar um problema de forma lógica, neste mundo apenas existe o valor de verdadeiro e falso. Vais começar por ver proposições e argumentos como:
‘Tudo o que respira é um ser vivo.
A planta respira.
Logo, a planta é um ser vivo’
Terás de classificá-los quanto à sua validade.
Depois, vais iniciar a matéria que te vai permitir perceber como o Prolog funciona: Lógica proposicional, de primeira ordem e resolução. No final aprenderás a programar em Prolog e, também, em um novo paradigma da programação, a programação em lógica, neste paradigma o teu objetivo não é encontrar um procedimento que resolva o teu problema mas, sim, encontrar a descrição correta do problema que o Prolog entenda para que depois, este, possa resolver o problema.

 

Devo comprar o livro?

Não existe livro. Ao longo do semestre são distribuídas notas sobre a cadeira no fénix.

Dicas

O Prolog será provavelmente o teu maior inimigo, é uma linguagem diferente das que estás habituado, como o python, C ou Java. O paradigma de programação também é diferente daquele que estás habituado, estamos a falar da programação em lógica. Esta linguagem é declarativa, ou seja, o teu objetivo é especificar o problema de forma não ambígua, depois o Prolog irá usar a sua estratégia de resolução de problemas para resolvê-lo. Esta linguagem é bastante diferente, portanto o programa à la Prolog, não pensa em ciclos, variáveis globais, métodos, atributos, pensa, antes, em funções recursivas, listas, factos e predicados.

 Exemplo prolog
 tom(gato).
 jerry(rato).
?- gato(tom).  yes
?- gato(jerry).  no
?- gato(X).  X=tom  yes

Recursos

Página da cadeira

Teóricas, práticas, testes @SHELF (Cortesia: NEERCI)

SWI-Prolog

Livro de Prolog @Wiki

IST_2012_simbolo_thumbnail

MOD – Análise e Modelação de Sistemas

Dificuldade

Média.

Carga horária

No meu caso, gastei no total 90 h (em média: 4,5 h/semana).

O que se aprende?

Nesta cadeira estás na fase de planeamento e desenho do sistema.

Durante o projeto serás um arquiteto que terá de desenhar o sistema apresentando; um documento de requisitos, diagrama de interação, casos de uso do sistema, entre outros documentos que irás aprender a desenhar ao longo do semestre.

A primeira parte da matéria, correspondente aos testes 1 e 2, é a menos exigente, pois alguns dos conceitos já foram abordados em PO como é o caso dos diagramas de UML outros conceitos, como análise de requisitos, será abordado em ES o que ajudará a consolidar a aprendizagem efetuada em modelação. Na terceira parte os BDD e IBD concluem a matéria do terceiro teste. Na parte final, a matéria não é difícil, irás falar sobre processos de negócios.

 

Devo comprar o livro?

Não. Os slides, e os exercícios resolvidos, são suficientes. Não te esqueças de ver os testes dos anos anteriores!

Dicas

Os testes são com consulta, podes levar o material que quiseres, não te iludas com esta possibilidade e resolve os exercícios propostos, para as práticas, antes dos testes. Alguns dos conceitos aprendidos, análise de requisitos por exemplo, será também abordado em ES, se já perceberes a matéria em MOD, será mais fácil acompanhar ES. Quanto ao projeto, esclarece as dúvidas com os professores, é normal que tenhas imensas dúvidas e que a resposta de dois professores seja diferente, pois estamos a falar da interpretação de um documento ambíguo que tu irás, tentar, clarificar. Vai resolvendo o enunciado do projeto e tenta realizar todas as entregas intermédias, apesar de não serem avaliadas, estas entregas dão feedback sobre o projeto. Aproveita para corrigir e ter uma melhor nota na entrega final. Esta cadeira é importante para quem pensa seguir mestrado na área de Sistemas de Informação Empresariais.

Recursos

Página da cadeira

Teóricas, práticas, apontamentos, testes @SHELF (Cortesia: NEERCI)

IST_2012_simbolo_thumbnail

BD – Base de Dados

Cursos

LEIC & LETI

Dificuldade

Média.

Carga horária

3 horas/semana, em média.

O que se aprende?

Base de dados começa por apresentar um modelo, o modelo Entidade-Relação, que te irá permitir modelar a base de dados, depois será apresentada a tradução deste modelo para o modelo relacional, antes de iniciares a aprendizagem da linguagem SQL, aprenderás álgebra relacional, esta matéria será avaliada no exame e na primeira parte do projeto. O programa continua com restrições de integridade em SQL, triggers e PHP. JDBC é abordado ligeiramente nas aulas, mas não é avaliado no projeto, uma vez que usarás PHP e não Java para fazer a comunicação com a base de dados. No final falarás sobre tópicos avançados de base de dados como normalização, índices e transações. Atenção, a segunda parte do projeto exige mais trabalho e dedicação que a primeira!

Esta cadeira tem como objetivo introduzir as tecnologias de informação na LEIC, assim sendo, é fundamental para qualquer engenheiro informático.

Devo comprar o livro?

O livro é bom. Os slides são suficientes na primeira parte da matéria mas, na segunda parte, acho que o livro é uma boa ajuda.

Dicas

Esta cadeira é feita por exame no final do semestre. Deves ir estudando ao longo do semestre pois irá ajudar-te a desenvolver o projeto. A parte final da matéria teórica é mais difícil, é bastante exaustiva e não está explicada de forma clara nos slides, aconselho a leitura no livro dos tópicos: normalização, transações e índices.

Não faltes às aulas de Laboratório, são importantes! Estas aulas ajudam a consolidar a matéria teórica e muito do que é falado nos laboratórios, não é novamente repetido nas aulas teóricas. Para aprenderes SQL deverás criar uma base de dados e realizar queries sobre a mesma, vai praticando as queries, é fácil. No PHP só será usado o essencial; um estilo imperativo, sem frameworks, bastante simples, portanto.

A primeira parte do projeto é a mais fácil, no entanto é a parte mais teórica, aproveita para garantir uma boa nota! Na segunda parte vais trabalhar com o PostgreSQL, criar a base de dados, preencher a base de dados e definir os triggers, serão algumas das tarefas que terás que realizar. Quanto ao PHP, terás que estabelecer a ligação com a base de dados, receber dados de um formulário, processá-los e apresentar a informação requerida ao utilizador. Para além da parte mais prática poderás ter algumas perguntas teóricas sobre índices.

Recursos

Página da cadeira

Teóricas, práticas, testes @SHELF (Cortesia: NEERCI)

Slides do Livro Database Management Systems, Third Edition

Aprende SQL @w3Schools

Manual de PHP

 

IST_2012_simbolo_thumbnail

CG – Computação Gráfica

Curso

LEIC

Dificuldade

Média.

Carga horária

3 horas/semana, em média.

O que se aprende?

Se gostas de jogos, esta será, provavelmente, a tua cadeira favorita da licenciatura. Vais aprender a usar o OpenGL e realizar um jogo. Mas para usar o OpenGL deverás estar atento à matéria teórica. Vais fazer uma revisão de transformações geométricas, uma matéria que foi dada em álgebra linear, no primeiro semestre do primeiro ano. Deves fazer uma revisão dos conceitos, de qualquer maneira vai ser dada uma aula de, apenas, noventa minutos que te tentará ajudar a reavivar a tua memória. Na segunda parte da matéria falarás de visualização e projecção, back-face culling, recorte e, iluminação. Na terceira parte da matéria, correspondente ao terceiro teste, aprofundarás a transformação janela-viewport, aprenderás os algoritmos de discretização e rasterização. O semestre termina com sombreamento, sistemas de partículas e colisões, cor e formatos de imagem.

 

Devo comprar o livro?

Não. Os slides são suficientes.

Dicas

O projeto é desenvolvido em C/C++ usando a biblioteca OpenGL, também será usada a biblioteca GLUT, no meu ano tive a oportunidade de desenvolver o jogo Pacman em 3D. Para realizar o jogo deverás estar atento às aulas pois a parte teórica é importante para o projeto. O projeto está dividido em 4 partes, no fim de cada parte ser-te-á dado um feedback por parte do teu professor de laboratório. O projeto é divertido porque à medida que o vais realizando tens a oportunidade de jogar um jogo que tu acabaste de fazer, embora viciante, não te distraias a “testar” o teu jogo. Obter uma boa classificação no projeto não é difícil, por isso, aproveita!

Não esqueças que a teoria é bastante importante! Resolve os testes dos anos anteriores. Os testes são de escolha múltipla, este tipo de exames tem o inconveniente de apenas contabilizar a resposta final, portanto, tens de ter atenção e verificar os teus cálculos. Deves estudar o código porque, também, sai no teste.

Apesar de ser divertido, este projeto só vale 50 % da nota, portanto, não te esqueças de estudar a teoria!

Recursos

Página da cadeira

Teóricas, práticas, testes @SHELF (Cortesia: NEERCI)

 

IST_2012_simbolo_thumbnail

Comp – Compiladores

Curso

LEIC

Dificuldade

Média.

Carga horária

4 horas/semana, em média.

O que se aprende?

Nesta cadeira terás a oportunidade de desenvolver um compilador para uma linguagem simples, desenhada pelo teu professor, recorrendo a ferramentas como: o flex, byacc, burg e nasm.
A primeira parte da matéria é parecida com aquilo que foi dado em Teoria da Computação, os temas abordados incluem: expressões regulares, análise léxica, flex, gramáticas e byacc. As expressões regulares são uma matéria importante, pois são bastantes usadas no dia-a-dia de um engenheiro informático, por exemplo; Javascript tem suporte na linguagem para estas expressões.
A segunda parte é mais ‘low-level‘, a geração de código, o código postfix e, otimização serão os temas abordados. A avaliação da cadeira é feita através de um projeto e, um exame.

 

Devo comprar o livro?

Não. Os slides do professor, e os teus apontamentos, são suficientes. Não te esqueças, de escrever a resolução de todos os exercícios nas aulas, é muito importante!

Dicas

A primeira aula prática é interessante, nesta aula são apresentadas ferramentas Unix, que qualquer engenheiro deveria conhecer. Aproveita a aula para esclareceres dúvidas sobre ferramentas pois irás usá-las no projeto que efetuares. As restantes aulas são também importantes, pois os exercícios do exame não costumam ser muito diferentes dos exercícios realizados nas aulas práticas.

Infelizmente, as aulas práticas, não costumam ajudar muito no projeto. A maior ajuda que tens no projeto são os ‘horários de dúvidas’, dados nos laboratórios, onde deves aproveitar para esclarecer as dúvidas, mostrando ao professor o ‘código’ no teu computador.

A primeira parte do projeto é a mais acessível, deves olhar para o exemplo fornecido, o Compact, antes de escreveres o ‘código’. Não olhes para projetos realizados em anos anteriores são, por norma, complexos e de difícil compreensão, o exemplo fornecido é mais simples. A segunda parte do projeto implica gerar assembly, saber um pouco de assembly ajuda nesta parte do projeto, portanto aplica-te!

Quanto ao exame, costuma ser parecido com os exames anteriores, mas não existem exames resolvidos pelo professor, portanto deves tentar resolvê-los, e mostrar ao professor nos ‘horários de dúvidas’.

Boa sorte :)

Recursos

Página da cadeira

Teóricas, práticas, testes @SHELF (Cortesia: NEERCI)

Compiladores – David Matos

MOOC – Compilers @Coursera

IST_2012_simbolo_thumbnail

RC – Redes de Computadores

Dificuldade

Média

Carga horária

Gastei no total  50h (em média: 2h/semana)

O que se aprende?

Aprenderás, obviamente, os conceitos básicos e fundamentais das redes de computadores e da Internet. Também estudarás inúmeros protocolos básicos e ainda segurança em redes. Nos laboratórios irás aprender a usar o Wireshark e aplicar os vários conceitos dados nas aulas teóricas.

Devo comprar o livro?

Não é necessário, os materiais fornecidos (slides das teóricas e exercícios práticos) são mais que suficientes para perceberes a matéria dada.

Dicas

Não deixes de ir às aulas teóricas, pois aí dás os fundamentos para poderes realizar os laboratórios e o projeto em Java com sucesso.

Recursos

Página da cadeira

Teóricas, exercícios e testes @SHELF (cortesia: NEERCI)

Download Wireshark

MOOC – Computer Networks (@Coursera)