Fundamentos de Programação

Aulas

  1. Apresentação
  2. Introdução de Algoritmos
  3. Introdução de Algoritmos (Cont.)
  4. Conceitos de Memória, variáveis e constantes
  5. Expressões e Operadores
  6. Instruções Simples
  7. Instruções de Seleção
  8. Instruções de Repetição
  9. Vetores
  10. Matrizes
  11. Modularização
  12. Introdução à Orientação a Objetos
  13. Trabalhando com Classes e Objetos em C#
  14. Instâncias e Métodos
  15. Encapsulamento e Relacionamentos
  16. Polimorfismo
  17. Classes Abstratas e Interfaces

Exercícios

  1. Lista de exercícios (03/05/2012)
  2. Lista de exercícios (10/05/2012)
  3. Lista de exercícios (23/09/2012)
  4. Lista de exercícios (23/09/2012)
  5. Lista de exercícios (17/10/2012)
  6. Lista de exercícios (09/11/2012)
  7. Lista de exercícios (01/01/2013)
  8. Lista de exercícios (12/04/2013)

Avaliações

Calendário de Avaliações

  1. Bimestre
    • 25/05/2012. Trabalho 1. Peso 3.
    • 21/06/2012. Prova. Peso 7.
  2. Bimestre
    • 17/11/2012. Trabalho 2. Peso 3.
    • 22/11/2012. Prova. Peso 7.
  3. Bimestre
    • 14/02/2013. Trabalho 1. Peso 3.
    • 22/02/2013. Prova. Peso 7.
  4. Bimestre
    • 18/04/2013. Trabalho 2. Peso 3.
    • 19/04/2013. Prova. Peso 7.

