32 pontos por GN⁺ 2025-05-26 | 4 comentários | Compartilhar no WhatsApp
  • O currículo da OSSU oferece uma formação completa em Ciência da Computação gratuitamente por meio de materiais online das melhores universidades do mundo
  • Reproduz a estrutura de um currículo universitário de bacharelado em Ciência da Computação com introdução, núcleo, avançado e projeto final
  • Todas as aulas e tarefas são gratuitas ou majoritariamente gratuitas, embora algumas avaliações possam ter custo
  • Uma ativa rede global de apoio a estudantes, incluindo a comunidade no Discord, continua em operação com atualizações constantes dos materiais
  • Quem estuda pode ajustar o ritmo e fazer escolhas de forma flexível, individualmente ou em grupo, conforme sua própria situação

O que é a OSSU e por que ela é importante

A OSSU (Open Source Society University) é um currículo open source projetado para que qualquer pessoa possa obter, por conta própria e sem custos, uma formação em Ciência da Computação no nível de um curso superior regular. Ela utiliza aulas abertas e materiais de universidades de ponta como Harvard, MIT e Princeton, e seu objetivo não é apenas transmitir conhecimento pontual, mas oferecer uma experiência de aprendizado equilibrada entre teoria, prática e aplicação.

  • Todos os materiais de estudo são selecionados entre recursos gratuitos e de alta qualidade disponíveis online
  • Reflete rigorosamente padrões internacionais de graduação básica em computação, como o padrão CS2013
  • O público principal são pessoas capazes de manter motivação própria e hábitos consistentes de estudo, além de buscar ajuda em uma comunidade global de aprendizagem

Estrutura e características do currículo

  • Introdução (Introduction to CS): permite experimentar os conceitos básicos e o interesse pela Ciência da Computação e pela programação. Inclui programação em Python, teoria da computação, estruturas de dados básicas e algoritmos
  • Núcleo (Core CS): corresponde a um currículo universitário até o terceiro ano, cobrindo programação (funcional, orientada a objetos, design de software), matemática (matemática discreta, estatística, probabilidade, cálculo), sistemas (arquitetura de computadores, SO, redes), teoria (algoritmos, problemas NP etc.), segurança, aplicações e ética
  • Avançado (Advanced CS): corresponde ao último ano do curso. É possível escolher áreas de interesse entre programação avançada, sistemas, teoria, segurança da informação e matemática avançada
  • Projeto final: usa o conhecimento adquirido para realizar um projeto real, compartilhando e validando o resultado com colegas do mundo todo. Pode ser usado como comprovação de habilidades práticas e como portfólio para emprego

Forma de estudo e custos

  • É possível estudar o currículo individualmente ou em grupo
  • Recomenda-se concluir os cursos em ordem, mas também é possível pular conteúdos que você já domina
  • Todas as aulas são oferecidas gratuitamente online. Em algumas plataformas (Coursera, edX etc.), pode haver custo para avaliação de tarefas/provas/projetos, mas na maioria dos casos o aprendizado em si é gratuito. Também há orientação sobre apoio financeiro (bolsas/Financial Aid) para reduzir a carga econômica
  • Há um modelo de Google Sheets para ajudar a gerenciar o progresso dos estudos e a previsão de conclusão

Comunidade e suporte

  • Há um servidor no Discord para participantes, com discussões de aula, perguntas e conexão entre colegas acontecendo ativamente
  • Existem canais ativos de feedback, como GitHub Issues e sugestões de melhoria do currículo
  • É possível adicionar a conclusão da OSSU ao perfil no LinkedIn

Recomenda-se verificar o currículo mais recente pelo site oficial e pelo repositório no GitHub

Lista detalhada do currículo

Pré-requisitos

  • O núcleo de CS exige matemática de nível de ensino médio (álgebra, geometria, pré-cálculo)
  • O CS avançado só pode ser escolhido após concluir todo o núcleo
  • A disciplina Advanced systems exige conhecimentos básicos de física em nível de ensino médio

Introdução à CS (Introduction to CS)

  • Primeiro passo em Ciência da Computação. Introduz operações básicas, programação imperativa, estruturas de dados, algoritmos etc.
  • Aula obrigatória: 'Introduction to Computer Science and Programming using Python' (14 semanas)

