Programação Imperativa
Aula 1: Apresentação


Índice

Objectivos da cadeira
Professores
Bibliografia
Regras de avaliação
Data e local dos testes
Copianço
Programa
Recomendação para os alunos

Descrição e objectivos da cadeira

Esta é uma cadeira de introdução à computação de programação. Nas primeiras duas semanas de aulas iremos dar uma prespectiva global sobre as várias facetas do mundo da computação. Daremos as noções de hardware, software, sistema operativo, linguagens de programação, compiladores, programas de aplicação, a Internet e a sua utilização.

O resto das aulas vai incidir sobre os fundamentos de programação de computadores. Como linguagem de programação iremos usar a linguagem C mas os conceitos que vão aprender aplicam-se a quase todas as linguagens de programação. No final da cadeira os alunos devem saber os fundamentos de programação e devem ser capazes de escrever programas simples. A cadeira não requer conhecimentos prévios na área de informática.

Nos apontamentos:



Professores

NOME
E-MAIL
HORÁRIO DE ATENDIMENTO
GABINETE
Peter Stallinga
pjotr@ualg.pt
segunda-f. 13:30-17:30
quinta-f. 10:00-12:00
 2.78 / 2.68
 Patricio Serendero
pserende@ualg.pt
segunda-f. 16:00-17:00
Quinta-f 15:00-18:00
2.63
Álvaro Barradas
abarra@ualg.pt
segunda-f. 16:30-18:00
terça-f. 13:30-14:00
terça-f. 17:00-18:00
quarta-f. 13:30-15:00
2.57

Os alunos devem tirar as suas dúvidas preferencialmente nas aulas. Só se a dúvida persistir é que devem então contactar os docentes no horário referido acima.


Bibliografia

book cover "The C
              Programming Language"
  • Apontamentos dados nas aulas estarão disponíveis na webpage da cadeira http://www.stallinga.org/AcadActiv/Lectures/PI/
  • "Programação com linguagem C", João Gonçalves, Edições Sílabo, ISBN 972-618-088-0
  • "The C programming language", Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall; ISBN: 0131103628
  • http://www.its.strath.ac.uk/courses/c/
  • http://www.eskimo.com/~scs/cclass/notes/top.html

Regras de avaliação (2004-2005)


Data e local dos testes

veja no servidor dos horários da universidade

Copianço

Quem copiar, deixar copiar, ou fizer qualquer outro tipo de batota, durante os momentos de avaliação, terá zero valores e leva um processo disciplinar para o Conselho Pedagógico.

Programa

Apresentação, descrição e objectivos da cadeira. 
Noções introdutórias sobre computadores: tipos de computadores, componentes de um computador, características de um computador, sistema operativo, linguagens de programação, compiladores, programas de aplicação.
Noções e utilização da Internet. 
Noções básicas de programação: constantes, variáveis, expressões, operadores, instrução de atribuição, instruções de input/output, funções pré-definidas.
Noções de programação estruturada: sequência, selecção, iteração. 
Instruções de selecção: if, if-else, switch.
Instruções de iteração: ciclos for, while, do-while.
Funções (programação modular).
Vectores e matrizes: arrays de uma e duas dimensões. 
Caracteres e cadeias de caracteres. 
Structs e definição de novos tipos de dados.
Recursividade.
Noção de algoritmo. Algoritmos de ordenação simples. Algoritmo de pesquisa sequencial e de pesquisa binária.
Apontadores. Passagem de parâmetros.
Input / output de ficheiros.

Recomendação para os alunos

A programação de computadores não é difícil. Pelo contrário, é uma tarefa relativamente fácil e divertida que envolve apenas meia dúzia de conceitos. No entanto, requer um tipo de raciocínio a que as pessoas normalmente não estão muito habituadas. Como tal, trata-se de uma tarefa que exige bastante prática e por isso recomendo que treinem bastante fora do horário das aulas. Se fizerem isso ao longo do semestre, nem sequer precisam de estudar para os testes e passarão à cadeira com boa nota quase de certeza.

Peter Stallinga. 24 setembro 2004