PLANO DE CURSO  
ANO: 2024
 
CURSO: CIÊNCIA DA COMPUTAÇÃO - Noturno SÉRIE: 02
DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO    
 

Aulas Teóricas: 156

A) EMENTA
Programação em linguagem C e C++: comandos da linguagem, ambiente de programação, recursos adicionais, funções, tipos abstratos de dados e manipulação de arquivos. Linguagem Assembly. Aritmética decimal. Entrada e saída. Operações lógicas. Instruções de edição. Sub-rotinas e macros.

B) OBJETIVOS / COMPETÊNCIAS
Levar ao aluno os conceitos aprofundados da linguagem de Programação Orientada a Objetos usando C/C++ e C#, ambiente de programação, recursos adicionais, funções, tipos abstratos de dados e manipulação de arquivos. Conceitos de programação programação visual e programação WEB e o uso de frameworks.


C) BASES TECNOLÓGICAS (CONTEÚDO PROGRAMÁTICO)
1. Conceitos de Programação Orientada a Objetos - POO
1.1. Classes
1.2. Objetos
1.3. Construtores
1.4. Métodos Acesso
1.5. Métodos Modificadores
1.6. Objetos Constantes
1.7. Herança
1.8. Agregação
1.9. Composição
1.8. Polimorfismo
1.9. Interfaces
1.10. Desenvolvimento de Aplicações usando conceitos de POO

2. Programação WEB
2.1. Conceitos de Programação WEB
2.2. Criação de Formulários WEB
2.3. Acesso a Banco de Dados
2.4. Manipulação de Controles e Eventos
2.5. Manutenção de Estados (variáveis)
2.6. Troca de Valores entre páginas (PostBack)
2.7. Criação de Menus
2.8. Criação de Estilos
2.9. Controle de Acesso (LOGIN)
2.10. Desenvolvimento de Aplicações WEB

3. Frameworks
3.1. Conceitos de Frameworks
3.2. Conceitos de Arquiteturas de software
3.3. Conceitos de Programação em Camadas
3.4. Framework de Arquitetura MVC
3.5. Conceitos de Persistência de Dados
3.6. Framework ORM
3.7. Conceitos de Rotas
3.8. Conceitos de Autenticação e Autorização
3.9. Conceitos de Linguagem Estruturada de Consulta
3.10. Desenvolvimento de Aplicações usando Frameworks

4. Desenvolvimento de Aplicações Single Page Aplication (SPA)
4.1. Conceitos de Aplicações SPA
4.2. Conceitos de Arquitetura MVVM
4.3. Conceitos de Arquitetura
4.4. Conceitos de Aplicações Bloqueantes e Não Bloqueantes
4.5. Conceitos de Desenvolvimento de Componentes
4.6. Conceitos de Serviços WEB
4.7. Conceitos de Serviços REST
4.8. Implementação de Serviços REST
4.9. Implementação de aplicações SPA
4.10. Desenvolvimento de aplicações SPA


D) ATIVIDADES DISCENTES
1. Resolução de exercícios
2. Elaboração de exercícios
3. Pesquisas individuais e em grupo, abordando aspectos teóricos de conteúdo programático
4. Apresentação de seminários
5. Trabalhos individual ou em grupos
6. Elaboração de programas


E) AVALIAÇÃO
O aluno será avaliado na forma de:
1. Provas escritas ou práticas
2. Trabalhos


F) BIBLIOGRAFIA BÁSICA
GREENE, Jennifer. Use A Cabeça! C#. Rio de Janeiro: Alta Books, 2011.
SAVITCH, Walter J. C++ Absoluto. São Paulo: Addison Wesley, 2004.
MATOS, Ecivaldo; ZABOT, Diego. Aplicativos com Bootstrap e Angular : como desenvolver apps responsivos. São Paulo : Érica, 2020.
MILETTO, Evandro Manara, BERTAGNOLLI, Silvia Castro. Desenvolvimento de Software II. Porto Alegre : Bookman, 2014.

BIBLIOGRAFIA COMPLEMENTAR
DEITEL Harvey M., C++ Como Programar, Perason Education, 2003.
DROZDEK, Adam. Estruturas de Dados e Algoritmos em C++. São Paulo: Pioneira Thomson Learning, 2002
GREENE, Jennifer and STELLMAN, Andrew. Use a Cabeça C#. Alta Books. 2011.
MACIEL, Aline Zenker, et al. Arquitetura de sistemas. Porto Alegre: SAGAH, 2019.
MANZANO, José Augusto N. G.. Programação de Computadores com C++: Guia Prático de Orientação e Desenvolvimento. São Paulo: Érica, 2011.
PIVETA, Eduardo Kessler. C+++ Eficaz: 55 Maneiras de Aprimorar Seus Programas e Projetos. Porto Alegre: Bookman, 2011.
RODRIGUES, Thiago Nascimento et al. Integração de aplicações. Porto Alegre: SAGAH, 2020.
Ferramenta de Apoio ao Ensino Presencial da FEMA
https://www.fema.edu.br/moodle/