Bem-vindo

Este é o CS50, a introdução da Universidade de Harvard às empreitadas intelectuais da ciência da computação e à arte da programação, tanto para iniciantes quanto para não iniciantes, com ou sem experiência prévia em programação. (Dois terços dos alunos do CS50 nunca fizeram CS antes.) Este curso ensina como resolver problemas, tanto com quanto sem código, com ênfase na correção, design e estilo. Os tópicos incluem pensamento computacional, abstração, algoritmos, estruturas de dados e ciência da computação de forma mais geral. Conjuntos de problemas inspirados em artes, humanidades, ciências sociais e ciências. Mais do que ensinar como programar em uma linguagem, este curso ensina como programar fundamentalmente e como se ensinar novas linguagens no final. O curso começa com uma linguagem tradicional, mas onipresente, chamada C, que é a base das novas linguagens atuais, por meio da qual você aprenderá não apenas sobre funções, variáveis, condicionais, loops e muito mais, mas também sobre como os próprios computadores funcionam por dentro, memória e tudo. O curso então faz a transição para o Python, uma linguagem de nível superior que você entenderá ainda mais por causa do C. Perto do final do período, o curso introduz o SQL, por meio do qual você pode armazenar dados em bancos de dados, junto com HTML, CSS e JavaScript, por meio do qual você pode criar aplicativos tanto para web quanto para dispositivos móveis. O curso culmina em um projeto final.

Assista a uma introdução

Como fazer este curso

Mesmo que você não seja um aluno em Harvard, é bem-vindo para "fazer" este curso de graça por meio deste OpenCourseWare, trabalhando através das onze semanas de material do curso. Para cada semana, siga este fluxo de trabalho:

    flowchart TD
        A[Assistir à palestra] --> |recomendado|B[Assistir à sessão]
        A --> D
        B --> |recomendado|C[Assistir aos curtas]
        B --> D[Enviar o conjunto de problemas]
        C --> D

Em seguida, envie o projeto final do curso.

Para enviar os conjuntos de problemas do curso e o projeto final para feedback, certifique-se de criar uma conta no edX, caso ainda não o tenha feito. Faça perguntas ao longo do caminho por meio de qualquer uma das comunidades do curso!

Como ensinar este curso

Se for professor, você é bem-vindo para adotar ou adaptar estes materiais para seu próprio curso, de acordo com a licença.