Instituto Federal de Mato Grosso do SulFevereiro 2024

IFMS marca

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!

Premiação FEBRACE 2015, USP, São Paulo.
Trabalho em equipe

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.

Eloquent JavaScript

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.

Calendário

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
Calendário

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


  • Repl.it

    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!

  • WhatsApp

    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

  • Moodle IFMS

    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!

  • Meet

    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.

Codigo de conduta

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ê.
Adaptado de Amy J. Ko

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.

https://forms.gle/2RXEtVwn6SWuaDJU7