Skip to content

Mis notas y ejercicios del temario de Computer Science de OSSU (Open Source Society University)

Notifications You must be signed in to change notification settings

florluzduarte/cs-ossu-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Science: Open Source Society University

🤓 Introducción

En este repositorio voy a ir almacenando todos los apuntes y ejercicios que realice de la curricula para Computer Science de OSSU (Open Source Society University). Probablemente modifique y complemente el temario con aportes de Teach Yourself Computer Science + cursos, libros y artículos que sean de mi interés.

La intención de este repo es documentar mi proceso, almacenar información que sea relevante y trackear los avances. Este es un desafío grande pero intentaré hacerlo lo mejor posible 💪

Para más información sobre el temario: https://cs.ossu.dev/


✍️ Tracker del temario

Fecha de inicio: 05/07/2024

Important

Para no romper el código de conducta de los proveedores de cursos que forman parte de la currícula, los repositorios con los ejercicios de cada cursada los mantendré en privado siempre que me sea exigido. Los que pueda tener de forma pública obviamente los compartiré por aquí.

Note

Además de este tracker general, también llevo un registro diario de mis avances que se puede encontrar en la carpeta tracker/daily-tracker . Adicionalmente escribo un artículo por mes contando mis experiencias que se puede encontrar en mi blog personal


0. Pre-requisites:

(Matemáticas de secundario)

Arithmetics

  • Fecha de inicio: 08/07/2024
  • Fecha de finalización: 20/07/2024

Intermediate Algebra

Pre-Calculus


1. Intro to CS:

Note