Núcleo de CS (Core CS)

Programação

  • Prática ampla em funcional/orientada a objetos/testes/padrões/tipagem/diversidade de linguagens etc.
  • Systematic Program Design, Programming Languages (A–C), Object-Oriented Design, Software Architecture etc.

Matemática

  • Inclui matemática discreta, provas matemáticas, estatística básica, notação O, probabilidade e cálculo

Ferramentas e ambiente de desenvolvimento

  • Ferramentas essenciais para o trabalho, como terminal, shell scripting, vim, linha de comando e controle de versão (git)

Sistemas

  • Compreensão geral de como o computador funciona, do hardware ao sistema operacional e às redes
  • Exemplos: projeto Nand to Tetris, OS Three Easy Pieces, Networking etc.

Teoria

  • Inclui análise de algoritmos, divisão e conquista, grafos, programação dinâmica, problemas NP etc.

Segurança

  • Inclui fundamentos de segurança da informação, programação segura, análise de vulnerabilidades, redes/criptografia e matérias optativas relacionadas

Aplicações

  • Cobre amplamente áreas práticas como bancos de dados, machine learning, computação gráfica e engenharia de software

Ética

  • Enfatiza a ética essencial para profissionais de tecnologia, como contexto social da tecnologia, profissionalismo, propriedade intelectual e privacidade de dados

CS Avançada (Advanced CS)

  • Disciplinas eletivas conforme carreira/área de interesse: programação paralela, compiladores, linguagens como Haskell/Prolog, debugging/testing de software
  • Ampla variedade de opções, incluindo arquitetura de computadores, análise numérica/lógica/probabilidade, teoria da computação, segurança da informação e construção de sistemas

Projeto Final (Final Project)

  • Escolha, desenho, implementação e compartilhamento de um projeto prático
  • Exemplos de opções: serviço full-stack, robótica, data mining, big data, IoT, cloud computing, data science, desenvolvimento de jogos etc.
  • Pode ser feito por conta própria ou com uso de cursos recomendados

Depois de concluir os estudos

  • Certificação de aquisição de conhecimento equivalente ao de um bacharelado na área de CS
  • Recomendações de continuidade, como preparação para emprego, leitura aprofundada (lista fornecida) e encontros presenciais de desenvolvedores
  • Incentivo à exploração de novas tecnologias (linguagens como Elixir/Rust/Idris etc.)

Regras de operação e equipe

  • Cumprimento do Código de Conduta da OSSU
  • Orientações para marcar e gerenciar seu próprio progresso no GitHub (com uso de kanban)

Principais mantenedores da OSSU

  • Eric Douglas (fundador da OSSU), Josh Hanson (mantenedor técnico), Waciuma Wanjohi (mantenedora acadêmica) e outros colaboradores do mundo todo

Encerramento

A OSSU abre caminho para que qualquer pessoa no mundo desenvolva, gratuitamente, capacidades em Ciência da Computação no nível de uma graduação formal e possa entrar de forma ampla na prática profissional e nas carreiras da indústria moderna de TI.
A combinação de progresso flexível, critérios rigorosos, comunidade global e materiais gratuitos de alta qualidade é seu grande diferencial em relação a outros currículos abertos.

4 comentários

 
crawler 2025-05-28

> Acho que matérias no estilo “não estude CC” estão perdendo o verdadeiro sentido.

A tradução ficou muito boa, que curioso kkk

 
xguru 2025-05-26

OSSU Open Source Society University - Estudando Computer Science por conta própria

