Computer science - curso de inicio CS50

Recursos

  • Computer Science
  • cs50 codigo y notas https://cs50.harvard.edu/x/2021/
  • cs50 IDE https://ide.cs50.io/
  • Manuals https://manual.cs50.io/
  • Web programing cs50: https://www.youtube.com/watch?v=zFZrkCIc2Oc

  • estabilidad de algoritmos de ordenamiento, complejidad espacial, análisis asintótico y heurísticas de búsqueda
  • 00-CS50 Labs
  • CS50 2020 - Lecture 0 - Scratch
  • CS50 2020 - Lecture 1 - C
  • CS50 2020 - Lecture 2 - Arrays
  • CS50 2020 - Lecture 3 - Algorithms
    • Algoritmos de búsqueda (linear search, binary search)
    • Tipos de datos personalizados con struct
    • Algoritmos de ordenación (selection sort, bubble sort, merge sort)
    • Conceptos de eficiencia: Big O, Ω (omega), Θ (theta)
    • Recursión y su comparación con la iteración
    • Conceptos sobre eficiencia, escalabilidad y diseño
  • CS50 2020 - Lecture 4 - Memory
  • CS50 2020 - Lecture 5 - Data Structures
    • Memoria y punteros (pointers, addresses, dereferencing, malloc, free, valgrind)
    • Estructuras dinámicas (struct, typedef, malloc aplicado a estructuras complejas)
    • Linked Lists (creación, inserción, recorrido, liberación de memoria)
    • Árboles (concepto de nodo, recursión, ordenamiento, binary search tree)
    • Hash Tables (hash functions, collisions, chaining, trade-offs)
    • Tries (estructura para strings, prefijos, optimización de búsquedas)
    • Stacks & Queues (implementación con arrays o listas enlazadas, LIFO/FIFO)
    • Buenas prácticas de gestión de memoria (evitar leaks, NULL checks, free ordenado)
  • CS50 2020 - Lecture 6 - Python
  • CS50 2020 - Lecture 7 - SQL
  • CS50 2020 - Lecture 8 - HTML, CSS, JavaScript
  • CS50 2020 - Lecture 9 - Flask