Skip to content

alessandracruz/CS50-Course

Repository files navigation

Curso CS50 de Harvard.

Este é um repositório dedicado ao curso CS50 de Harvard. Aqui você encontrará os códigos construídos em aula, junto com o professor, formando o conhecimento desde o conteúdo mais simples ao mais avançado. Alguns exercícios resolvidos com a ajuda de outros alunos do curso. Alguns desses exercícios são bem avançados para mim que ainda sou iniciante. Consulte o código que quiser, mas saiba que só se aprende a programar programando! Então...Vá programar. Os exercícios do módulo 4 em diante ainda não consegui fazer, tamanha complexidade para mim e se quiser fazer junto, será um prazer.

Esse curso é incrível, todas as aulas são densas e de muito conteúdo. A maioria das vídeo aulas tem mais de 1h 40min de duração e muitas com mais de 2h. O inglês, de início, parece uma barreira e o David, o professor, fala muito rápido que muitas das vezes, dá trabalho até para acompanhar com a legenda. Mas, conforme os minutos das aulas vão passando, tem momentos que você se vê só ouvindo, sem nem ler mais a legenda tamanho é o treino da audição.

Cada módulo tem:

  1. A vídeo aula que pode ser assistida também no youtube, fora da plataforma
  2. Alguns exercícios, todos eles com:
    • Explicações escritas e em vídeo
    • Os testes para serem realizados no workspace com o resultado esperado pela plataforma
    • A avaliação do código através de um teste automatizado chamado check50, onde seu código deve rodar perfeito para ser validado como feito na plataforma. Como se fosse a Moulinette da École 42
    • Uma avaliação de estilo para analisar o estilo do seu código chamado style50: como você escreve, se tem comentários, se é um código limpo, sinalizando o que pode melhorar. Como se fosse a Norminette da École 42 , com a diferença que ela não trava a correção do seu código pelo check50
  3. Um laboratório que é um projeto mais avançado usando os conhecimentos do módulo e dos exercícios desse módulo

Foi nesse curso que eu, finalmente, visualizei, entendi e aprendi alguns conceitos que eram muito abstratos para mim na faculdade e cito alguns abaixo:

  • Linguagem de Computador
  • Base Decimal
  • Base 2 (Binária)
  • Como representar em Binário (em forma de Bitwise):
    • Números na base decimal
    • Letras
    • Caracteres
    • Emojis
    • Vídeos
    • Músicas
  • Tabela ASC II - American Standard Code Information Interchange
  • Bytes
  • Bits
  • Funções - Ação
  • Condicionais - if, else if, else
  • Loop - while
  • Processo de compilação e suas flags
  • Arquivo executável a.out (Assembly.out)
  • Flag -o de output
  • Tipos de variáveis, principalmente a booleana que nunca entendia
  • argc - argument count
  • argv - argument vector
  • Struct - typedef
  • Algoritmo de ordenação - Bubble Sort, Recursão, Merge Sort
  • Sistema Hexadecimal
  • Ponteiro e suas sintaxes (Aula incrível do Módulo 4, recomendo!)
    • & - Descubra o endereço
    • '*' - Vá até o endereço
  • char * - representa o endereço de um caractere
  • Aritimética de ponteiros
  • Malloc - memory allocation (Que aula! Módulo 4 também)
  • Free
  • Valgrind - ferramenta usada para detectar se você está fazendo algo errado com a memória
  • Sizeof - operador que informa o tamanho de um tipo de dado
  • Head overflow
  • Stack overflow
  • Buffer overflow
  • Lista linkada
  • Leak de memória

Abaixo, segue o conteúdo separado por: Módulos, linguagem e nome de cada projeto:

MODULO 0 - Scratch - 1h 41min de Aula - 21/04/2023

Aula0 - Arquivos criados em aula junto com o professor Exercício - Projeto Scratch

MODULO 1 - C - 2h 16min de Aula - 22/04/2023

  • Aula1 - Arquivos criados em aula junto com o professor
  • cash
  • credit
  • hello
  • mario-less
  • mario-hard
  • population

MODULO 2 - Arrays - 2h 24min de Aula - 25/04/2023

  • Aula2 - Arquivos criados em aula junto com o professor
  • caesar
  • readability
  • scrabble
  • substitution

MODULO 3 - Algorithms - 2h 25min de Aula - 27/04/2023

  • Aula3 - Arquivos criados em aula junto com o professor
  • plurality
  • runoff

MODULO 4 - Memory - 2h 41min de Aula - 06/05/2023

  • Aula4 - Arquivos criados em aula junto com o professor

MODULO 5 - Data Structures - 2h 26min de Aula - 16/05/2023

  • Aula5 - Arquivos criados em aula junto com o professor (um dos mais difíceis para mim até o momento)

MODULO 6 - Python - 2h 40min de Aula (Em andamento | 17/05/2023)

  • Aula6 - Arquivos criados em aula junto com o professor

MODULO 7 - SQL (Não iniciado)

MODULO 8 - HTML, CSS, JavaScript (Não iniciado)

MODULO 9 - Flask (Não iniciado)

MODULO 10 - Ética (Não iniciado)

ENCERRAMENTO DO CURSO - Previsto para Dezembro de 2023

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published