IEMA Pleno: Professor Componente Curricular Carga Horária Série PROGRAMAÇÃO ESTRUTURADA 80h 2ª Justificativa No "começo" do uso de computadores o principal custo da computação era o equipamento eletrônico (hardware). Atualmente a situação se modificou, os computadores estão cada vez mais rápidos e baratos, mas em contrapartida a tecnologia de software não apresentou um desenvolvimento comparável. Os problemas encontrados nas etapas do processo de desenvolvimento de software começaram a ser observados no final da década de 60 e continuam atormentando a vida dos projetistas até hoje. A crise se manifesta de várias formas, citando: a baixa produtividade dos programadores (projetos ultrapassando os prazos e orçamentos), a falta de uma "metodologia formal" para o desenvolvimento de software e os códigos de baixa qualidade (programas literalmente sem a possibilidade de serem mantidos). As soluções para a crise de software passam principalmente pelo uso de melhores técnicas, métodos e ferramentas. Nesse contexto entender os conceitos do paradígima de programação estruturada e dominar a metodologia e técnicas no desenvolvimento de software, é importante porque estabelece uma disciplina de desenvolvimento de algoritmos e implementação dos progemas o que facilita a a sua compreensão através do número restrito de mecanismos de controle da execução de programas além de facilitar a sua manutenção. Competências e Habilidades • Conhecer comandos simples do paradigma estruturado, como declaração de variáveis, atribuição de valores e comandos de interface de entrada e saída; • Conhecer comandos de bloco do paradigma estruturado que permitem a criação de condições e de repetições; • Conhecer estruturas de dados simples; • Conhecer estruturas de dados compostas, como matrizes e registros; • Conhecer a teoria sobre modularização e parametrização de funções; • Diferenciar rotinas, módulos, procedimentos e funções; • Elaborar programas em linguagem de programação estruturada; • Elaborar programas utilizando comandos de blocos, como de seleção de código e de repetição de código; • Elaborar programas com rotinas, procedimentos e funções; • Planejar rotinas que utilizem parâmetros passados por cópia e por referência; • Construir e manipular arquivos de dados através dos programas; • Articular teorias para perceber o problema algorítmico que deve ser solucionado de maneira informatizada; • Realizar a construção de programas organizados, bem escritos, tabulados e com clareza de leitura. • Preocupar-se com a disciplina e a organização do tempo na construção dos programas, de forma a criar programas mais eficientes e de fácil manutenção; • Apreciar a ética na construção de programas, de forma a aplicar o conhecimento adquirido apenas para finalidades educacionais e mercadológicas, evitando a produção de vírus e outros males de computadores. Objeto de Conhecimento (Conteúdos ) 1º Período Unidade 1 – Qual a linguagem os computadores falam? 1.1 – Fundamentos da Computação: Tecnologia, computador, computação e informática; Conceitos importantes; Classificação dos Computadores; Princípios de Funcionamento; Hardware e Software; Sistemas de Numeração, Representação da Informação e Unidade de Medida. 1.2 – Princípios de Funcionamento de um Sistema de Computação, 1.3 – Noções de Linguagens de programação; Linguagem de Máquina versus Linguagem Humana , Linguagem de Baixo Nível, Linguagem de Alto Nível, Linguagens de Programação, Paradigmas de Programação, Programação Sequencial, Programação Estruturada, Programação Orientada à Objeto. Unidade 2 – Vale a pena ver de novo – Revisitando os conceitos de Algorítmos. 2.1 – Fundamentos da Lógica: Noções de Filosófica, Lógica Matemática, Lógica Proposicional e Lógica de Programação, Proposição, Negação, Proposição compostos — conectivos, condicionais, tautologias, proposições logicamente falsas, relação de implicação, relação de equivalência, sentenças abertas, quantificadores; 2.2 - Algoritmos, conceitos, definições e representações: diagrama de blocos, fluxograma e pseudocódigo, tipos básicos de dados (inteiro, real, lógico e caractere),variáveis e constantes, operadores e expressões, comandos (entrada, saída e atribuição), blocos de comandos, estruturas básicas de controle, operadores, de fluxo, se, senão e caso, para, enquanto e repita – enquanto. 2º Período Unidade 3 – Sobrevoando o Paradigma de Programação Estruturada – Com a Linguagem C. 3.1 – Introdução à Programação na Linguagem C: • Um Breve Histórico da Linguagem C, O Paradigma de Progamação Estruturada, O Ambiente de Trabalho - As IDE´S, Tipos de Dados Básicos; O Uso de Variáveis, O Uso de Constantes, Os Operadores Aritiméticos As Expressões Aritiméticas, Comandos de Entrada e Saída. 3.2 – Comandos de Seleção – A Tomada de Decisões, Decisão Simples, Decisão Composta, Os Operadores Lógicos, Comandos de Repetição - Laços de Repetição, Laços de Repetição, Laço de Repetição Pré-Teste, Laço de Repetição Pós-Teste, Laço com Variável de Controle. Unidade 4 – Indo mais a Fundo – Uma Imersão na Linguagem C 4.1 – Tabelas em MemóriaEstrutura de Dado Matricial, Matrizes de uma Dimensão (Vetores), Matrizes com mais de uma Dimensão, String, Estruturas - As Matrizes Heterogêneas 4.2 – Funções e Suas Bibliotecas, Arquivos em Disco Metodologia Sondagem Diagnóstica, Aula Expositiva Dialogada, Aplicação de Exercícios, Metodologias Ativas de Aprendizagem (Ensino híbrido, Sala de aula invertida, Aprendizado baseado Problemas e Projetos, Cultura maker, , Aprendizagem entre pares e times, Gamificação, Design thinking, Storytelling, Estudo de casos, Pesquisas de campo, Seminários e discussões, Rotação por estações). Recursos Instrumentos Avaliativos Questionários de Sondagem AV1 – Prova escrita com 10 questões sendo 8 objetivas e 2 Diagnóstica, Plataforma Kahoot, analítico-discursivas, sendo que cada questão valerá 1,0 Plataforma Mentimeter, Plataforma ponto. Socrative, Plataforma Google: Google-AV2 – Serão atividades colaborativas, avaliadas de forma Meet, Google Classroon; Google individual e coletiva, qualitativa e quantitativamente no Formulários, Google Tradutor, decorrer dos períodos através de pesquisas, projetos, Youtube, Vídeos, Filmes, Apostilas, relatórios, resenhas, etc de forma colaborativa e interativa Artigos, Quadro Branco; Slides do baseado nos conteúdos trabalhados em cada bimestre com Power point; Smartphone/WhatsApp; notas variando de 0 a 10 pontos. Notebooks; Smartphones, Livros. AV3 – Prova escrita no formato de Simulado com 10 questões objetivas, valendo de 0 a 10 pontos. Fontes e Referências Introdução à Tecnologia da Informação / Antonio Luis Bogado Fernandes; Regina Lúcia Swerts Santos; Gilda Aché Taveira. Rio de Janeiro: Ed. Senac Nacional, 1998, 96 p. Construção de Algoritmos / Antonio Luiz B. Fernandes; Joana Botini. Rio de Janeiro : Ed. Senac Nacional, 1998. 112p. Algoritmos e Estruturas de Dados / Ângelo de Moura Guimarães e Newton Alberto de Castilho Lopes. – LTC – Livros Técnicos e Científicos Editora. 1985. 212p Estudo Dirigido de Linguagem C / José Augusto N. G. Manzano. – 17. Ed. Rev. – São Paulo. Érica, 2013. 216p Use a Cabeça! : C / David Griffithis – Rio de Janeiro. RJ. Alta Books, 2013, 632p