(For students to try out CS and see if it's right for them)
Topics covered: simple programs simple data structures computation imperative programming basic data structures and algorithms

CS50p: Introduction to Programming with Python

  • Institución: Harvard
  • Fecha de inicio: 05/07/2024
  • Fecha de finalización: 27/12/2024
  • Apuntes: [[cs50p-intro-cs-python]]
  • Repositorio: Repositorio privado

💪 MIT - 6.100L - Introduction to Computer Science and Programming using Python

  • Institución: MIT
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

2. Core CS:

(Corresponds roughly to the first three years of a computer science curriculum, taking classes that all majors would be required to take)


2A. CORE PROGRAMMING

Note

Topics covered: functional programming design for testing program requirements common design patterns unit testing object-oriented design static typing dynamic typing ML-family languages (via Standard ML) Lisp-family languages (via Racket) Ruby and more

Systematic program design

  • Institución: UBCx
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Programming Languages (Part A)

  • Institución: University of Washington
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Programming Languages, Part B

  • Institución: University of Washington
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Programming Languages, Part C

  • Institución: University of Washington
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Object Oriented Design

  • Institución: University of Alberta
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Design Patterns

  • Institución: University of Alberta
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Software Architecture

  • Institución: University of Alberta
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

2B. CORE MATH

Topics covered: discrete mathematics mathematical proofs basic statistics O-notation discrete probability and more

Calculus 1A: Differentiation

  • Institución: MIT Open Learning Library
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Calculus 1B: Integration

  • Institución: MIT Open Learning Library
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Calculus 1C: Coordinate Systems & Infinite Series

  • Institución: MIT Open Learning Library
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Mathematics for Computer Science

  • Institución: MIT Open Learning Library
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

2C. CS TOOLS

Topics covered: terminals and shell scripting vim command line environments version control and more

The Missing Semester of Your CS Education

  • Institución: MIT Open Learning Library
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

2D. CORE SYSTEMS

Topics covered: procedural programming manual memory management boolean algebra gate logic memory computer architecture assembly machine language virtual machines high-level languages compilers operating systems network protocols and more

Build a Modern Computer from First Principles: From Nand to Tetris

  • Institución: Hebrew University of Jerusalem
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Build a Modern Computer from First Principles: Nand to Tetris Part II

  • Institución: Hebrew University of Jerusalem
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Operating Systems: Three Easy Pieces

  • Institución: University of Wisconsin-Madison
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Computer Networking: a Top-Down Approach

  • Institución: University of Massachusetts Amherst
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

2E. CORE THEORY

Topics covered: divide and conquer sorting and searching randomized algorithms graph search shortest paths data structures greedy algorithms minimum spanning trees dynamic programming NP-completeness and more

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

  • Institución: Stanford University
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Graph Search, Shortest Paths, and Data Structures

  • Institución: Stanford University
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

  • Institución: Stanford University
  • Fecha inicio:
  • Fecha finalización:
  • Apuntes:
  • Repositorio:

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

  • Institución: Stanford University
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

2F. CORE SECURITY

Topics covered Confidentiality, Integrity, Availability Secure Design Defensive Programming Threats and Attacks Network Security Cryptography and more

Cybersecurity Fundamentals

  • Institución: RITx
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Principles of Secure Coding

  • Institución: UC Davis
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Identifying Security Vulnerabilities

  • Institución: UC Davis
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Identifying Security Vulnerabilities in C/C++ Programming

  • Institución: UC Davis
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Exploiting and Securing Vulnerabilities in Java Applications

  • Institución: UC Davis
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

2G. CORE APPLICATIONS

Topics covered: Agile methodology REST software specifications refactoring relational databases transaction processing data modeling neural networks supervised learning unsupervised learning OpenGL ray tracing and more

Databases: Modeling and Theory

  • Institución: Stanford Online
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Databases: Relational Databases and SQL

  • Institución: Stanford Online
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Databases: Semistructured Data

  • Institución: Stanford Online
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Machine Learning

  • Institución: Stanford Online
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Computer Graphics

  • Institución: UC San Diego X
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Introduction to Software Engineering

  • Institución: IBM
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

2H. CORE ETHICS

Topics covered: Social Context Analytical Tools Professional Ethics Intellectual Property Privacy and Civil Liberties and more

Ethics, Technology and Engineering

  • Institución: Eindhoven University of Technology
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Introduction to Intellectual Property

  • Institución: University of Pennsylvania
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

Data Privacy Fundamentals

  • Institución: Northeastern University
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

3. Advanced CS:

(Corresponds roughly to the final year of a computer science curriculum, taking electives according to the student's interests)


3A. Advanced programming

Topics covered: debugging theory and practice goal-oriented programming parallel computing object-oriented analysis and design UML large-scale software architecture and design and more

Parallel Programming

  • Institución: EPFL
  • Fecha de inicio:
  • Fecha de finalización:
  • Apuntes:
  • Repositorio:

4. Extras

(Cursos y libros externos a la currícula que fui sumando porque me interesaban)

📚️ 4A. LIBROS

The Linux Command Line (William Shotts - 5ta edición)

  • Fecha de inicio: 16/07/2024
  • Fecha de finalización:
  • Apuntes: [[the-linux-command-line]]

Think Python (Allen B. Downey - 2da edición)

  • Fecha de inicio: 19/07/2024
  • Fecha de finalización:
  • Apuntes: [[think-python]]

⚒️ 4B. PROYECTOS

Nombre Detalles Fecha de inicio
(YYYY-MM-DD)
Fecha de finalización
(YYYY-MM-DD)
BookPal A CLI program to help you organize your reading lists 📖📚 Made with love and Python. 2025-01-02

🤓 4C. CURSOS COMPLEMENTARIOS

Nombre Detalles Fecha de inicio
(YYYY-MM-DD)
Fecha de finalización
(YYYY-MM-DD)

5. Final Project

(A project for students to validate, consolidate, and display their knowledge, to be evaluated by their peers worldwide)


👀 Otros materiales útiles

https://github.com/ForrestKnight/open-source-cs
https://github.com/jwasham/coding-interview-university/blob/main/translations/README-es.md#el-plan-diario

About

Mis notas y ejercicios del temario de Computer Science de OSSU (Open Source Society University)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published