Projeto Final

O clímax deste curso é o seu projeto final. O projeto final é sua oportunidade de colocar em prática sua habilidade recém-adquirida em programação e desenvolver sua própria peça de software. Contanto que seu projeto se baseie nas lições deste curso, a natureza do seu projeto é completamente escolha sua. Você pode implementar seu projeto em qualquer linguagem. Você pode utilizar infraestrutura além do CS50 Codespace. Tudo o que pedimos é que você construa algo que seja do seu interesse, resolva um problema real, impacte sua comunidade ou mude o mundo. Tente criar algo que sobreviva a este curso.

Tendo em vista que o desenvolvimento de software raramente é um esforço individual, você tem a oportunidade de colaborar com um ou dois colegas de classe para este projeto final. É de se esperar que todos os alunos em qualquer grupo como este contribuam igualmente para o design e implementação do projeto do grupo. Além disso, espera-se que o escopo do projeto de um grupo de duas ou três pessoas seja, respectivamente, duas ou três vezes maior do que um projeto individual típico. Um projeto individual, deve ter mais tempo e esforço do que é requerido por cada um dos conjuntos de problemas do curso.

Observe que o pessoal do CS50 audita as submissões do CS50x, incluindo este projeto final. Os alunos que violarem a política de [honestidade acadêmica](/2023/honestidade) serão removidos do curso e considerados inelegíveis para um certificado. Os alunos que já completaram o CS50x, se encontrados em violação, terão seu Certificado CS50 (e Certificado edX, se aplicável) revogado.

Ideias

  • Uma aplicação baseada na web usando JavaScript, Python e SQL.
  • Um aplicativo iOS usando Swift.
  • Um jogo usando Lua com LÖVE.
  • Um aplicativo Android usando Java.
  • Uma extensão do Chrome usando JavaScript.
  • Um programa de linha de comando usando C.
  • Uma aplicação baseada em hardware para a qual você programa algum dispositivo.
  • ...

Primeiros Passos

Criar todo um projeto pode parecer desafiador. Aqui estão algumas perguntas que você deve considerar ao começar:

  • O que o seu software fará? Quais recursos ele terá? Como ele será executado?
  • Que novas habilidades você precisará adquirir? Que tópicos você precisará pesquisar?
  • Se trabalhando com um ou dois colegas, quem fará o quê?
  • No mundo do software, quase tudo leva mais tempo para ser implementado do que o esperado. Então, não é incomum alcançar menos em um tempo fixo do que você esperava. O que você pode considerar bom resultado para seu projeto? Resultado melhor? O melhor resultado?
  • Considere criar marcos de objetivo para manter o controle.

Se você estiver usando o CS50 Codespace, crie um diretório chamado projeto para armazenar o código fonte e outros arquivos do seu projeto. É possível desenvolver o projeto fora do CS50 Codespace.

Como Enviar

Você deve completar todos os três passos!

Passo 1 de 3

Crie um vídeo curto (não mais que 3 minutos de duração) no qual você apresenta seu projeto para o mundo, com slides, capturas de tela, voz e/ou ação ao vivo. Seu vídeo deve incluir de alguma forma o título do seu projeto, seu nome, sua cidade e país, e quaisquer outros detalhes que você deseje transmitir aos espectadores. Veja howtogeek.com / 205742 / como- gravar-seu-windows-mac-linux-android-ou-ios-tela para obter dicas sobre como fazer uma "screencast", embora você possa usar uma câmera real. Faça upload do vídeo para o YouTube (ou, se bloqueado em seu país, um site semelhante) e anote sua URL; é válido marcar o vídeo como "não listado", mas não como "privado".

Submeta este formulário!

Passo 2 de 3

Crie um arquivo de texto README.md (com exatamente este nome!) na pasta do seu projeto que explique seu projeto. Este arquivo deve incluir o título do projeto, o URL do vídeo (criado no Passo 1 acima) e uma descrição do seu projeto. Você pode usar o seguinte modelo:

# TÍTULO DO SEU PROJETO
#### Vídeo de demonstração: <URL AQUI>
#### Descrição:
TODO

Se você não estiver familiarizado com a sintaxe do Markdown, pode achar útil a sintaxe de escrita e formatação básicas do GitHub. Se estiver usando o CS50 Codespace e for solicitado a “Abrir com o CS50 Lab”, basta clicar em Cancelar para abrir seu arquivo no Editor. Você também pode visualizar seu arquivo .md clicando no ícone de "visualização", conforme explicado aqui: Visualização do Markdown no vscode. Os documentos READMEs padrão de projetos de software muitas vezes podem ter milhares ou dezenas de milhares de palavras de comprimento; o seu não precisa ser tão longo, mas deve ter várias centenas de palavras.

Seu arquivo README.md deverá ter pelo menos vários parágrafos de comprimento, explicar o que é o seu projeto, o que cada um dos arquivos que você escreveu para o projeto contém e faz e se você debateu certas escolhas de design, explicando por que as fez. Certifique-se de alocar tempo e energia suficientes para escrever um README.md que documente seu projeto completamente. Orgulhe-se dele! Se for muito curto, o sistema o rejeitará.

Execute o comando submit50 abaixo, estando dentro do diretório do projeto (ou de qualquer diretório que contenha o arquivo README.md e o código do seu projeto, que também deve ser submetido), fazendo login com seu nome de usuário e senha do GitHub quando solicitado. Por questões de segurança, verá asteriscos em vez dos caracteres reais da senha.

submit50 cs50/problems/2023/x/project

Passo 3 de 3

Certifique-se de visitar a sua planilha de notas em cs50.me / cs50x alguns minutos depois de enviar. Somente carregando sua planilha de notas é que o sistema pode verificar se você concluiu o curso e é isso que desencadeia a geração (instantânea) do seu Certificado CS50 gratuito e a geração (dentro de 30 dias) do Certificado Verificado do edX, se você concluiu todos os outros trabalhos. Certifique-se de solicitar seu certificado gratuito (seguindo o link no topo de sua planilha de notas) antes de 1º de janeiro de 2024.

Não pule este passo! O curso não será considerado completo até que você siga as instruções acima e veja a faixa verde dizendo que você concluiu o curso. Se você não seguir as instruções acima antes de 1º de janeiro de 2024, seu status no curso estará sujeito às regras de "carryover" da seção de Perguntas frequentes. A equipe não fará correções manuais no início de 2024 com base na ausência deste passo!

Isso é tudo! Seu projeto deve ser avaliado em alguns minutos. Se você não vir nenhum resultado em sua planilha de notas, é melhor fazer uma nova submissão (executando o comando submit50 acima) somente com o arquivo README.md desta vez. Não é necessário fazer uma nova submissão do formulário.

Este foi o CS50x!