Sílabo

Introdução às atividades intelectuais da ciência da computação e à arte da programação. Este curso ensina estudantes a pensar algoritmicamente e a resolver problemas de forma eficiente. Os tópicos incluem abstração, algoritmos, estruturas de dados, encapsulamento, gerenciamento de recursos, segurança, engenharia de software e programação da web. As linguagens incluem C, Python e SQL, além de HTML, CSS e JavaScript. Conjuntos de problemas inspirados nas artes, humanidades, ciências sociais e ciências. O curso culmina em um projeto final. Projetado tanto para alunos focados quanto para alunos não focados, com ou sem experiência anterior em programação. Dois terços dos estudantes do CS50 nunca estudaram CS antes. Entre as principais metas deste curso estão inspirar os estudantes a explorar águas desconhecidas sem medo de falhar, criar uma experiência intensa compartilhada, acessível a todos os estudantes, e desenvolver uma comunidade entre os estudantes.

Expectativas

É esperado que você

  • submeta dez conjuntos de problemas e
  • submeta um projeto final.

Certificados

O curso CS50x é gratuito, e você poderá enviar os dez conjuntos de problemas do curso e o projeto final para obter feedback automatizado. Porém, para ter direito a um certificado verificado do edX, você deverá receber uma pontuação satisfatória (de ao menos 70%) em cada problema enviado como parte de um dos dez conjuntos de problemas do curso, bem como no projeto final do curso.

Os problemas são avaliados em eixos de correção (conforme determinado por um programa chamado check50) e estilo (conforme determinado por um programa chamado style50), com pontuações normalmente calculadas como 3 × correção + 1 × estilo.

Livros

Nenhum livro é obrigatório ou recomendado para este curso. Porém, você pode achar os livros abaixo interessantes. Perceba que recursos gratuitos, se não superiores, podem ser encontrados no site do curso.

Hacker’s Delight, Segunda Edição Henry S. Warren Jr. Pearson Education, 2013 ISBN 0-321-84268-5

How Computers Work, Décima Edição Ron White Que Publishing, 2014 ISBN 0-7897-4984-X

Programming in C, Quarta Edição Stephen G. Kochan Pearson Education, 2015 ISBN 0-321-77641-0

Palestras

As palestras do curso apresentam os conceitos de cada semana.

Orientações

Integradas aos conjuntos de problemas estão "orientações", vídeos que oferecem instruções sobre por onde começar e como abordar os problemas.

Conjuntos de Problemas

Os conjuntos de problemas são tarefas de programação. O CS50x não tem prazos para conjuntos de problemas. Você poderá trabalhar e enviá-los no seu próprio ritmo. Para ter direito a um certificado verificado do edX, no entanto, você deverá enviar (e receber uma pontuação de ao menos 70% em) todos os problemas dentro dos conjuntos de problemas até 31 de dezembro de 2024.

Projeto Final

O clímax deste curso é seu projeto final. O projeto final é sua oportunidade de aplicar seus novos conhecimentos em programação e desenvolver seu próprio software. Desde que seu projeto se baseie nas lições deste curso, a natureza do seu projeto dependerá inteiramente de você. Você pode implementar seu projeto em qualquer linguagem. Você poderá utilizar infraestrutura diferente da CS50 Codespace. Tudo o que pedimos é que você construa algo do seu interesse, resolva um problema real, impacte sua comunidade ou mude o mundo. Esforce-se para criar algo que sobreviva a este curso.

Como o desenvolvimento de software raramente é um esforço de uma só pessoa, você tem a oportunidade de colaborar com um ou dois colegas de classe neste projeto final. Nem é preciso dizer que se espera que cada aluno de um grupo como esse contribua igualmente ao projeto e à implementação desse grupo. Além disso, espera-se que o escopo do projeto de um grupo de duas ou três pessoas seja, respectivamente, o dobro ou o triplo do projeto típico de uma pessoa. Um projeto de uma pessoa, lembre-se, deve exigir mais tempo e esforço do que é exigido por cada um dos conjuntos de problemas do curso. Embora no máximo três alunos possam projetar e implementar um determinado projeto, você poderá obter aconselhamento de outras pessoas, desde que respeite a política do curso sobre honestidade acadêmica.

O CS50x não tem um prazo para o projeto final. Você poderá trabalhar e enviá-lo em seu próprio ritmo. Para ter direito a um certificado verificado do edX, no entanto, você deverá enviá-lo (e receber uma pontuação de ao menos 70%) até 31 de dezembro de 2024.

Honestidade Acadêmica

Consulte Honestidade Acadêmica para obter orientações.