32 puntos por GN⁺ 2025-05-26 | 4 comentarios | Compartir por WhatsApp
  • El currículum de OSSU ofrece gratis una formación completa en ciencias de la computación mediante materiales en línea de universidades líderes de todo el mundo
  • Reproduce la estructura de un plan de estudios universitario de nivel licenciatura en ciencias de la computación con introducción, núcleo, nivel avanzado y proyecto final
  • Todas las clases y tareas son gratuitas o mayormente gratuitas, aunque algunas evaluaciones pueden tener costo
  • Se mantiene de forma continua una activa red global de apoyo para estudiantes, incluyendo la comunidad de Discord y actualizaciones de materiales
  • Cada persona puede ajustar el ritmo y elegir con flexibilidad según su situación, ya sea estudiando de forma independiente o en grupo

Qué es OSSU y por qué importa

OSSU (Open Source Society University) es un currículo de código abierto diseñado para que cualquier persona pueda formarse por su cuenta, sin costo, con un nivel equivalente al de una licenciatura formal en ciencias de la computación. Utiliza clases y materiales abiertos de universidades de primer nivel como Harvard, MIT y Princeton, y su objetivo no es solo transmitir conocimientos aislados, sino ofrecer una experiencia de aprendizaje equilibrada basada en teoría, práctica y aplicación.

  • Todos los materiales de estudio se seleccionan entre recursos gratuitos de alta calidad disponibles en línea
  • Refleja rigurosamente los estándares internacionales de formación base en ingeniería y ciencias de la computación, como CS2013
  • Está dirigido principalmente a personas capaces de automotivarse, mantener hábitos de estudio constantes y apoyarse en una comunidad global de aprendizaje

Estructura y características del currículo

  • Introducción (Introduction to CS): permite conocer los conceptos básicos y el atractivo de las ciencias de la computación y la programación. Incluye programación en Python, teoría de la computación, estructuras de datos básicas y algoritmos
  • Núcleo (Core CS): corresponde a un currículo universitario hasta el tercer año, e incluye programación (funcional, orientada a objetos, diseño de software), matemáticas (matemática discreta, estadística, probabilidad, cálculo), sistemas (arquitectura de computadoras, SO, redes), teoría (algoritmos, problemas NP, etc.), seguridad, aplicaciones y ética
  • Avanzado (Advanced CS): corresponde al último año. Se pueden elegir áreas de interés entre programación avanzada, sistemas, teoría, ciberseguridad y matemáticas avanzadas
  • Proyecto final: permite realizar un proyecto real aplicando lo aprendido, además de compartir y validar resultados con colegas de aprendizaje de todo el mundo. Puede servir como evidencia de habilidades prácticas y como portafolio para empleo

Modalidad de estudio y costos

  • El currículo puede estudiarse de forma independiente o en grupo
  • Se recomienda cursar cada etapa en orden, pero si ya dominas algún contenido también puedes omitirlo
  • Todas las clases se ofrecen gratis en línea. En algunas plataformas (Coursera, edX, etc.), la evaluación de tareas, exámenes o proyectos puede tener costo, pero en la mayoría de los casos el aprendizaje en sí es gratuito. También se orienta sobre apoyo financiero (becas/Financial Aid) para reducir la carga económica
  • Se ofrece una plantilla de Google Sheets para ayudar a gestionar el progreso de estudio y la fecha estimada de finalización

Comunidad y apoyo

  • Hay un servidor de Discord para participantes, donde se dan activamente discusiones de cursos, preguntas y conexiones entre pares
  • Existen canales de retroalimentación activos, como GitHub Issues y propuestas de mejora del currículo
  • Es posible agregar el avance o finalización de OSSU al perfil de LinkedIn

Se recomienda revisar el currículo más reciente en el sitio oficial y el repositorio de GitHub

Lista detallada del currículo

Requisitos previos

  • El núcleo de CS requiere matemáticas de nivel preparatoria/secundaria superior (álgebra, geometría y etapa previa al cálculo)
  • El nivel avanzado de CS solo puede elegirse después de completar todo el núcleo
  • Las materias de Advanced systems requieren conocimientos básicos de física de nivel preparatoria/secundaria superior

