Linguagem de Programação 1 - 2019.1

Esta página é destinada aos alunos da disciplina Linguagem de Programaão 1 do curso de Bacharelado em Sistemas de Informação do Instituto Federal de Educação, Ciência e Tecnologia da Bahia (IFBA) campus Vitória da Conquista e será mantida pelo professor Crescencio Rodrigues Lima Neto.
Aqui se encontra informações sobre a disciplina, incluindo: identificação do professor, horários, objetivos, plano de aulas, material das aulas, bibliografia, recursos usados nas aulas e avisos importantes.

Informações gerais

Horário: Terça 18:20-22:00h
Local: Laboratório G1.
Horário de adentimento: Terça, 16:00-18:00h.
Email: crescencio [at] gmail [dot] com
Plano de Ensino: Link
Calendário da disciplina: clique aqui

Objetivos Gerais

A disciplina proporciona ao acadêmico o estudo e compreensão dos conceitos básicos de linguagem de programação de computadores. Possibilitar ao aluno o embasamento necessário para que o mesmo desenvolva seus próprios programas de computador e possa fazer uso desse conhecimento durante o curso e em sua vida profissional.

Objetivos Específicos

• Desenvolver/ampliar a capacidade de entendimento e uso das linguagens de programação;
• Reconhecer a importância do uso adequado das linguagens;
• Identificar as diversas possibilidades para solução de um problema;
• Possibilitar o desenvolvimento de programas eficientes para uso em problemas reais.

Competências

• Compreender e usar as linguagens de programação em soluções de problemas reais.
• Compreender e usar os tipos de dados.
• Compreender as noções de orientaçõo a objetos.

Habilidades

• Possibilitar ao aluno a compreensão dos conceitos de linguagens de programação.
• Produzir programas que solucionem problemas reais.

Metodologia

Esta proposta de trabalho se desenvolverá por meio de aulas expositivas, discussão dos conceitos e dos problemas referentes aos assuntos abordados, trabalhos individuais e em grupo e produção de textos. Para tanto, será necessário o uso dos seguintes recursos:
• Data-show;
• Quadro branco;
• Vídeos;

Ementa

Conceitos de linguagens de programação. Paradigmas de linguagens de programação: imperativas, funcionais e lógicas e orientadas a objetos. Noções de semântica formal. Teoria dos tipos: sistemas de tipos, polimorfismo. Verificação e inferência de tipos. Semântica formal de tipos. Estudo de uma linguagem de programação de alto nível, sua estrutura, comandos e declarações. Tipos de dados. Entrada e saída de dados. Operadores e expressões. Controles de fluxo e decisõoes. Subprogramas. Recursividade. Modularização. Alocação de memória. Portabilidade. Técnicas e estilos de programação.

Conteúdo Programático

1. Introdução a linguagem de programação Java
2. Tipos de Dados
3. Variáveis e constantes
4. Operadores aritméticos, relacionais e lógicos;
5. Comandos de entrada e saída;
6. Estruturas de seleção e repetição;
7. Modularização;
8. Orientação Objetos;
9. Interfaces;
10. Arquivos;
11. Manipulação de caracteres;
12. Comandos de tela;
13. Comandos de manipulação de data e hora.

Sistema de Avaliação

A avaliação será realizada de forma contínua, levando em consideração a participação nas discussões em sala de aula, com o objetivo de diagnosticar a situação da aprendizagem de cada aluno, em relação a proposta de trabalho. Assim, o processo avaliativo será constituído por:
• 1ª Avaliação: Avaliação escrita (Valor 10,0);
• 2ª Avaliação: Avaliação escrita (Valor 10,0);
• 3ª Avaliação: Produção de um projeto. (Valor 5,0) + Avaliação escrita (Valor 5,0);
• As notas de Participação, assiduidade e envolvimento com os conteúdos serão somadas as notas das avaliações acima.

Avaliação 1 = X pontos
Avaliação 2 = Y pontos
Avaliação 3 = Z pontos
Média = (ΣPontos)÷3
Se Média ≥ 7,0 ⇒ Aprovação
Se Média < 7,0 ⇒ Avaliação Final
Nota Final = ((2*Média) + Avaliação Final)÷3
Se Nota Final ≥ 5,0 ⇒ Aprovação
Se Nota Final < 5,0 ⇒ Reprovação

Bibliografia Básica

DEITEL, H, M e DEITEL, P. J. Java: Como Programar. Sãao Paulo: Pearson Prentice Hall,2012.

Bibliografia Complementar

MIZRAHI, V. V. Treinamento em Linguagem C++ Módulo 1 e Módulo 2. Pearson Prentice Hall, 2006.
SCHILDT, Herbert. C++ Fundamentos e Prática. Alta Books, Rio de Janeiro, 2004.
SCHILDT, Herbert. C++ Guia para Iniciantes. Editora Ciência Moderna, Rio de Janeiro, 2002.


Programação de Aulas

Data Assunto Material
26/03/2019 - Apresentação da Disciplina Aula 1
26/03/2019 - Video: O que você quer ser quando crescer? Programador! Link
26/03/2019 - Introdução a Linguagem de Programação Aula 2
26/03/2019 - Curso de Introdução a Programação Link
02/04/2019 - Conceitos Básicos Aula 3
02/04/2019 - Ambientes de Desenvolvimento Link
02/04/2019 - Lista de Exercício 1 Link
09/04/2019 - Modularização Aula 4
16/04/2019 - Introdução a Programação Orientada a Objetos Aula 5
23/04/2019 - Prova I Unidade
30/04/2019 - Programação Orientada a Objetos - Continuação Aula 5
07/05/2019 - Arrays - código nos slides Aula 6
14/05/2019 - Herança - código nos slides Aula 7
14/05/2019 - 9 ferramentas para aprender a programar Link
21/0/2019 - Revisão para prova II Unidade
28/05/2019 - Prova II Unidade
04/06/2019 - Revisão Prova II Unidade
11/06/2019 - Polimorfismo Link
11/06/2019 - Polimorfismo: Implementação Link
11/06/2019 - Classes Abstratas Aula 8
18/06/2019 - Exercícios classe abstrata
25/06/2019 - Feriado São João
02/07/2019 - Feriado Independência
05/07/2019 - Provas segunda chamada - Sala H208
09/07/2019 - Revisão para prova III Unidade
09/07/2019 - Exceções e GUI Aula 9
16/07/2019 - Prova III UNIDADE
23/07/2019 - PROVA FINAL