Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Curso de C++ Aula 1

Curso de C++ Aula 1

More Decks by Rodrigo Barros Bernardino

Other Decks in Programming

Transcript

  1. Sobre mim ▷ Experiência ensinando ◦ Tira-dúvidas ◦ Nada estruturado

    ▷ Sem experiência de sala de aula ◦ Vários alunos ◦ Tarefas ◦ Continuidade ▷ Sugestões são (muito) bem vindas ◦ Me ajudem a ajudá-los ;)
  2. Sobre Vocês ▷ Experiência (prévia) ◦ Programação ◦ C ◦

    C++ ◦ POO ▷ O que esperam do curso? ▷ O que sugerem que eu faça? ◦ Método ◦ Exemplos ◦ Dúvidas ◦ ...
  3. Sobre o curso ▷ Analisar necessidades ◦ Individual ◦ Em

    comum ▷ Conceitos de C++ ◦ Útil para simulador ▷ Simulador ◦ Estrutura ◦ Funcionamento ◦ Apenas o que eu entender...
  4. Método de Ensino ▷ Slides com conceitos ▷ Práticas em

    sala ◦ Guiadas ◦ Exemplos ▷ Práticas em casa ◦ Exercícios específicos ◦ Implementar no simulador ▷ Estudo de caso ◦ Um problema de alguém ◦ Todos juntos discutem
  5. Visual Studio Code ▷ Leve, simples, fácil de usar ▷

    Muitas extensões ▷ IDE oficial do curso
  6. VSCode: Atalhos do Teclado ▷ Ctrl + Shift + P

    ◦ Exibe todos os comandos ▷ Ctrl + P ◦ Abre um arquivo (digitando)
  7. VSCode: Build ▷ Criar “tasks” ◦ Ctrl+Shift+P ◦ Tasks: Configure

    Task Runner ◦ Others (template) ◦ tasks.json ▷ Criar “Makefile” ◦ Debug ◦ Release ▷ Compilar (c/ debug) ◦ Run Build Task
  8. VSCode: Atalhos Extra ▷ Ctrl+Shift+P ◦ → Keyboard… reference ▷

    Run Task ◦ Ctrl+F8 ▷ build (workbench…) ◦ F8
  9. VSCode: Rodar (debug) ▷ Criar launch.json ◦ Aba “debug” ◦

    “Setinha” → “Add Configuration” ◦ “C++ (GDB…/Windows)” → “ESC” ◦ Ajustar caminho input e output ◦ Adicionar “build” ▪ "preLaunchTask": "debug" ▷ Rodar ◦ F5: COM debug ◦ Ctrl + F5: SEM debug
  10. VSCode: Rodar para Simular ▷ Compilar SEM debug-info ◦ Ctrl+F8

    (Run Task) ◦ Selecionar “release” ▷ Compilar SEM debug-info ◦ Além do atalho “Run Build Task” ◦ Ctrl+F8 (Run Task) ◦ Selecionar “debug”
  11. Git: O quê, como, onde? ▷ Parte de uma palestra

    ▷ Apresentação Completa Aqui ▷ Simplificado ◦ Sem equipe ◦ Apenas para controle geral
  12. Programando Sem Limites 1. Escreve 2. Testa a. Erro b.

    OK! 3. Prox Passo a. Escreve, testa, etc. Controle de versão
  13. Programando Sem Limites • Cria A • A funciona •

    Modifica B • B funciona Controle de versão
  14. Programando Sem Limites • Cria A • A funciona •

    Modifica B • B funciona • A dá erro • Não sei onde mexi! Controle de versão
  15. Outro caso: versionamento manual • Modifica código “main.cpp” • Cria

    novo arquivo ◦ “main-final.cpp” • Adiciona comentário no código ◦ “// v0.5… eu mexi aqui...” • Adiciona “tags” pra saber onde mexeu ◦ “// MEXI AQUI” …. “// MEXI AQUI” ….
  16. O que é Git? • Sistema de Controle de Versão

    (VCS) ◦ Histórico de alterações • Servidores na nuvem ◦ GitHub ◦ Bitbucket
  17. O que é Git? • Sistema de Controle de Versão

    (VCS) ◦ Histórico de alterações • Servidores na nuvem ◦ GitHub ◦ Bitbucket
  18. Controle de Versão: Dropbox • Todo e qualquer arquivo •

    Free: 30 dias de histórico • Plano pago: 1 ano de histórico
  19. Controle de Versão: Google Drive • max 200 versões permanentes

    • max 100 versões (automático) • deleta versões extra a cada 30 dias • Todo e qualquer arquivo • Detalhamento para Docs ◦ Exatamente onde mexeu
  20. Git: Conceitos • Repositório (repository - repo) 1. Grupo de

    arquivos ▪ Organizado por pastas ▪ Representa um projeto
  21. Git: Conceitos • Repositório (repository - repo) 1. Grupo de

    arquivos ▪ Organizado por pastas ▪ Representa um projeto 2. Histórico de Revisões
  22. Git: Conceitos • Repositório (repository) ◦ Grupo de arquivos ◦

    Organizado por pastas ◦ Representa um projeto ◦ Histórico de Revisões ▪ Indexado (biblioteca) ▪ .git
  23. Git: Conceitos • Revisão (revision) ◦ Versão ◦ Projeto inteiro

    ▪ Mudei só 1 arquivo ▪ Mudei vários arquivos • Visualizar histórico ◦ Arquivo ◦ Projeto ◦ Quem, Quando, Onde e Porque alterou
  24. Git: Conceitos • Revisão e Tamanho do Projeto ◦ Projeto

    inteiro ◦ Cópias do inalterado? ◦ Tamanho?
  25. Git: Repositórios • Remotos (remote) ◦ Nuvem ◦ GitHub ◦

    Cópia dos arquivos • Locais (local) ◦ Onde as mudanças ocorrem ◦ Recebe mudanças (pull - puxar) ◦ Envia mudanças (push - empurrar) 1. Arquivos locais com Versão Atual 2. Histórico de revisões (Versões Anteriores) a. Projeto inteiro b. Logo, cada arquivo
  26. Git: Repositórios • Remotos (remote) ◦ Nuvem ◦ GitHub /

    Bitbucket ◦ Cópia do repo local • Locais (local) ◦ Onde as mudanças ocorrem ◦ Sync: atualiza c/ mudanças ▪ Recebe do remoto ▪ Envia para remoto
  27. Git: Conceitos • Commit ◦ cria revisão ◦ altera repo

    local • Escolha ◦ O que “commitar” ◦ Checkbox • Push / Empurrar / Enviar ◦ Aplica no repo remoto