- Identificação:
- Disciplina: INE5201 - Introdução à Ciência da Computação
- Turma(s): 02202A, 02235, 07236
- Carga horária: 54 horas-aula Teóricas: 27 Práticas: 27
- Período: 2º semestre de 2024
- Curso(s):
- Engenharia Eletrônica (235)
- Engenharia, área Eletricidade, habilitação Engenharia Elétrica (202)
- Engenharia, área Mecânica, habilitação Engenharia de Materiais (236)
- Requisito(s):
- Engenharia, área Mecânica, habilitação Engenharia de Materiais (236)
- MTM3101 - Cálculo 1
- MTM3110 - Cálculo 1
- Engenharia, área Mecânica, habilitação Engenharia de Materiais (236)
- Professor(es):
- Wyllian Bezerra da Silva (wyllian.bs@ufsc.br)
- Ementa:
- Noções de sistemas de computação. Formulação de algoritmos e sua representação. Noções sobre linguagem de programação e programas. Implementação prática de algoritmos em uma linguagem de programação. Descrição de algumas aplicações típicas. Métodos computacionais na área científica e tecnológica.
- Objetivo(s):
- Geral: Analisar problemas e elaborar algoritmos para sua solução de forma clara e precisa usando programação estruturada e implementá-los em uma linguagem de programação. Analisar problemas e elaborar algoritmos para sua solução de forma clara e precisa usando programação estruturada e implementá-los em uma linguagem de programação.
- Específicos:
- Analisar detalhadamente problemas dividindo em entradas, processamento e saídas;
- Elaborar algoritmos em uma pseudo-linguagem de programação para resolução dos problemas;
- Implementar estes algoritmos em uma linguagem de programação.
- Conteúdo Programático:
- O COMPUTADOR [3 horas-aula]
- Arquitetura de Computadores
- Linguagens de Programação
- Programa Conversores
- LÓGICA DE PROGRAMAÇÃO - ALGORITMOS [9 horas-aula]
- Conceito de Algoritmo
- Pseudo-Código para Representar Algoritmos
- Conceito de variável e de atribuição de valor
- Estruturas de seleção
- Estruturas de repetição
- CARACTERÍSTICAS BÁSICAS DA LINGUAGEM DE PROGRAMAÇÃO [6 horas-aula]
- Estrutura de um Programa
- Declaração de Variáveis
- Comandos de Entrada/Saída: Teclado/Vídeo
- Comandos de Atribuição
- Compilação/Execução de Programas
- PROGRAMAÇÃO ENVOLVENDO ESTRUTURAS DE SELEÇÃO E REPETIÇÃO [12 horas-aula]
- Estruturas de Seleção
- Estruturas de Repetição
- PROGRAMAÇÃO ENVOLVENDO VARIÁVEIS INDEXADAS [12 horas-aula]
- Unidimensionais (vetores)
- Multidimensionais (Matrizes)
- SUBPROGRAMAÇÃO [12 horas-aula]
- O COMPUTADOR [3 horas-aula]
- Metodologia:
Os conteúdos programáticos serão trabalhados com aulas expositivas e teóricas, resoluções de exercícios e problemas, bem como práticas de programação.
A natureza desta disciplina exige dedicação extraclasse. O(A) discente deve manter uma rotina constante de estudos teóricos e treinamento prático para que possa cumprir com todas as atividades propostas. As atividades de implementação (exercícios, trabalhos e avaliações) serão realizadas por meio de algum dispositivo computacional na linguagem de programação adotada na disciplina. Em especial, destaca-se que as avaliações serão aplicadas sob a forma de VPL (Virtual Programming Lab - https://vpl.dis.ulpgc.es) no Quiosque de Provas (https://ine.ufsc.br/quiosque-de-provas). Logo, o(a) discente necessitará de um dispositivo computacional portátil (e.g., laptop, notebook, ultrabook etc.) para a realização das avaliações nesse ambiente. Caso não tenha, serão fornecidas versões impressas, as quais serão transcritas ipsis litteris (literalmente) para os VPLs contidos nas avaliações.
Em caso de dúvidas sobre o conteúdo da disciplina, o(a) discente poderá recorrer ao atendimento disponibilizado pelo docente, cujo horário está agendado no Moodle. Comunicação e informações gerais, ensalamento ou troca de sala/laboratório, exercícios, tarefas, material de apoio, slides, documentos etc. serão disponibilizados no Moodle da disciplina.
- Avaliação:
A verificação do rendimento escolar compreenderá frequência e aproveitamento de estudos, os quais deverão ser atingidos conjuntamente. Será obrigatória a frequência às atividades maior ou igual a 75% (Frequência Suficiente - FS), estando reprovado o(a) discente com frequência menor do que 75% (Frequência Insuficiente - FI).
Estão previstas atividades de programação (A), envolvendo questionários (Q), implementações de código (I) e simulados (S1 e S2), utilizando os conceitos previamente estudados, as quais envolvem solução de problemas sob a forma de algoritmos e implementação em uma linguagem de programação. Serão realizadas duas (2) avaliações, P1 e P2. A média final (MF) será calculada conforme expressão
MF = 0,3*A + 0,3*P1 + 0,4*P2,
em que A = (0,1*Q/q + 0,4*I/i + 0,2*S1 + 0,3*S2)/4, com q e i representando as quantidades de Q e I, respectivamente.A nota mínima para aprovação na disciplina será MF >= 6,0 (seis) e Frequência Suficiente (FS), conforme Art. 69 e 72 da Resolução nº 17/CUn/1997. Discentes com frequência insuficiente estarão reprovados com MF e nota final (NF) iguais a zero, i.e., MF = NF = 0. A avaliação de recuperação (REC), quando aplicada, será composta por uma única avaliação, envolvendo todo o conteúdo da disciplina. O arredondamento da UFSC será aplicado sobre os itens de nota A, P1, P2, MF, REC (se houver) e NF.
Conforme parágrafo 2º do artigo 70 da Resolução 17/CUn/97, o aluno com frequência suficiente (FS) e média final no período (MF) entre 3,0 e 5,5 terá direito a uma nova avaliação ao final do semestre (REC), sendo a nota final (NF) calculada conforme parágrafo 3º do artigo 71 desta resolução, ou seja: NF = (MF + REC) / 2.
- Cronograma:
As avaliações estão previstas nos períodos a seguir, os quais estão sujeitos a alterações.
- Prova 1 (P1): entre a 8ª e 9ª semana.
- Prova 2 (P2): entre a 15ª e 16ª semana.As atividades de programação serão aplicadas ao longo do semestre. Se a solicitação de aplicação de segunda chamada (2C) for deferida, será agendada até o final do semestre. Caso seja aplicada uma avaliação de recuperação (REC), será realizada na última semana (17ª semana) do semestre.
- Bibliografia Básica:
- FEOFILOFF, Paulo. Algoritmos em linguagem C. Rio de Janeiro: Elsevier, 2009. Nro na BU/UFSC: 681.31:519.688 F344a. Conteúdo do livro disponível no link: https://www.ime.usp.br/~pf/algoritmos/
- Tutorial de C++ do cplusplus.com, disponível em http://cplusplus.com/doc/tutorial/
- Aulas de Introdução à Computação em Python da USP, disponível em https://panda.ime.usp.br/aulasPython/static/aulasPython/index.html
- Bibliografia Complementar:
- Problemas da Olimpíada Brasileira de Informática, disponível em https://olimpiada.ic.unicamp.br/pratique/
- STROUSTRUP, Bjarne. A linguagem de programação C++. 3. ed. Porto Alegre: Bookman, 2000. Nro na BU/UFSC: 681.31.06 S925c
- MIZRAHI, Victorine Viviane. Treinamento em linguagem C++. 2.ed. São Paulo: Pearson Prentice Hall, 2006. Nro na BU/UFSC: 681.31.06C M685t