Trabalhos

  • Trabalho 1: Este trabalho consiste em um relatório descrevendo as principais características de uma linguagem de programação.
    • Requisitos mínimos:
    • No mínimo duas laudas, sem contar com página de apresentação.
    • O texto deve ter 4 seções: introdução, desenvolvimento, conclusão e referências.
    • Todo material utilizado no trabalho e que seja de outra pessoa deve constar nas referências.
    • Cada equipe deve ter no mínimo 3 pessoas e no máximo 5.
    • A entrega do trabalho de ser feita através de e-mail e nele deve constar os participantes do grupo, a turma e a linguagem escolhida. O email deve ser enviado até a data determinada no calendário para rb.ude.nrfi|ztneh.notrevelc#rb.ude.nrfi|ztneh.notrevelc
    • Não serão aceitos dois trabalhos com a mesma linguagem. Caso dois grupos enviem trabalhos com o mesmo tema será considerada a data de envio como critério de desempate.
    • As linguagens possíveis são:
      1. C
      2. C++
      3. Java
      4. Delphi
      5. Php
      6. Python
      7. Perl
      8. Fortran
      9. Cobol
      10. Lua
      11. Haskell
  • Trabalho 2: Este trabalho consiste no construção de um programa de computador para fornecer uma das funcionalidades enumeradas abaixo.
    • Informações sobre o trabalho:
    • Cada equipe deve ter no mínimo 5 pessoas e no máximo 7.
    • O trabalho tem nota máxima de 10 pontos e terá peso 3 na composição da nota do bimestre.
    • A entrega do trabalho de ser feita através de e-mail e nele deve constar os participantes do grupo, a turma, tema da equipe e os arquivos fonte do programa. O email deve ser enviado até a data determinada no calendário para rb.ude.nrfi|ztneh.notrevelc#rb.ude.nrfi|ztneh.notrevelc
    • Não serão aceitos dois trabalhos com o mesmo tema. Caso dois grupos enviem trabalhos com o mesmo tema será considerada a data de envio como critério de desempate.
    • Programas que não estiverem compilando serão penalizados em 2 (dois) pontos.
    • Programas incompletos serão penalizados em 1 (um) ponto por item não implementado.
    • Programas que forem além do que é pedido/apresentado no trabalho em relação a funcionalidade ou técnica de implementação serão bonificados com 1 (um) ponto.
    • Os programas possíveis são:
      1. Programa de cadastro de alunos: Cadastro de aluno (Matricula,Nome,Nota 1 e 2), Cálculo de média do aluno e da turma e busca de aluno pelo nome.
      2. Programa de cadastro de veículos: Cadastro de veículo (Placa, Marca, Modelo e Ano), Busca por Placa, Ano ou Modelo.
      3. Programa de cadastro de Disciplinas: Cadastro de disciplinas (Nome, Código, Professor, Sala), Busca por Nome, Sala e Professor.
      4. Programa de cadastro de Equipamento: Cadastro de equipamento(Código, Nome, Descrição e Tipo), Busca por nome, descrição e tipo.
      5. Programa de cadastro de Imóveis: Cadastro de imóveis (Tipo, Descrição, Tipo de Registro (compra ou aluguel), Valor), Busca por Tipo, descrição, tipo de registro e faixa de valores.
      6. Programa de cadastro de Provas: Cadastro de provas (Título, NumQuestões, Matéria, Nota Máxima) Busca por Título, faixa no número de questões e matéria.
      7. Programa de cadastro de Filmes: Cadastro de filmes (Gênero, Título, Sinopse e Diretor), Busca por gênero, Título, sinopse e diretor.
      8. Programa de cadastro de times: Cadastro de times (Nome, Estado, Técnico, Classificação ), Busca por nome, estado, técnico e classificação.
  • Trabalho 3: Este trabalho consiste em uma apresentação de alguns recursos da linguagem C#.
    • Requisitos mínimos:
    • No mínimo 10 e no máximo 20 minutos de apresentação.
    • A apresentação deve ser organizada da seguinte forma: Introdução, motivação, apresentação do recurso em C# e considerações do grupo sobre o recurso.
    • Todas as apresentações devem ter um exemplo prático de aplicação do recurso que está sendo apresentado em C#.
    • Cada equipe deve ter no mínimo 5 pessoas e no máximo 7 participantes.
    • Os trabalhos serão apresentados no dia 14/02/2013 no horário de aula.
    • Todos os participantes da equipe deve apresentar e também entender do assunto apresentado.
    • Os temas são:
      1. Interfaces e Classes abstratas;
      2. Interfaces Gráficas (GUI);
      3. Tratamento de Exceções;
      4. Biblioteca de Coleções;
      5. Tipos Parametrizados e Genéricos;
      6. Manipulação de Arquivos;
      7. Espaço de Nomes (Namespaces):Como criar e utilizar módulos no C#.
  • Trabalho 4: Este trabalho consiste numa apresentação de estudos de caso (exemplos) para alguns recursos da linguagem C#.
    • Requisitos mínimos:
    • No mínimo 10 e no máximo 15 minutos de apresentação.
    • A apresentação deve ser organizada da seguinte forma:
      • Revisão do recurso que vai ser utilizado. Rápido, no máximo 2 slides. Explicação do recurso que será utilizado no estudo de caso. 1 ponto.
      • Apresentação dos cenários e situações. Explicar do que se trata cada uma das situações que serão apresentadas. 2 pontos.
      • Apresentação dos estudos de casos. Apresentar o estudo de caso em si. Código no C# e explicações! 5 pontos.
      • Conclusão. Qual a avaliação de vcs em relação a qualidade do recurso para resolver o problema apresentado. 2 pontos.
    • Todas as apresentações devem ter no mínimo dois estudos de caso da aplicação do determinado no C#.
    • Cada equipe deve ter no mínimo 5 pessoas e no máximo 7 participantes.
    • Os trabalhos serão apresentados no dia 18/04/2013 no horário de aula.
    • Todos os participantes da equipe deve apresentar e também entender do assunto apresentado.
    • Os temas são:
      1. Composição;
      2. Herança;
      3. Encapsulamento;
      4. Polimorfismo sobrecarga e sobreposição;
      5. Polimorfismo inclusão;
      6. Classes Abstratas;
      7. Interfaces.
  • Trabalho Extra - 18/03
    • São 6 pontos extras sendo que cada equipe só pode receber no máximo um ponto. Os pontos serão dados as 6 primeiras equipes que me enviarem por e-mail a implementação do trabalho. A nota mínima para a equipe será de meio ponto, logo se o trabalho da equipe for recebido e não atingir a nota mínima na correção então a correção passa para a próxima equipe do rank.
    • As equipes podem ter até 4 participantes.
    • A data de entrega é no dia 18/03 até às 23:00.
    • e-mail de recebimento: rb.ude.nrfi|ztneh.notrevelc#rb.ude.nrfi|ztneh.notrevelc
    • Questões que devem ser resolvidas:
      1. Algoritmo que diga se um número é perfeito. Na matemática, um número perfeito é um número para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número.
        • Valores de teste: 6, 28, 454, 2.
      2. Algoritmo que dado um determinado salário ele diga quanto será o Imposto de Renda Retido na Fonte referência 2013. A saída deste algoritmo deve apresentar as mesmas informações que o do site http://goo.gl/Cx0f7 . A base para o cálculo é sempre o valor de entrada sem nenhum desconto.
        • Valores de teste: 1234.00, 2345.00, 6700.00 e 10500.00.
        • A tabela utilizada é do ano-exercício 2012 e pode ser visualizada em http://goo.gl/hOfzO .
    • Grupos com trabalho recebido em ORDEM:
      1. Arthur, Hiago, Jane e Luana. 2 Questões OK. 08/03/2013.
      2. Isac, Ana, Anne, Thyago. 2 Questões OK. 09/03/2013.
      3. Marcos Antônio, Paloma, Pedro Ivo e Pedro Luiz. 2 Questões Ok. Data 14/03/2013.
      4. Iron, José Otávio, Lessa, Odailton. 2 Questões OK. 14/03/2013.
      5. Gustavo Kaique, Joao Elder, Carlos Matheus e Wendell. 1 Questão OK. 16/03/2013.

Bibliografia

  • Lippman, Stanley B. C#: Um guia prático. Bookman, 2003.
  • MEDINA, Marco; FERTIG, Cristina. Algoritmos e Programação: Teoria e Prática. Novatec, 2005. Cap. 1,2,3,7,5,6.
  • Oliveira, Ulysses. Programando em C. Ciência Moderna, 2008.

Material Complementar

  1. Apostila C#. Iniciante.
  2. Apostila C#. Avançada.
  3. Por dentro da Base Class Library. Avançado.
  4. Curso de Programação Orientada a Objetos. Metrópole Digital - UFRN.

Links

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License