Introducción a CS (Introduction to CS)

  • Primer acercamiento a las ciencias de la computación. Presenta operaciones básicas, programación imperativa, estructuras de datos, algoritmos, etc.
  • Curso obligatorio: 'Introduction to Computer Science and Programming using Python' (14 semanas)

Núcleo de CS (Core CS)

Programación

  • Práctica amplia en programación funcional/orientada a objetos, testing, patrones, tipado y diversidad de lenguajes
  • Systematic Program Design, Programming Languages (A–C), Object-Oriented Design, Software Architecture, etc.

Matemáticas

  • Incluye matemática discreta, demostración matemática, estadística básica, notación O, probabilidad y cálculo

Herramientas y entorno de desarrollo

  • Herramientas esenciales para el trabajo real: terminal, shell scripting, vim, línea de comandos y control de versiones (git)

Sistemas

  • Comprensión integral de cómo funciona una computadora, desde hardware hasta sistema operativo y redes
  • Ejemplos: proyecto Nand to Tetris, OS Three Easy Pieces, Networking, etc.

Teoría

  • Incluye análisis de algoritmos, divide y vencerás, grafos, programación dinámica, problemas NP, etc.

Seguridad

  • Fundamentos de seguridad informática, programación segura, análisis de vulnerabilidades y materias optativas sobre redes/criptografía

Aplicaciones

  • Abarca áreas prácticas como bases de datos, machine learning, gráficos por computadora e ingeniería de software

Ética

  • Enfatiza la ética indispensable para profesionales de tecnología: contexto social de la tecnología, profesionalismo, propiedad intelectual y privacidad de datos

CS avanzado (Advanced CS)

  • Optativas según carrera o intereses: programación paralela, compiladores, lenguajes como Haskell/Prolog, debugging/testing de software
  • Amplio abanico de opciones como arquitectura de computadoras, análisis numérico/lógica/probabilidad, teoría de la computación, seguridad informática y construcción de sistemas

Proyecto final (Final Project)

  • Selección, diseño, implementación y publicación de un proyecto práctico
  • Ejemplos de opciones: servicios full-stack, robótica, data mining, big data, IoT, cloud computing, data science y desarrollo de videojuegos
  • Puede realizarse de forma autodirigida o usando cursos recomendados

Después de completar el aprendizaje

  • Certificación de adquisición de conocimientos equivalentes a una licenciatura en el área de CS
  • Recomendaciones vinculadas a preparación para empleo, lecturas avanzadas (se proporciona una lista) y encuentros presenciales de desarrolladores
  • Se fomenta explorar nuevas tecnologías (lenguajes como Elixir/Rust/Idris, etc.)

Reglas de operación y equipo

Principales responsables de OSSU

  • Eric Douglas (fundador de OSSU), Josh Hanson (maintainer técnico), Waciuma Wanjohi (maintainer académico), además de otros colaboradores de todo el mundo

Cierre

OSSU abre el camino para que cualquier persona en el mundo desarrolle gratis capacidades de nivel licenciatura en ciencias de la computación y pueda entrar con amplitud al trabajo práctico y a distintas trayectorias del sector IT moderno.
La combinación de avance flexible, estándares rigurosos, comunidad global y materiales gratuitos de alta calidad es una gran fortaleza frente a otros currículos abiertos.

4 comentarios

 
crawler 2025-05-28

> Creo que ese tipo de artículos que dicen “no estudies compu” están perdiendo el verdadero punto.

La traducción quedó bien buena, qué curioso jajaja

 
xguru 2025-05-26

OSSU Open Source Society University - estudiar Computer Science por cuenta propia

