EGEL Plus Ciencias Computacionales study materials
EGEL Plus Ciencias Computacionales study resources

EGEL Plus Ciencias Computacionales: Desarrollo de software

EGEL Plus Ciencias Computacionales · Work through your exam, one topic at a time.

All guide sections

Desarrollo de software

Núcleo conceptual

El dominio evalúa si puedes razonar sobre estructuras de datos, algoritmos, paradigmas de programación y calidad de código, más que memorizar sintaxis. Debes dominar: complejidad asintótica (O, Ω, Θ) y cómo estimarla en bucles anidados y recursión; estructuras lineales (arreglos, listas enlazadas, pilas, colas) frente a no lineales (árboles, grafos); recorridos BFS/DFS y sus implicaciones; ordenamientos (comparación vs. no comparación, estabilidad); búsqueda binaria y sus precondiciones; y conceptos de POO (encapsulamiento, herencia, polimorfismo, composición sobre herencia). También aparecen preguntas de paso de parámetros (por valor vs. por referencia), alcance de variables, manejo de excepciones y pruebas unitarias.

Trampas frecuentes

  • Confundir O(n log n) con O(log n): un bucle interno que divide a la mitad dentro de un bucle lineal da O(n log n).
  • Asumir que la búsqueda binaria es aplicable a datos desordenados.
  • Creer que una lista enlazada permite acceso indexado O(1).
  • Ignorar el costo de memoria auxiliar al comparar algoritmos.
  • Suponer que recursión siempre es más lenta sin analizar el caso.

Ejemplo trabajado

Analiza: for i in 1..n: for j in i..n: operacion(). El número de iteraciones es n + (n-1) + ... + 1 = n(n+1)/2, que es Θ(n²). Regla práctica: cuenta cuántas veces se ejecuta la operación más interna en función de n, descarta constantes y términos de menor orden, y verifica si algún bucle reduce el problema (divide y vencerás) para introducir un logaritmo.