O objetivo desta disciplina é explorar como o paradigma de programação orientado a objeto (P.O.O.) é utilizado e como seus conceitos teóricos são aplicados na prática. Para tal, a linguagem de programação utilizada será o C# em conjunto com a plataforma de desenvolvimento .NET. Aplicações de Windows Forms serão desenvolvidos e, por fim, sistemas que se comunicam com Bancos de Dados serão implementados.
Informações Gerais
Ementa
Introdução e motivação. Arquitetura .NET e a Linguagem C#. Características da Linguagem. Revisão de Programação Estruturada: Entrada e saída de dados, tipos de dados; Estrutura de seleção e repetição; Criação e Uso de Funções. Programação Orientada a Objetos: Classes e Objetos. Construtores e Destrutores. Pilares da P.O.O.: encapsulamento, herança, polimorfismo. Windos Forms (Designer). Propriedades e Eventos. Aplicações multiformulários. Entrada e saída em arquivos. Exceções. Conexões com Bancos de Dados. Desenvolvimento de aplicações CRUD. Desenvolvimento de Trabalho de Conclusão de Curso.
Monitoria
Monitores | Dia da Semana | Local | Horário |
---|---|---|---|
Miguel e Pedro Villa | Segunda-feira | Laboratório de Informática | 12:00-13:00 |
Miguel e Pedro Villa | Terça-feira | Em frente ao NAPNE ou a combinar | 12:00-13:00 |
Instalando o Visual Studio |
Salvando e Enviando um Projeto |
---|---|
Programação das Aulas
Aula | Tópicos | Vídeo Aula | Outros Materiais |
---|---|---|---|
Início do 1º Período | --- | --- | --- |
01 | Introdução à Linguagem C# e Arquitetura .NET | --- | Slides: pdf |
* | Tipos e Variáveis | --- | |
* | Valores Numéricos, Textuais e Booleanos | --- | |
02 | Comandos de Entrada e Conversão de Dados | Lista: pdf | |
* | Operações Aritméticas | --- | --- |
03 | Estruturas de Seleção: if/else (Parte 1) | Lista: pdf | |
* | Estruturas de Seleção: if/else (Parte 2) | --- | |
* | Estruturas de Seleção (switch/case) | --- | |
04 | Estruturas de Repetição | --- | Lista: pdf |
* | Estruturas de Repetição (while) | --- | |
* | Estruturas de Repetição (for) | --- | |
05 | Exercícios de Revisão (Fundamentos) | --- | Lista: pdf |
06 | Teste 01 | --- | Teste: pdf |
06 | Funções | Lista 01: pdf, Lista 02: pdf | |
07 | Listas | --- | Slides: pdf, Lista: pdf |
08 | Teste 02 | --- | Teste: pdf |
09 | Introdução à Programação Orientada a Objetos | Slides: pdf | Lista: pdf | |
10 | Construtres e Inicializadores de Objetos | --- | Slides: pdf | Lista: pdf | Program.cs: cs | Dragao.cs: cs |
11 | Teste 03 (Prático) | --- | --- |
12 | Classes de Entidade x Classes de Controle | --- | Slides: pdf | Lista: pdf |
13 | Encapsulamento | Slides: pdf | |
14 | Definição do Trabalho 01 | --- | Recursos Úteis: cs |
15 | Laboratório | --- | --- |
16 | Teste 04 | --- | --- |
17 | Emissão de resultados parciais | --- | --- |
18 | Apresentação Trabalho 01 | --- | --- |
19 | 1ª Certificação - Tema: Dragon Ball "Series" | Prova: pdf | Gabarito: Program.cs | DragonBall.cs | Personagem.cs | |
Início do 2º Período | --- | --- | --- |
20 | Entrada e Saída em Arquivos | --- | Slides: pdf | Lista: pdf | Exercícios: zip | Gabarito: zip |
Certificações
Trabalhos
Trabalho Prático 01 - Data de apresentação 10/10/2024
O trabalho prático consiste em elaborar uma aplicação de C# Console que faça uso dos conceitos discutidos até o momento. Os alunos em grupos de até 4 participantes poderão desenvolver um programa com tema livre, respeitando requisitos básicos de entrega. Uma série de ideias foram discutidas em aula para motivar e inspirar os grupos.
A principal ideia do trabalho é explorar recursos (classes e métodos) diferentes disponíveis na linguagem, de modo a alinhar a criativdade do aluno com o projeto apresentado. Diversas classes foram apresentadas no link Recursos Úteis.
Alguns fundamentos de ideias discutidos em sala:
Memorização |
Velocidade |
Sorte |
---|---|---|
Ideia: mostrar uma sequência de inteiros na tela por um tempo, apagar e pedir para o usuário tentar replicar. |
Ideia: ficar pressionando uma tecla rapidamente. Contar quantas vezes o usuário consegue pressionar a tecla num intervalo específico de tempo. |
Ideia: sortear um número inteiro entre 0 e n-1 e determinar qual inteiro "explode". Pedir para cada usuário ir escolhendo um inteiro até que alguém seja elimiinado. Repetir. |
Reação |
Contagem |
Outros |
Ideia: tocar uma música. Quando a música parar de tocar, dois ou mais usuários deverão pressionar uma tecla rapidamente. O usuário que pressionar a tecla primeiro vence. |
Ideia: uma série de números inteiros irão aparecer e desaparecer da tela durante um tempo. Depois será pedido que cada usuário diga quantas vezes um determinado número inteiro apareceu na tela. |
|
Referências
Os livros apresentados abaixo foram utilizados como base na elaboração do material didático da disciplina. Podem ser utilizados pelos alunos que desejam se aprofundar em algum aspecto da disciplina, no entanto, não é necessário adquiri-los.
- Andrew Stellman e Jennifer Greene, Use A Cabeça! C# (2ª Edição). Alta Books, 2013.
- Paul Deitel e Harvey Deitel, Visual C# How to Program (6th Edition). Pearson, 2016.
- Philip Conrod e Lou Tylee, Visual C# and Databases: A Step-By-Step Database Programming Tutorial (15th Edition). Kidware Software LLC, 2017.