Acho que isso foi apresentado no início do GeekNews. Desde então, bastante coisa foi adicionada.

 
GN⁺ 2025-05-26
Comentários do Hacker News
  • Como engenheiro experiente, acho que o OSSU é um lugar realmente excelente para quem quer ajudar aprendizes

    • Minha sugestão é a seguinte: tocar seu projeto paralelo com aprendizes do OSSU de forma regular, em pair programming ou team programming
    • Familiarize-se com um ou mais cursos do currículo e ajude respondendo às perguntas dos estudantes
    • Você também pode participar das reuniões semanais de check-in, compartilhar no que está trabalhando e ouvir o que outros aprendizes estão fazendo
    • Na prática, é só visitar o servidor no Discord e mencionar a mim, @waciuma, ou o cargo @tutor
    • Sou um dos líderes do OSSU, e acreditamos fortemente que comunidade, networking e projetos são parte real da educação
    • Também celebramos não só os professores e universidades que criam cursos gratuitos, mas os inúmeros engenheiros e profissionais que se voluntariaram para ajudar aprendizes do OSSU
    • Espero que você também se junte a esse grupo
  • Eu administro um programa educacional para ajudar estudantes a estudar ciência da computação de forma autodirigida. Às vezes também usamos o currículo do OSSU como material de referência

    • O self-learning tem muitas vantagens, mas os estudantes precisam saber que também há pontos de atenção

    • Você precisa se esforçar mais por conta própria em “sinalização” e networking, e os benefícios sociais de estar vinculado a uma universidade tendem a faltar no self-learning

    • Não ter diploma significa, de certa forma, estar em estado de “marked”; veja a explicação aqui

    • Quando algo dá errado ou surge uma dificuldade, é fácil atribuir a causa ao fato de não ter diploma

    • Alguns recrutadores acham que contratar alguém sem diploma é um risco político, então pode ser difícil até conseguir entrar

    • Não é algo impossível de superar, mas por isso nós já nos preparamos para isso desde o começo e lidamos com essa questão juntos

    • As vantagens do self-learning são a velocidade de aprendizado e a possibilidade de aprender tudo com contexto, sem repetir etapas inúteis

    • Se você perceber que está com falhas na base, pode voltar e aprender aquilo depois

    • Acho que esse é um jeito inevitável de aprender em cargos técnicos, mas não funciona para todos os estudantes

    • Na prática, é uma pena que muitas vezes as pessoas sejam “forçadas” ao self-learning porque não conseguem ir para a universidade por questões financeiras

    • Se você não conhece bem os trade-offs, isso pode tornar tudo ainda mais difícil

    • Referência: Divepod

    • Já mentorei o processo de self-learning de várias pessoas

      • Existem várias armadilhas no self-learning, e se você não tomar cuidado é fácil seguir pelo caminho errado
      • Uma armadilha que eu não esperava, mas que depois pareceu meio óbvia, é que ao ouvir reclamações sobre a indústria no Reddit ou na Twitch, fica fácil acreditar que habilidade real quase não importa e que só entrevista importa
      • Aí a pessoa acaba negligenciando habilidade de programação e projetos reais, focando tudo em LeetCode ou subindo para o GitHub projetos inacabados com README bonito
      • Ou se concentra apenas em decorar respostas em formatos como entrevistas S.T.A.R.
      • Por um tempo essa estratégia funcionou, mas agora as empresas estão melhores em filtrar “entrevistadores profissionais”
      • Esse tipo de mentalidade não é exclusivo de autodidatas; na universidade também acontece de gente mirar apenas no diploma e colar, negligenciando o aprendizado real
      • Depois de se formar, acabam sendo pegos de surpresa nas entrevistas
  • Eu, ainda jovem, logo depois de terminar o ensino médio, desperdicei boas oportunidades por não conseguir concluir direito uma graduação em CS

    • Depois me casei, tive filhos e concluí rapidamente um diploma em TI, mas o que eu mais gostava originalmente era CS
    • Alguns anos atrás, concluí que terminar de verdade uma formação em CS ajudaria muito minha carreira
    • Considerei várias opções, como um segundo bacharelado, post-bacc e bootcamp, e no fim escolhi o OSSU
    • Levou mais tempo do que eu esperava (a vida sempre traz variáveis), mas só tenho coisas boas a dizer sobre o currículo. Melhorou não só minha carreira, como também minha satisfação com a vida
    • Escrevi no meu blog sobre por que escolhi o OSSU e como foi a experiência primeiro post do blog
  • Pessoalmente, acho que Teach Yourself CS é uma alternativa melhor

    • Eu também cheguei a analisar o Teach Yourself CS para complementar meus estudos em ciência da computação
      • Mas o fato de não ter comunidade foi um dos principais motivos para eu escolher o OSSU
      • Tenho curiosidade: considerando a importância da comunidade, por que você acha que o Teach Yourself CS é melhor que o OSSU?
      • Para referência, atuo como “social organizer” da minha coorte do OSSU e às vezes também escrevo no blog sobre minha experiência no OSSU
  • Sou um exemplo de que dá para construir uma carreira apenas com self-learning

    • Já trabalho na indústria há mais de 20 anos

    • Mas, se você escolhe esse caminho, com certeza existem empresas e cargos aos quais você “nunca” terá acesso

    • Em geral, são justamente as melhores empresas, as mais bem pagas e os empregos com melhores condições

    • Mais importante do que o diploma em si é a rede de ex-alunos. Existe um “grande clube” em que quem estudou na mesma instituição contrata uns aos outros

    • Se você fizer self-learning, nunca vai ter acesso a essa rede

    • E a realidade? Sobram os empregos que todo mundo rejeita. Lugares absurdos, golpes, startups sem dinheiro, empresas já em crise

    • Mesmo quando você consegue uma vaga boa, é difícil permanecer nela por muito tempo

    • O salário é menor, e o risco de ser explorado é bem maior

    • Também é difícil receber múltiplas ofertas, então sua posição no mercado fica mais fraca

    • Isso pode fazer a carreira inteira parecer seguir uma trilha financeira completamente diferente

    • Buscar emprego é muito mais difícil; você precisa se esforçar o dobro

    • Você frequentemente sofre uma espécie de suspeita, tanto de si mesmo quanto dos colegas, sobre sua “legitimidade”

    • O impacto de um único erro pode ser enorme

    • Ainda assim, é melhor do que não fazer nada, mas se você tiver a oportunidade, acho melhor ir para a faculdade

    • Não quero diminuir sua experiência, mas eu tive uma trajetória 100% autodidata e trabalhei em empresas de vários tipos, incluindo big techs, unicórnios e startups

      • Entrevistas com Google e Citadel, oferta da Meta — nunca tive portas fechadas nem fui tratado com desconfiança por causa disso
      • Hoje recebo mais de US$ 200 mil por ano em dinheiro, além de ações e benefícios em uma startup em estágio inicial
      • Já passei por dois exits; não sou rico, mas pelos padrões normais estou muito bem
      • Nunca tive prejuízo financeiro por causa da minha formação
      • Talvez a vantagem tenha sido ter começado cedo, com programação e startups aos 19 anos
      • Talvez eu só tenha tido sorte, mas acho que aconselhar jovens a não fazer self-learning de jeito nenhum acaba sendo prejudicial para eles
    • Trabalhei alguns anos como desenvolvedor de software e depois voltei para a faculdade para cursar CS

      • Eu já tinha 90 créditos em História e então estudei por 3 anos em um currículo estruturado
      • Acho que isso elevou muito meu nível como desenvolvedor
      • Dá para fazer sozinho, mas a maioria das pessoas nunca chega nesse nível
      • Com certeza conheci autodidatas melhores do que eu, mas ainda assim acho que eles teriam ficado ainda melhores se tivessem passado por um programa de CS de 4 anos
    • Essa história é verdadeira até certo ponto, mas em geral só vale no começo da carreira e quando suas habilidades ainda estão na faixa inferior do seu grupo de pares

      • Depois disso, capacidade de networking e sorte (muito mais importante do que as pessoas imaginam) passam a pesar bastante
      • A universidade oferece, no início da carreira, um tipo de confiança de que você consegue acompanhar, além do “comprovante” que é o diploma
      • Você também constrói networking nesse processo, mas depois dos dois primeiros empregos a utilidade do diploma cai drasticamente
      • Na minha experiência pessoal, comecei sem diploma e depois de mais de 10 anos tirei um por diversão
      • Profissionalmente não teve valor algum, e depois disso todas as oportunidades vieram de recomendação e referência de colegas da área
      • O diploma foi uma boa chance de ter contato com assuntos que eu não encontraria por conta própria
    • Eu sou meio ADHD e também estou em algum ponto do espectro autista

      • Entrei na faculdade três vezes, mas abandonei todas por causa de custos, tédio e problemas pessoais, incluindo a morte do meu pai por câncer
      • Comecei a carreira em tech support de uma empresa de compiladores C e depois virei desenvolvedor
      • Passei pela bolsa de valores de Nova York, uma grande corretora, uma fintech conhecida e também consultoria para bancos e empresas de pagamentos
      • Sempre fui mais habituado ao autodidatismo, então o ambiente acadêmico não combinava comigo
      • Em desenvolvimento, foi extremamente raro o diploma virar um problema; na prática, ninguém nunca se importou
      • Pelo menos em cargos de desenvolvimento de software, diploma tem pouco ou nenhum valor
    • Algo que muita gente esquece nessa conversa é que o principal motivo para estudar ciência da computação não precisa ser emprego ou melhoria de habilidades para o trabalho

      • A motivação real pode ser simplesmente “diversão”
      • Dá para aproveitar a disciplina pela vida inteira, tanto na programação prática quanto na teoria, na base matemática da computação e na história da computação
      • Acho que artigos no estilo “não estude comp sci” perdem o ponto principal
  • Fico em dúvida se o currículo não acaba tendo limitações justamente por ser composto apenas de cursos “gratuitos e open source”

    • Acho que, para estudar direito, a pessoa não deveria hesitar em investir dinheiro em materiais de qualidade

    • Concordo com isso

      • Por exemplo, no caso de matemática discreta, muita gente no servidor do Discord acha que a aula do MIT não chega aos pés de um único bom livro-texto
      • Mas quase não existem materiais gratuitos/open source realmente bons
      • Eu também estou estudando pelo OSSU, mas estou usando ‘Discrete Mathematics with Applications’ (de Susanna Epps, US$ 50 usado)
      • Isso foge do currículo oficial, mas ainda assim considero que continuo fazendo o OSSU
  • Acho que o diploma compensa a maior parte das desvantagens sociais

    • O pedaço de papel sinaliza: “eu investi 3 a 4 anos nessa área e tenho pelo menos o mínimo de capacidade intelectual e dedicação”
    • Mesmo que você tenha pouca habilidade social, já é uma vantagem ter isso
    • Se você é autodidata, esse sinal não existe, então precisa ter networking/comunicação excelentes ou uma sorte absurda
    • Na prática, se a pessoa tem ótimas habilidades sociais, ela fica quase imbatível e consegue resolver muita coisa na conversa, mesmo sem grande competência técnica
  • Em muitos comentários, as pessoas misturam a ideia de que a faculdade cria networking com a de que certas empresas só contratam gente de determinadas universidades

    • É verdade que oportunidades de emprego por conexões na universidade ou na carreira aumentam

    • Mas, à medida que a carreira avança, as conexões construídas depois da faculdade passam a ter muito mais força

    • Em cargos que exigem um diploma de uma universidade específica ou um PhD, o valor é menos de networking e mais de “sinal”

    • Ou seja, um sinal confiável para o recrutador, sem necessidade de perguntar mais nada

    • O autodidata precisa contornar isso ou fazer esforço extra

    • A direção costuma ser ganhar visibilidade por contatos ou pelo próprio trabalho, ou conseguir recomendações e escapar do processo seletivo normal

    • Quando ouço “as oportunidades em si desaparecem completamente”, isso me faz pensar naquela ideia de que “sorte não é estratégia, mas aumentar o número de tentativas aumenta a chance de sorte”

      • Networking é justamente aumentar o número de oportunidades em si
      • Conheço um caso real de um amigo que entrou numa liga de softball do trabalho e conseguiu um novo emprego por causa da rede criada ali
  • Fico me perguntando qual é exatamente o objetivo

    • Se a meta for realmente conseguir emprego, eu diria que até uma community college seria mais prática
    • Se o objetivo for puramente ganhar dinheiro, talvez o caminho estilo neal.fun ou levels.io seja até mais rápido
    • Se no fim você nem vai ter diploma, talvez uma estratégia YOLO faça mais sentido
    • No fim, o que sobra é curiosidade intelectual pura, aprender só pela diversão, não?
  • Acho um pouco frustrante que, nesse tipo de discussão, os dois lados acabem adotando posturas excessivamente defensivas

 
soonil 2025-05-29

Muito legal mesmo.