Parece que lo presentaron en los inicios de GeekNews. Desde entonces se han agregado bastantes cosas.

 
GN⁺ 2025-05-26
Opiniones de Hacker News
  • Como ingeniero con experiencia, creo que OSSU es realmente un gran lugar si quieres ayudar a quienes están aprendiendo

    • Mi sugerencia es la siguiente: avanzar en tu propio proyecto paralelo junto con estudiantes de OSSU mediante sesiones regulares de programación en pareja o programación en equipo
    • Familiarizarte con uno o más cursos del currículo y responder preguntas de estudiantes que las tengan
    • Asistir a reuniones semanales de seguimiento para compartir en qué estás trabajando y también escuchar lo que están haciendo otros estudiantes
    • La forma de hacerlo es visitar el servidor de Discord y luego mencionar a @waciuma o al rol @tutor
    • Soy uno de los líderes de OSSU, y estamos convencidos de que la comunidad, el networking y los proyectos son una parte real de la educación
    • También celebramos no solo a los profesores y universidades que crean cursos gratuitos, sino a los innumerables ingenieros y profesionales que se ofrecieron como voluntarios para ayudar a estudiantes de OSSU
    • Ojalá también te sumes a este grupo
  • Dirijo un programa educativo que ayuda a estudiantes a estudiar ingeniería en computación por su cuenta. A veces también usamos el currículo de OSSU como material de referencia

    • El aprendizaje autodirigido tiene muchas ventajas, pero es importante que los estudiantes también sepan que hay cosas a las que deben poner atención

    • Tienes que trabajar mucho más por tu cuenta el “señalamiento” y el networking, y suele faltarte parte de los beneficios sociales que tendrías al pertenecer a una universidad

    • No tener título puede considerarse un estado de “marked”; para una explicación, ver aquí

    • Cuando cometes errores o surgen dificultades, es fácil atribuir la causa a no tener título

    • A algunos reclutadores les parece políticamente riesgoso contratar a alguien sin título, así que incluso entrar puede ser difícil

    • No es algo imposible de superar, pero por eso nosotros lo preparamos y trabajamos desde el inicio

    • La ventaja del autoaprendizaje es que permite aprender más rápido y entender todo con contexto, sin repetir procesos inútiles

    • Si te das cuenta de que te faltan bases, puedes volver y aprenderlas en ese momento

    • Creo que este método es una forma de aprendizaje inevitable para trabajos técnicos, pero no sirve para todos los estudiantes

    • En la práctica, es una pena que muchas veces el autoaprendizaje sea algo “impuesto” porque la situación financiera no permite ir a la universidad

    • Si no conoces bien los trade-offs, puede ser todavía más difícil

    • Referencia: Divepod

    • He tenido experiencia guiando el proceso de autoaprendizaje de varias personas

      • El autoaprendizaje tiene toda clase de trampas, así que si no tienes cuidado es fácil tomar un camino equivocado
      • Una de las trampas que no esperaba, pero que después me pareció un poco obvia, es que si pasas mucho tiempo escuchando quejas de la industria en Reddit o Twitch, puedes terminar creyendo que la habilidad real casi no importa y que lo único importante son las habilidades para entrevistas
      • Entonces, en la práctica, descuidan sus habilidades de programación o sus proyectos y se van con todo a LeetCode, o suben a GitHub proyectos incompletos con README muy bonitos
      • Se enfocan solo en memorizar respuestas como el formato de entrevista S.T.A.R.
      • Durante un tiempo esa estrategia funcionó, pero ahora las empresas detectan mejor a los “profesionales de la entrevista”
      • Esta mentalidad no es solo un problema de quienes aprenden por su cuenta; en la universidad también pasa que algunos solo buscan el diploma y hacen trampa mientras descuidan el aprendizaje real
      • Y luego, al graduarse, los agarran desprevenidos en entrevistas, contrario a lo que esperaban
  • Cuando salí de la preparatoria, por inmadurez no pude terminar bien una carrera de CS y desperdicié buenas oportunidades

    • Después me casé y tuve hijos, y terminé rápido un título en IT, pero lo que más me gustaba originalmente era CS
    • Hace unos años decidí que completar bien una educación en CS me ayudaría mucho en mi carrera
    • Consideré varias opciones, como una segunda licenciatura, un post-bac y bootcamps, pero al final elegí OSSU
    • Me tomó más tiempo del que esperaba (la vida siempre trae imprevistos), pero solo tengo cosas buenas que decir del currículo. Mejoró no solo mi carrera, sino también mi satisfacción con la vida
    • Escribí en mi blog por qué elegí OSSU y cómo me fue: primera entrada del blog
  • Personalmente, creo que Teach Yourself CS es una mejor alternativa

    • Yo también evalué Teach Yourself CS para complementar mis estudios de ciencias de la computación
      • Pero la falta de comunidad fue una razón clave para elegir OSSU
      • Mi duda es esta: considerando la importancia de la comunidad, ¿por qué piensas que Teach Yourself CS es mejor que OSSU?
      • Para contexto, soy el “organizador social” de una cohorte de OSSU y a veces también escribo reseñas de OSSU en mi blog
  • Yo soy un caso que demuestra que sí se puede construir una carrera solo con autoaprendizaje

    • Ya llevo más de 20 años trabajando en la industria

    • Pero, si eliges este camino, definitivamente hay empresas y roles a los que “nunca” podrás llegar

    • Por lo general, esas empresas son las mejores, las que pagan más y las que ofrecen mejores condiciones

    • Más que el título en sí, lo importante es la red de exalumnos. Existe un “gran club” donde contratan sí o sí a gente de su misma escuela

    • Si aprendes por tu cuenta, nunca tendrás esa red

    • ¿La realidad? Terminas con los trabajos que todos los demás rechazan. Lugares absurdos, estafas, startups sin dinero y empresas ya en crisis

    • Incluso si muy de vez en cuando consigues un buen puesto, es difícil quedarse mucho tiempo

    • El sueldo es más bajo y el riesgo de que se aprovechen de ti es mucho mayor

    • También es difícil recibir múltiples ofertas, así que tu posición en el mercado se reduce

    • Por eso, toda tu carrera puede sentirse como si estuviera en una trayectoria financiera completamente distinta

    • Buscar trabajo es mucho más difícil, tienes que esforzarte el doble

    • Tú mismo y tus colegas suelen dudar de si “de verdad estás a la altura”

    • Un solo error puede tener consecuencias enormes

    • Aun así, es mejor que no hacer nada, pero si tienes la oportunidad, creo que es mejor ir a la escuela

    • No quiero menospreciar tu experiencia, pero yo tengo experiencia trabajando de forma 100% autodidacta en distintos tipos de empresas (grandes corporativos, unicornios, startups, etc.)

      • Entrevisté con Google y Citadel, recibí oferta de Meta, y nunca me cerraron oportunidades ni desconfiaron de mí
      • Gano más de 200 mil dólares al año en efectivo, y en una startup en etapa temprana además recibo equity y beneficios
      • He tenido dos exits; no soy rico, pero bajo estándares normales vivo bastante bien
      • Nunca he sufrido pérdidas económicas por mi nivel educativo
      • Puede que haber empezado a programar y a tener experiencia en startups desde los 19 me haya dado la ventaja de entrar temprano
      • Tal vez también tuve suerte, pero creo que aconsejar a la gente joven que ni siquiera intente el autoaprendizaje puede terminar haciéndoles daño
    • Trabajé varios años como desarrollador de software y luego volví a la escuela para sacar un título en CS

      • Ya tenía 90 créditos en historia y estudié con un currículo estructurado durante 3 años
      • Creo que ese enfoque elevó muchísimo mi nivel como desarrollador
      • Puedes hacerlo por tu cuenta, pero la mayoría de la gente nunca va a llegar a ese nivel
      • Sin duda había desarrolladores autodidactas mejores que yo, pero aun así siento que habrían sido todavía mejores si hubieran pasado por un programa formal de CS de 4 años
    • Esto es cierto hasta cierto punto, pero sobre todo al principio y cuando tu nivel está por debajo del promedio de tu grupo de colegas

      • Después, pesan mucho más tu capacidad para crear red de contactos y la suerte (que importa mucho más de lo que la gente cree)
      • La universidad te da al inicio una señal de que puedes seguir el ritmo y una prueba en forma de “diploma”
      • Durante ese proceso formas una red, pero al final, después de tus dos primeros trabajos, la utilidad del título cae drásticamente
      • En mi experiencia (solo una anécdota personal), empecé sin título y, después de más de 10 años, saqué uno por diversión
      • Profesionalmente no tuvo ningún valor; desde entonces, todas mis oportunidades llegaron por recomendación y referencias de colegas del trabajo
      • El título sí fue una buena oportunidad para toparme con temas que no esperaba
    • Tengo rasgos cercanos al ADHD y también estoy en cierta medida dentro del espectro autista

      • Fui a la universidad tres veces, pero abandoné en todas por el costo, el aburrimiento y problemas personales como la muerte de mi padre por cáncer
      • Empecé mi carrera desde soporte técnico en una empresa de compiladores de C y luego pasé a desarrollo
      • He trabajado en la Bolsa de Nueva York, grandes casas de bolsa, fintechs conocidas, y también en consultoría para bancos y empresas de pagos
      • Siempre me acomodé mejor al autoaprendizaje, así que el entorno escolar no iba conmigo
      • Que el título fuera un problema en desarrollo ha sido extremadamente raro; de hecho, a nadie le ha importado
      • Limitándonos al trabajo de desarrollo de software, el título tiene poco o ningún valor
    • Algo que se olvida mucho en esta conversación es que la razón principal para estudiar ciencias de la computación no tiene por qué ser necesariamente conseguir trabajo o mejorar habilidades laborales

      • La verdadera motivación puede ser simplemente la “diversión”
      • Puedes disfrutar la disciplina toda la vida, y encontrar gran satisfacción tanto en la programación práctica como en la teoría, el trasfondo matemático del cómputo y la historia de la computación
      • Creo que esos artículos que dicen “no estudies CS” se pierden el verdadero punto
  • Me pregunto si el hecho de que el currículo esté compuesto solo por cursos “gratuitos y open source” no termina siendo una limitación

    • Creo que, si realmente quieres estudiar bien, no deberías dudar en invertir dinero en materiales de calidad

    • Coincido con esto

      • Por ejemplo, en el curso de matemáticas discretas, mucha gente incluso en el servidor de Discord opina que la clase de MIT no le llega ni a un buen libro de texto
      • Pero casi no hay libros de calidad, gratuitos y open source
      • Yo también estudio con OSSU, pero estoy aprendiendo con ‘Discrete Mathematics with Applications’ (de Susanna Epps, usado por $50)
      • Aunque se sale del currículo oficial, sigo considerando que estoy haciendo OSSU
  • Creo que el título compensa la mayoría de las desventajas sociales

    • Ese diploma en papel manda la señal de “invertí 3 o 4 años en este campo y tengo al menos el mínimo de capacidad y compromiso”
    • Aunque te falten habilidades sociales, tenerlo de entrada ya es una ventaja
    • Si eres autodidacta, no tienes esa señal, así que necesitas habilidades de networking/comunicación muy fuertes o muchísima suerte
    • De hecho, si tienes habilidades sociales sobresalientes, eres casi invencible, y hasta podrías resolver la mayoría de tus carencias solo hablando
  • En muchos comentarios se mezclan dos ideas: que la escuela te crea una red de contactos, o que solo contratan gente de ciertas universidades

    • Es verdad que tener contactos de la universidad o de tu trayectoria profesional aumenta las oportunidades laborales

    • Pero a medida que avanza tu carrera, la fuerza de los contactos construidos después de la universidad se vuelve mayor

    • Los puestos que exigen un título de cierta universidad o un doctorado tienen más valor como “señal” que como red

    • Es decir, son una señal confiable para el contratante sin necesidad de preguntar más

    • Quien aprende por su cuenta tiene que rodear eso o hacer un esfuerzo adicional

    • Tiene que orientarse a llamar la atención por sus relaciones o su trabajo, o a conseguir recomendaciones para saltarse el proceso normal de contratación y así obtener oportunidades

    • Cuando escucho eso de “las oportunidades desaparecen por completo”, me acuerdo de la idea de que “la suerte no es una estrategia, pero aumentar el número de intentos sí aumenta la probabilidad de tener suerte”

      • La red de contactos, al final, es aumentar la cantidad de oportunidades disponibles
      • De hecho, tengo un amigo que consiguió un trabajo nuevo gracias a la red que armó participando en la liga de sóftbol de su oficina
  • Me pregunto cuál es exactamente la meta

    • Si el objetivo de verdad es conseguir trabajo, creo que una educación de community college sería más práctica
    • Si el objetivo es puramente ganar dinero, hasta pensaría que el enfoque de neal.fun o levels.io sería más rápido
    • Si ni siquiera te queda un diploma, quizá una estrategia YOLO tendría más sentido
    • Al final, ¿no termina quedando solo la curiosidad intelectual pura, aprender solo por diversión?
  • En este tipo de debates me da un poco de pena ver que ambos lados adoptan posturas demasiado defensivas

 
soonil 2025-05-29

Está realmente genial.