Docente: Daniela da Cruz
Contacto: danieladacruz @ di.uminho.pt/ danieladacruz @ gmail.com
Material Pedagógico
Trabalhos Práticos
- 1º Trabalho Prático (entrega prevista para 30 Maio)
Fichas Práticas
Ferramentas MySQL
Ferramentas PHP
Programa
- Parte I - Linguagem C#
- Introdução
- Elementos Básicos
- Conceitos de Orientação aos objectos
- Programação orientada aos objectos
- Excepções
- Programação baseada em componentes
- Tópicos avançados
- Parte II - Bases de Dados
- Elementos Básicos
- Criação de Bases de Dados Relacionais
- Linguagem de interrogação SQL
- Microsoft Access/MySQL
- Parte III - Linguagens HTML + PHP
- Elementos Básicos
- Criação de páginas em HTML
- Criação de páginas em PHP
- Acesso a bases de dados usando PHP +MySQL
Avaliação
A Avaliação tem uma componente teórica e uma componente prática ambas obrigatórias.
Componente prática: 2 Trabalhos (Programa + apresentação) , cada um com um peso de 20%
Componente teórica: 3 testes ao longo do ano, cada um com um peso de 20%
Participação+Assiduidade+Pontualidade+Comportamento+Qualidade na Execução 0-10%.
NOTA: Obrigatoriedade de assistir a 75% das aulas (caso contrário, REPROVADO)
Bibliografia
- Pro C# with .NET 3.0, Andrew Troelsen, Apress.
- C# 3.0 in a nutshell, Joseph Albabari and Ben Albabari, O'reilly.
- MySQL cookbook, Paul DuBois, O'reilly.
- Manual do PHP.
- Programming PHP, Rasmus Lerdorf, Kevin Tatroe, Peter MacIntyre, O'reilly.
Sumários
Aula de 04-Março-2010
- Apresentação geral da disciplina: Objectivos e Funcionamento; Avaliação e Trabalhos práticos; Programa e Bibliografia (Slides disponíveis aqui).
- Introdução à Linguagem de Programação C#: a filosofia subjacente e o modelo computacional (Slides disponíveis aqui).
- Um primeiro programa em C\# com leitura do stdin e escrita no stdout.
- Resolução dos exercícios 1 (Resolução) e 2 (Resolução) da primeira ficha prática.
Aula de 09-Março-2010
- Revisão dos conceitos introduzidos na aula anterior (tipos de dados e declaração de variávies).
- Introdução da noção de função e conversão entre tipos (usando o Convert.ToInt32 ou alternativamente o int.Parse).
- Resolução do exercício 3 da Ficha 1 --- Resolução.
Aula de 11-Março-2010
- Revisão do conceito de conversão entre tipos (usando o Convert.ToInt32 ou int.Parse) e introdução à noção de formatação de Strings (usando {0:0.00} para formatar números do tipo float/double).
- Introdução às estruturas de controlo: condicionais e cíclicas (Slides disponíveis aqui).
- Resolução dos exercícios 1 e 2 da Ficha 2.
Aula de 16-Março-2010
- Resolução dos exercícios 3.1 e 3.2 da Ficha 2 --- estruturas de controlo cíclicas (Resolução aqui).
Aula de 18-Março-2010
- Resolução do exercício 3.4 da Ficha 2 (Resolução aqui) --- introdução ao ciclo for.
Aula de 30-Março-2010
- Introdução à utilização de funções com vista a resolver os problemas na forma de subproblemas (problemas mais pequenos). (Acetatos disponíveis aqui)
- Introdução à utilização de arrays de inteiros e à forma de percorrer um array usando um ciclo for (Acetatos disponíveis aqui).
- Resolução do exercício 3.7 da Ficha 2 (Resolução aqui).
Aula de 06-Abril-2010
- Continuação da resolução do exercício 3.7 da Ficha 2 (soma, média, mínimo de um array de inteiros).
Aula de 08-Abril-2010
- Resolução do exercício 3.9 da Ficha 2 (verificar se um número é primo).
- Introdução à estrutura de controlo switch/case.
- Criação de um meno de opções (usando while e switch/case) com vista à ajuda da resolução do trabalho prático da disciplina --- Resolução disponível aqui.
Aula de 13-Abril-2010
- Resolução do exercício 1 da Ficha 3 --- contagem de minúsculas, maiúsculas, dígitos, espaços, vogais, consoantes, com recurso às funções char.isUpper, char.isLower, char.isWhiteSpace, etc (Resolução aqui.
- Introdução à leitura de ficheiros usando as funções do namespace System.IO (StreamReader).
- Leitura de um ficheiro e respectiva impressão para a Consola.
Aula de 15-Abril-2010
- Estudo de funções que permitem manipular strings: Split.
- Armazenamento da respectiva informação lida de ficheiro para um array de strings; pesquisa de informação num array (método Contains).
- Resolução do exercício 3 da Ficha 3: Leitura de Ficheiros (leitura linha a linha usando o método ReadLine; armazenamento de categorias num array de strings; armazenamento de items num array de strings) --- Resolução aqui.
Aula de 20-Abril-2010
- Resolução completa do Exercício 3.1 da Ficha 3 --- Disponível aqui.
- Introdução ao conceito de matriz.
- Implementação do Jogo do Galo com matrizes --- Exercício 2.2 da Ficha 3 (Resolução aqui).
Aula de 22-Abril-2010
- Teste da primeira parte da matéria --- Enunciado aqui.
Aula de 27-Abril-2010
- Introdução ao HTML --- Hypertext Markup Language: cabeçalhos (<h1>, <h2>, ..., <h6>); parágrafos (<p>), links (<a>); imagens (<img>); tabelas; listas ordenadas e não ordenadas;
- Introdução ao uso de CSS --- Cascading Style Sheets: Propriedades margin, padding, width, text-align, and border.
- Resultados da aula: Página HTML e respectiva Stylesheet.
Aula de 4-Maio-2010
- Continuação da introdução ao HTML --- utilização de formulários;
- Utilização dos diferentes tipos de input: checkbox, radiobox, textbox e passowrd.
- Formatação de menus: Propriedades background-color, list-style-type e display.
Aula de 6-Maio-2010
- Continuação da introdução ao HTML e CSS.
- Criação de um layout para uma página com cabeçalho, rodapé e duas colunas utilizando as diferentes propriedades de uma stylesheet.
- Embelezamento da página recorrendo à utilização de round corners com o auxílio de uma imagem.
- Resultados da aula: Página HTML juntamente com a respectiva CSS e imagens.
Aula de 11-Maio-2010
- Continuação do estudo do HTML e CSS.
Aula de 20-Maio-2010
- Introdução ao tema Base de Dados:
- o que são;
- qual a sua utilidade;
- modelos de bases de dados mono-tabela e multi-tabela;
- conceito de Entidades e Relações;
- tipos de Relações
- construção de diagramas Entidades-Relações (ER).
- Utilização da ferramenta MySQL Workbench para a construção de diagramas ER.
Aula de 27-Maio-2010
- Continuação do estudo de Base de Dados.
- Desenho de um diagrama de ER e respectivo modelo relacional usando Base de Dados com recurso à ferramenta MySQL Workbench.
- Introdução aos tipos de dados em MySQL: tipos numéricos, string, data.
- Introdução à sintaxe da linguagem SQL: create table, drop table, insert, delete, select.
- Geração de código SQL a partir da ferramenta MySQL Workbench e criação de queries SQL.
- Slides da aula aqui.
Aula de 17-Junho-2010
- Desenho de um diagrama de ER para uma base de dados de um certame de instrumentos musicais.
- Desenho do respectivo modelo relacional usando Base de Dados com recurso à ferramenta MySQL Workbench: tabelas Pessoa, TipoPessoa (visitante, comprador, vendedor), Instrumento, Compra, DonosIntrumento).
- Interrogações à base de dados usando as instruções SQL.
Aula de 24-Junho-2010
- Entrega do Trabalho Prático 1 da disciplina (Jogo da Forca/Mina).
- Continuação do exercício da aula anterior sobre a base de dados de um certame de instrumentos musicais: criação de interrogações envolvendo múltiplas tabelas.
Aula de 29-Junho-2010
- Introdução ao PHP: sintaxe, definição de variáveis, etc.
- Criação de uma função para escrever o dia actual da semana (uso da função
date
). - Criação de um formulário para submeter usando o método POST e posteriormente enviar por email os dados submetidos.
- Páginas criadas na aula disponíveis aqui.
Aula de 08-Julho-2010
- Continuação do exercício da aula anterior: envio do formulário por email usando
o Mercury do Xampp e a função
mail
do PHP. - Integração do formulário criado com a página criada com CSS na aula de 6-Maio-2010.
- Introdução à utilização do MySQL com PHP:
mysql_connect, mysql_select_db, mysql_error, mysql_close, mysql_query, mysql_num_rows, mysql_fetch_assoc, die
--- Slides disponíveis aqui. - Criação de uma interrogação em MySQL/PHP sobre a base de dados instrumentos criada na aula de 17-Junho-2010 --- Diagrama e Script SQL disponíveis aqui.
- Resultado da aula disponível aqui.
Aula de 15-Julho-2010
- Continuação da aula anterior : criação de um mecanismo de pesquisa em PHP.
- Criação de um formulário para inserir novos dados na base de dados.
- Eliminação de dados da base de dados usando PHP.
- Resultado da aula disponível aqui.
Aula de 22-Julho-2010
- Resolução dos exercícios da ficha 4.
- Preparação para o exame.
Aula de 29-Julho-2010
- Segundo Teste da Disciplina.
Avisos
- Notas dos trabalhos práticos disponíveis aqui.
- Data do 2º teste: 29 Julho.
- (2010-04-26) Notas do primeiro teste publicado aqui.
- Data do 1º teste: 22 Abril.
- (2010-03-17) Notas do primeiro trabalho de casa publicado aqui.
- Data de entrega do 1º Trabalho Prático: 30 Maio.