Saltar al contenido
Temas

Ciencias de la Computación Universitarias

Consejos

Este curso sigue una típica carrera en ciencias de la computación, desde los fundamentos hasta el aprendizaje automático. Comienza con fundamentos de programación y matemáticas discretas, y luego avanza: diseño orientado a objetos, estructuras de datos y algoritmos, arquitectura de computadoras, sistemas operativos, bases de datos y redes. Las partes posteriores cubren diseño de algoritmos, teoría de la computación y compiladores, ingeniería de software y IA y aprendizaje automático.

Dos hábitos importan más que cualquier lenguaje. Primero, escribe y ejecuta código cada semana: leer una solución no es lo mismo que producirla. Segundo, razona sobre el costo. Una respuesta universitaria debe decir cómo crece el tiempo de ejecución con la entrada, escrito como Big-O, y por qué el algoritmo es correcto, no solo porque funcionó en una prueba.

Las matemáticas discretas pueden parecer separadas de la programación. No lo son. La demostración por inducción es cómo demuestras que una función recursiva es correcta, y los grafos están detrás de mapas, redes y compiladores.

  • 1

    Fundamentos de programación

    • 1.1 Qué es este curso y cómo usarlo
    • 1.1 Valores, tipos y entrada/salida
    • 1.2 Selección: elegir entre rutas
    • 1.3 Iteración: repetirlo nuevamente
    • 1.4 Funciones: nombrar un trabajo una sola vez
    • 1.5 Colecciones: listas, diccionarios, tuplas, conjuntos
    • 1.6 Archivos y errores
    • 1.7 Descomposición, prueba y depuración
  • 2

    Matemáticas discretas

    • 2.1 Lógica y demostraciones
    • 2.2 Conjuntos, funciones y relaciones
    • 2.3 Inducción y recursión
    • 2.4 Conteo y combinatoria
    • 2.5 Grafos y árboles
    • 2.6 Probabilidad discreta
  • 3

    Fundamentos de sistemas informáticos

    • 3.1 Código binario y codificación de datos
    • 3.2 Puertas lógicas y bloques digitales
    • 3.3 Visión general del procesador y la memoria
    • 3.4 Instrucciones de máquina
    • 3.5 La interfaz del sistema operativo
    • 3.6 Ruta de compilación y ejecución
  • 4

    Programación orientada a objetos

    • 4.1 Objetos y clases
    • 4.2 Encapsulamiento
    • 4.3 Composición e herencia
    • 4.4 Interfaces y polimorfismo
    • 4.5 Excepciones y manejo de errores
    • 4.6 Pruebas y calidad del diseño
  • 5

    Estructuras de datos y algoritmos

    • 5.1 Análisis asintótico
    • 5.2 Listas, pilas y colas
    • 5.3 Hashing
    • 5.4 Árboles y montículos
    • 5.5 Grafos y traversal
    • 5.6 Ordenamiento
    • 5.7 Búsqueda
  • 6

    Arquitectura de computadoras

    • 6.1 Arquitectura de conjunto de instrucciones
    • 6.2 Trazado de datos y control
    • 6.3 Pipeline
    • 6.4 Jerarquía de memoria
    • 6.5 Entrada/salida
    • 6.6 Paralelismo y rendimiento
  • 7

    Sistemas operativos

    • 7.1 Procesos e hilos
    • 7.2 Programación
    • 7.3 Sincronización
    • 7.4 Memoria virtual
    • 7.5 Sistemas de archivos
    • 7.6 Protección y seguridad
  • 8

    Bases de datos

    • 8.1 Modelado relacional
    • 8.2 Álgebra relacional y SQL
    • 8.3 Normalización
    • 8.4 Índices y planes de consulta
    • 8.5 Transacciones y concurrencia
    • 8.6 Seguridad y gobernanza de datos
  • 9

    Redes de computadoras

    • 9.1 Capas y arquitectura
    • 9.2 Capa de enlace e IP
    • 9.3 Enrutamiento
    • 9.4 Transporte (TCP/UDP)
    • 9.5 Protocolos de aplicación
    • 9.6 Seguridad en redes
    • 9.7 Fundamentos de sistemas distribuidos
  • 10

    Diseño y análisis de algoritmos

    • 10.1 Recurrencias y herramientas de análisis
    • 10.2 Divide y vencerás
    • 10.3 Algoritmos codiciosos
    • 10.4 Programación dinámica
    • 10.5 Optimización en grafos
    • 10.6 Reducciones y NP-completitud
  • 11

    Teoría de la computación y compiladores

    • 11.1 Autómatas y lenguajes regulares
    • 11.2 Lenguajes libres de contexto y teoría del análisis sintáctico
    • 11.3 Computabilidad
    • 11.4 Análisis léxico
    • 11.5 Análisis sintáctico
    • 11.6 Análisis semántico y generación de código
  • 12

    Ingeniería de software

    • 12.1 Requisitos
    • 12.2 Arquitectura y diseño
    • 12.3 Interacción humano-computadora y accesibilidad
    • 12.4 Control de versiones y trabajo en equipo
    • 12.5 Pruebas e integración continua
    • 12.6 Seguridad y ética profesional
    • 12.7 Proyecto en equipo
  • 13

    Inteligencia Artificial y Aprendizaje Automático

    • 13.1 Buscar
    • 13.2 Conocimiento y razonamiento
    • 13.3 Modelos de probabilidad
    • 13.4 Regresión y clasificación
    • 13.5 Optimización y aprendizaje
    • 13.6 Evaluación y fugas de información
    • 13.7 Equidad y limitaciones

Iniciar sesión o crear cuenta

IGCSE, A-Level & AP