Instituto Federal de Mato Grosso do SulFevereiro 2024
02. Apresentação da Disciplina
Algoritmos 1
Prof. Rodrigo Duran
Um pouco sobre mim ...
Nem tudo é trabalho também! Meus outros hobbiesEu jogo ativamente Overwatch (melhor Moira do BR), World of Warcraft (for the Horde! Azralon) DCS (F-18 e F-16) e gosto de plastimodelismo e guitarras!
-
Formação Acadêmica
Bacharel em Ciência da Computação pela Universidade Estadual de Londrina (UEL), mestrado em Ciência da Computação pela Universidade de São Paulo (USP) e doutorado em Ciência da Computação pela Aalto University (Finlândia)
-
Atuação Profissional
Desenvolvedor de software (4 anos em automação residencial), desde 2011 professor do IFMS, campus Nova Andradina. Membro da comissão de educação da Sociedade Brasileira de Computação (SBC) (2019-2025) e Membro do Board da SIGCSE da Association for Computing Machinery (ACM)
-
Atividades de Pesquisa e extensão
Eu pesquiso sobre Educação de Computação. Participo de feiras de ciências desde 2013. Meus alunos conseguiram alguns prêmios notáveis: 3o, 2o e 1o lugar na FEBRACE e duas vezes classificados para a ISEF (2014 em Los Angeles, e 2015 em Pittsburgh, USA) - Fotos aqui.; apresentações em congressos no Brasil e no exterior. Se você gosta de pesquisa entre em contato comigo!
Objetivos de aprendizagem...
No curso de Algoritmos 1 você vai conhecer como os computadores são capazes de executar tarefas e como seres humanos interagem com os computadores para programá-los de forma a executar essas tarefas corretamente. Vamos aprender os princípios de uma linguagem de programação moderna, o JavaScript, a qual será usada para comunicar algoritmos para o computador e entre seres humanos. Vamos aprender a identificar o fluxo de dados, quais os tipos de dados fazem parte de um programa e como manusear os dados utilizando variáveis, atribuições e expressões. Vamos aprender a modificar o fluxo de controle de um programa e tomar decisões de acordo com uma entrada de dados.
Durante este curso você vai aprender a integrar as diferentes habilidades da programação: ler programas de computador de forma correta e eficiente, criar seus próprios programas para atender necessidades contextualizadas, desenhar exemplos e simples casos de teste para verificar se seu programa atende os requisitos solicitados e caso erros existam utilizar estratégias de debugO termo bug (inseto em Inglês) é frequentemente usado para indicar um problema ou malfuncionamento em um programa. Então, debug é a habilidade de sistematicamente investigar e remover esses problemas de um código. O termo bug se popularizou na ciência da computação em 1947 quando uma traça foi encontrada dentro do computador Mark II em Harvard, o que estava causando erros no programa sendo executado (lembre-se de que antigamente os computadores eram enormes!). para corrigir problemas. Alguns dos conteúdos a serem integrados com essas habilidades são:
- Definição e desenvolvimento de algoritmos;
- Sintaxe e semântica de linguagem de programação;
- Valores, tipos e operadores e expressões aritméticas;
- Variáveis, atribuição e tipos de dados;
- Funções e subprogramas;
- Entrada e saída de dados
- Estrutura Condicional
Nesse curso também serão trabalhadas suas atitudes em relação às habilidades de programação e os conteúdos da disciplina, além das suas habilidades socioemocionais dentro da disciplina e do curso técnico em informática como um todo.
Sobre o curso ...
Materiais Requeridos
Neste curso nós não utilizamos nenhum livro texto base. Os materiais disponibilizados online através desta página deverão ser suficientes para acompanhar o curso e possibilitar a realização das atividades.
Entretanto, como material suplementar de apoio, sugiro a consulta ao livro Eloquent JavaScript 3a edição (em Inglês) ou a 2a edição do mesmo livro, em Português.
Quando teremos nossas aulas?
Todas as aulas presenciais serão realizadas na UFMS.
- Se você é da turma Informática 1 A: Aulas 2a-feira das 13:00 às 14:30 e 5a-feira das 16:10 às 17:40 no Lab 1.
- Se você é da turma Informática 1 B: Aulas 2a-feira das 14:30 às 16:10 e 5a-feira das 13:45 às 15:15 no Lab 1.
Algoritmos 1 é uma disciplina de 100 horas/aula. Logo, teremos 5 aulas por semana, durante 20 semanas (teremos alguns sábados para completar o calendário). Portanto, teremos 1 vez por semana uma aula remota nas 3as das 09:25 às 10:55. Esta aula será contabilizada para o desenvolvimento de atividades.
Além das aulas, também temos os plantões de dúvida (PE), sempre ofertados nas 5as pela manhã das 09:00 às 11:30 na UFMS. Caso seja necessário também podemos fazer plantões de atendimento de forma online.
Todas as atividades serão invariavelmente postadas no Moodle IFMS.
Calendário detalhado
| Mês | Período em Dias | No de Aulas | Conteúdo |
|---|---|---|---|
| Fevereiro | 7 a 12 | 5 | Apresentação da disciplina, ementa, ferramentas de comunicação, avaliação e conduta. |
| Fevereiro | 14 a 19 | 5 | O que é um computador? Quais são as partes de um computador? O que um computador pode ou não fazer? Que tipos de programas existem? |
| Fevereiro | 21 a 26 | 5 | Programas e Algoritmos. Linguagens de programação. Programas de aplicação. Ferramentas para programação. Meu primeiro programa: rodando um programa já pronto. Editando meu primeiro programa. |
| Março | 3 a 5 | 5 | Números, palavras, expressões e tipos. |
| Março | 7 a 12 | 5 | Armazenando valores em variáveis. Atribuição, tipos de variáveis, nomenclatura de variáveis. Alterando valores em variáveis. |
| Março | 14 a 19 | 5 | Lendo programas de computador: Técnicas de tracing! |
| Março | 21 a 26 | 5 | Entrada e saída . Apresentação de dados e integração com texto e imagens em HTML. |
| Março | 28 a 31 | 5 | Solucionando problemas: técnicas de solução de problemas, estratégias de leitura de problemas. Será que meu programa está certo? |
| Abril | 4 a 9 | 5 | Estruturas condicionais: controle de fluxo. Tipos booleanos e expressões booleanas |
| Abril | 11 a 14 | 4 | Projeto Prático I |
| Abril | 18 a 20 | 5 | Avaliação Escrita 1 |
Calendário detalhado
| Mês | Período em Dias | No de Aulas | Conteúdo |
|---|---|---|---|
| Abril | 25 a 29 | 5 | Usando subprogramas: bibliotecas e funções úteis do JavaScript. Usando funções prontas. |
| Maio | 2 a 7 | 4 | Estratégias sistemáticas de Debug e teste: escrevendo exemplos; analisando resultados; |
| Maio | 9 a 14 | 5 | Escrevendo suas próprias funções: Editando códigos existentes. |
| Maio | 16 a 21 | 5 | Escrevendo suas próprias funções: criando funções que para solucionar problemas. |
| Maio | 23 a 28 | 5 | Integrando ferramentas de teste e exemplos |
| Junho | 1 a 4 | 2 | Projeto Prático 2 |
| Junho | 6 a 11 | 5 | Projeto Prático 2 |
| Junho | 13 a 15 | 5 | Avaliação Escrita 2 |
| Junho | 20 a 25 | 5 | Apresentação Projeto Prático 2 Recuperação de conteúdo |
| Junho | 27 a 30 | 5 | Fechamento da Disciplina |
Como teremos nossas aulas?
A maioria das atividades será realizada dentro do tempo das aulas presenciais. Entretanto, vocês terão que dedicar tempo para tirar dúvidas e finalizar as atividades fora da sala de aula.
Compareçam aos PEs!
IMPORTANTE
Viu no calendário as datas em azul? São sábados letivos!
- (Aluno em pânico): "Professor, teremos aulas aos sábados também?"
- (Professor em tom de calma): "Sim e não: existem atividades que devem ser realizadas nos sábados, e em alguns teremos encontros presenciais."
- (Aluno relaxado): "Ah, então de boa!"
- (Professor quase em pânico): "Mas nessa semana você deve se programar pois você terá um dia a mais de atividades!"
- (Aluno responsável):"Ok, vou me organizar!"
Tecnologias Necessárias
-
Online REPL
Programas são escritos em uma linguagem de programação e depois executados em uma máquina. Para isso, precisamos de um local onde esses programas são inseridos e algo (um compilador ou interpretador) que execute esse programa. REPLs são interfaces de interação simplificadas de programação, muito úteis para trabalhar com programas curtos com entrada e saída. O Repl.it permite a criação rápida e sem necessidade de instalação de vários tipos de REPL, inclusive JavaScript. Eu criei uma REPL de demonstração que vamos usar durante as aulas do curso, crie a sua!
-
Comunicação
Nossa ferramenta principal de comunicação, tanto durante as aulas quanto fora delas será o WhatsApp. Lembrem-se que este grupo é exclusivo para estudos portanto obedeçam as boas regras de convivência.
Link para o Grupo da Informática 1 A - https://chat.whatsapp.com/KMV6VTwur6uL4dZAjC4C6P.
Link para o Grupo da Informática 1 B - https://chat.whatsapp.com/KvWfc43sDChAQZYeSJGSsI
-
Atividades
Parte das atividades serão realizadas durante as aulas presenciais respondendo a quizes no Google Forms (que ficarão gravados os nomes dos respondentes). As atividades assíncronas serão enviadas pelo Moodle no EAD do IFMS. Toda e qualquer atividade só será considerada entregue caso tenha sido enviada pelo Moodle!
-
Plantão de dúvidas Online
Ao todo nós temos 5 aulas por semana (cada aula com 45 minutos). Caso exista a necessidade de PEs online, eles serão sempre feitos pelo Meet, link enviado no grupo do WhatsApp.
Conduta Acadêmica
Como espero que vocês se comportem nesse curso:
- Respeite a humanidade de cada um. Todos nós temos vidas, lutas, medos e objetivos. Você é mais do que um estudante, eu sou mais do que um professor e seus colegas de classe mais do que colegas de classe. Comece cada conversa lembrando-se disso.
- Respeite as diferenças de cada um. Tecnologia é para pessoas e as pessoas são diferentes: aprenda sobre as diferentes perspectivas, experiências e ideias umas das outras.
- Foque no aprendizado, não em notas. Ter conhecimento e habilidades é o que o leva a cursos de graduação, estágios, empregos e pós-graduação. As notas são medidas imprecisas e estreitas do que você sabe e pode fazer, portanto, se focar apenas nas notas em vez de suas habilidades, você acabará com conhecimentos e habilidades restritos. Esse curso é a base para todo o técnico em informática. Lembre-se disso.
- Seja ativo. Faça perguntas, peça ajuda e busque experiência. Pode ser assustador admitir que você precisa de ajuda, mas espero que precise de ajuda. É assim que o aprendizado acontece.
- Seja confiante. Mesmo que você não acredite que pode aprender algo, eu acredito que você pode. Basta ter a instrução certa, a prática certa e o feedback certo. A maioria deles é meu trabalho, então se você está com dificuldades mesmo quando se empenha, provavelmente é minha culpa.
- Seja exigente. Eu quero que este curso seja ótimo. Se você não gosta de como está indo, me dê um feedback. A única maneira de melhorar é se você me disser o que está errado.
- Seja construtivo. Não apenas critique ideias; use seu conhecimento das limitações dessas ideias para torná-las melhores. Isso é especialmente importante quando você colabora com outras pessoas.
- Não engane. Diga a verdade, mesmo que seja difícil de compartilhar. Você não fez uma atividade? Admita, e vamos encontrar uma maneira de você concluir as futuras atribuições a tempo. Você não entende alguma coisa? Admita, e vamos ajudá-lo a entender. Você não quer aprender alguma coisa? Admita, e vamos encontrar uma maneira de torná-lo mais interessante para você.
Atividades e Notas
-
01. Tarefas
Sempre teremos listas de atividades a serem realizadas durante o período da aula ou no momento que vocês julgarem mais apropriado. Lembrando que todas as atividades tem um prazo. Vocês podem enviar as atividades quantas vezes quiserem dentro do prazo. Atividades entregues fora do prazo terão pontos descontados progressivamente.
Você terá uma nota por lista de atividades e posteriormente uma média de notas das listas
Avaliação: 20% da sua nota final é composta pela média das listas de atividades.
-
02. Projetos
No segundo bimestre será apresentado um projeto mais longo (e.g., que durem mais de uma semana) que irá requerer mais esforço de vocês. Alguns projetos serão individuais, outros serão em grupo. Mais detalhes com a apresentação do projeto.
Você terá uma nota por projeto.
Avaliação: 30% da sua nota do 2o bimestre é composta pela média dos projetos.
-
03. Avaliação escrita
A cada bimestre será realizada uma prova escrita (no computador), individual a ser realizada dentro do tempo da aula.
Você terá uma nota por avaliação.
Avaliação: 80% da sua nota do primeiro bimestre e 50% da nota do segundo bimestre virá da avaliação escrita.
Perguntas Frequentes - pg. 1
- Aluno(a)
-
Professor, não tenho computador, como posso fazer as atividades?
- Professor
-
Os estudantes terão acesso aos computadores do laboratório no período de aula. Você pode usar o laboratório fora do horário de aula, desde que o laboratório esteja disponível.
- Aluno(a)
-
Professor, minha conexão é muito ruim, só consigo usar o WhatsApp e não consigo enviar os trabalhos pelo Moodle. E agora?
- Professor
-
Primeiro, certifique-se que você está no nosso grupo de WhatsApp. Me envie uma mensagem em particular e veremos como proceder no seu caso.
- Aluno(a)
-
Posso usar o celular durante as aulas?
- Professor
-
Não.Todos os dispositivos celulares serão recolhidos à entrada da sala e retornados ao fim da aula.
Perguntas Frequentes - pg. 2
- Aluno(a)
-
Professor, estou com sintomas de COVID. Devo ir ao IFMS?
- Professor
-
Não. Fique em casa, recuperamos o conteúdo através dos PEs posteriormente! Caso seja dia de avaliação talvez seja necessário um atestado médico ou teste positivo.
- Aluno(a)
-
Professor, perdi uma aula! E agora?
- Professor
-
Temos aulas gravadas de semestres anteriores. Você pode consultar os vídeos (postados no Moodle) a qualquer momento.
Perguntas Frequentes - pg. 3
- Aluno(a)
-
Como posso tirar dúvidas fora da aula?
- Professor
-
Você pode postar a dúvida no nosso grupo do WhatsApp (lembre-se que a sua dúvida provavelmente é compartilhada com outras pessoas). Pode enviar sua dúvida por e-mail também: rodrigo.duran@ifms.edu.br. Outra opção é enviar as dúvidas pelo Moodle, mas anteriormente existia um atraso bem grande para essas mensagens.
- Aluno(a)
-
Perdi a data de envio de uma atividade, posso enviar para você no WhatsApp/e-mail?
- Professor
-
Não! Todas as atividades devem estar no Moodle pois as pedagogas também verificam essas atividades e reportam aos seus responsáveis.
- Aluno(a)
-
Mas posso enviar a atividade após o prazo?
- Professor
-
Sim, mas a cada semana depois do prazo você perde 20% da nota dessa atividade ...
Perguntas Frequentes - pg. 4
- Aluno(a)
-
Professor, estou muito perdido no conteúdo, penso em desistir da disciplina
- Professor
-
Não! Converse comigo, podemos marcar aulas particulares para tirar as dúvidas. Todos podem e conseguem aprender a programar ! :)
- Aluno(a)
-
Minhas notas estão ruins, consigo recuperar?
- Professor
-
Claro! A recuperação é feita em paralelo ao andamento do curso. O que importa é: ao fim do curso, você dominou os conceitos da disciplina? Se sim, considero aprovado.
- Aluno(a)
-
Posso consultar outros materiais nessa disciplina?
- Professor
-
Claro! Meu material é apenas uma sugestão! Só não copie as atividades de outras fontes, inclusive de colegas! Não tenho tolerância com cópias e vou fazer entrevistas para checar! Quem copiou e quem deixou copiar será zerado!
Questionário de entrada
Por favor, preencha o seguinte questionário (anônimo) para que possamos entender melhor quem são vocês e como podemos melhor atendê-los.
