Volver al blog

Las asignaturas más difíciles de Ingeniería Informática y cómo aprobarlas sin arrastrarlas

Las asignaturas más difíciles de Ingeniería Informática y cómo aprobarlas sin arrastrarlas

Respuesta corta: en casi todas las universidades, las asignaturas que más gente arrastra en Ingeniería Informática son las de programación de primero y segundo (Fundamentos de Programación y Estructuras de Datos), las matemáticas que nadie esperaba (Matemática Discreta, Cálculo, Álgebra) y las que bajan a la máquina (Estructura de Computadores y Sistemas Operativos).

Lo que tienen en común no es que sean imposibles. Es que van muy rápido, dan por hecho una base que mucha gente no trae del bachillerato y se evalúan de una forma distinta a cómo se suele estudiar. Aquí te contamos dónde se atasca la gente, por qué, y qué cambia las cosas.

El salto del bachillerato a la carrera

En bachillerato podías aprobar estudiando la semana antes. En Ingeniería Informática eso funciona en muy pocas asignaturas. Hay tres motivos:

  • El ritmo. Un cuatrimestre son unas 14 o 15 semanas. Lo que en un ciclo de FP se ve en un trimestre aquí puede caber en un mes.
  • La autonomía. El profesor explica el concepto y la práctica la haces tú. Nadie te persigue para que entregues los ejercicios voluntarios, y son justo los que te preparan para el examen.
  • La abstracción. Muchas asignaturas no te piden que hagas algo, te piden que demuestres por qué funciona. Eso es nuevo para casi todo el mundo.

Si vienes de un ciclo de DAM o DAW, la programación de primero te resultará más llevadera, pero las matemáticas y la parte teórica te pueden pillar a contrapié.

Las asignaturas que más se atascan

Los nombres cambian según la universidad, pero el contenido es bastante parecido en toda España:

Asignatura (nombres habituales) Curso Qué haces Dónde se atasca la gente
Fundamentos de Programación / Programación I 1º Aprender a programar, normalmente en C, C++, Java o Python Bucles anidados, funciones con parámetros, punteros (si es C), recursividad
Programación II / Metodología de la Programación 1º Programación orientada a objetos, memoria dinámica, ficheros Herencia, polimorfismo, gestión de memoria
Matemática Discreta / Lógica 1º Conjuntos, combinatoria, grafos, demostraciones Demostrar por inducción y escribir razonamientos formales
Fundamentos / Estructura de Computadores 1º-2º Cómo funciona un procesador por dentro, ensamblador Pensar en registros y memoria en vez de en variables
Estructuras de Datos (y Algoritmos) 2º Listas, pilas, colas, árboles, grafos, tablas hash Implementarlas desde cero y calcular la complejidad
Sistemas Operativos 2º Procesos, hilos, memoria, concurrencia Semáforos, condiciones de carrera, programar en C sobre Linux
Algoritmia / Análisis y Diseño de Algoritmos 2º-3º Divide y vencerás, voraces, programación dinámica Ver qué técnica aplica a un problema que no has visto nunca

Las matemáticas son su propio mundo y aquí nos vamos a centrar en las de programación, que es lo que enseñamos. Pero un apunte: Discreta y Algoritmia están más conectadas de lo que parece. Lo que aprendes demostrando por inducción es lo mismo que te pedirán para justificar que un algoritmo recursivo termina y es correcto.

Por qué Programación de primero suspende a tanta gente

Se da por hecho que ya sabes algo

En muchas universidades, Fundamentos de Programación arranca desde cero sobre el papel. En la práctica, la mitad de la clase ya había programado algo y el ritmo se ajusta a ellos. Si tú no, a la tercera semana sientes que vas por detrás.

En C los errores no avisan

Si tu universidad enseña C, te vas a encontrar con algo que en Java o Python no pasa: el programa compila, se ejecuta, y hace algo raro sin decirte por qué. Un array al que te sales, un puntero sin inicializar o un scanf sin el & pueden dar resultados distintos cada vez. Aprender a depurar deja de ser opcional. Tenemos una guía de cómo depurar código paso a paso que sirve para cualquier lenguaje.

La recursividad rompe la intuición

Una función que se llama a sí misma no se entiende leyéndola de arriba abajo. Hay que confiar en que la llamada interna hace su trabajo y centrarse en dos preguntas: cuál es el caso base y cómo el caso actual se reduce a uno más pequeño. Mientras nadie te lo explica así, la recursividad parece magia, y la magia no se puede repetir en un examen.

El examen es en papel o con un juez automático

Muchas asignaturas se evalúan con código en papel o con un corrector automático que solo acepta la salida exacta. Ninguno de los dos te avisa de que te has dejado un punto y coma ni te sugiere la siguiente línea. Si has practicado siempre con el IDE autocompletando, es la primera vez que estás solo frente al problema. En cómo preparar un examen práctico de programación explicamos cómo entrenar ese formato.

Estructuras de Datos: la asignatura filtro de segundo

En muchas carreras, Estructuras de Datos es la asignatura que separa a quien sigue el ritmo de quien empieza a arrastrar. Por dos motivos.

El primero es que te piden implementar lo que hasta ahora usabas. Ya no basta con usar una lista: tienes que construirla con nodos y referencias, y que funcione cuando está vacía, cuando tiene un elemento y cuando borras el último. La mayoría de fallos están en esos casos límite.

El segundo es la complejidad algorítmica. Saber que buscar en un árbol binario de búsqueda equilibrado es O(log n) y en una lista es O(n) no se aprende memorizando una tabla. Se aprende contando operaciones en ejemplos pequeños hasta que ves el patrón.

Lo que mejor funciona con esta asignatura:

  1. Dibuja antes de programar. Cajas y flechas en papel para cada operación: insertar al principio, en medio, al final, borrar. Si no lo sabes dibujar, no lo vas a saber programar.
  2. Prueba primero los casos límite. Estructura vacía, un elemento, dos elementos. Ahí fallan casi todas las implementaciones.
  3. Implementa cada estructura una vez desde cero, sin mirar. Una lista enlazada, una pila, una cola, un árbol binario de búsqueda. Las prácticas suelen ser variaciones de estas.
  4. Relaciona cada estructura con un problema. Pila para deshacer o para comprobar paréntesis, cola para turnos, árbol para búsquedas ordenadas, grafo para rutas. En el examen te darán el problema, no el nombre de la estructura.

Si la programación orientada a objetos todavía te cojea, conviene arreglarlo antes, porque casi todas las implementaciones se apoyan en clases. Aquí tienes la programación orientada a objetos explicada con un ejemplo.

Cómo estudiar estas asignaturas para aprobarlas

Las prácticas son el temario de verdad

En las asignaturas de programación, lo que entra en el examen se parece mucho más a las prácticas que a las diapositivas. Haz las prácticas tú, aunque sean voluntarias. Si las haces con un compañero, que cada uno sea capaz de escribirlas entero por su cuenta.

Rehaz ejercicios cerrados, no leas soluciones

Leer una solución y entenderla da la falsa sensación de que ya sabes hacerla. La prueba real es cerrar la solución, empezar de cero y ver dónde te quedas en blanco. Ese punto es exactamente lo que tienes que estudiar.

Usa los exámenes de otros años desde el principio

No los guardes para la última semana. Mira uno en la segunda o tercera semana del cuatrimestre: te dice qué tipo de ejercicio te van a pedir y te ayuda a decidir qué practicar desde ya.

Usa la IA para entender, no para entregar

Te va a resolver casi cualquier práctica de primero en segundos. El problema es que en el examen no estará, y en muchas asignaturas la práctica se defiende delante del profesor. Úsala para pedir pistas, que te explique un error o que te ponga ejercicios parecidos. No para que escriba lo que tienes que entregar.

Pide ayuda en la tercera semana, no en la decimotercera

Las tutorías existen y se usan muy poco. Lo mismo con los compañeros de cursos superiores. Si algo no lo entiendes al principio del cuatrimestre, todo lo que venga después se apoya encima.

Arrastrar asignaturas: lo que nadie te cuenta

Suspender una asignatura de primero no es el fin del mundo, pero tiene un coste que se acumula:

  • Las asignaturas encadenadas. Si no apruebas Programación I, Programación II y Estructuras de Datos se hacen muy cuesta arriba, y en algunas universidades directamente necesitas la primera para matricularte de la siguiente.
  • Las normas de permanencia. Muchas universidades exigen aprobar un mínimo de créditos en primero para poder seguir en la carrera. Consulta la normativa de la tuya, porque cambia bastante de una a otra.
  • El precio de la matrícula. En las universidades públicas, la segunda y tercera matrícula de una asignatura cuestan bastante más que la primera.

Por eso compensa resolver el problema en el primer intento, aunque suponga un esfuerzo extra al principio.

Cuándo merece la pena un profesor particular en la universidad

No hace falta para todo el mundo. Si vas al día con las prácticas y en las tutorías se te resuelven las dudas, sigue así.

Sí tiene sentido cuando:

  • Has suspendido la primera convocatoria y tienes la segunda en pocas semanas.
  • Llevas varias semanas sin entender un bloque concreto (punteros, recursividad, árboles, concurrencia) y lo siguiente depende de él.
  • Entiendes las clases, pero no te salen los ejercicios del examen sin mirar.
  • Vas a matricularte por segunda vez de la misma asignatura y no quieres que pase lo mismo.

Una buena clase particular no te hace las prácticas. Parte de lo que tú has intentado, busca dónde se rompe el razonamiento y te deja ejercicios para comprobar que ya puedes solo. Así funcionan nuestras clases particulares de programación para universidad e Ingeniería Informática: online, uno a uno, con tu temario y en el lenguaje de tu asignatura (C, C++, Java o Python), a 25 € la hora y sin matrícula ni permanencia. Si quieres comparar opciones antes de decidir, en cómo elegir un profesor de programación online tienes qué mirar.

Preguntas frecuentes

¿Cuál es la asignatura más difícil de Ingeniería Informática?

Depende de la universidad y de dónde vengas, pero las que más gente arrastra suelen ser Estructuras de Datos, Matemática Discreta, Estructura de Computadores y Sistemas Operativos. Fundamentos de Programación tiene muchos suspensos en primero, sobre todo entre quienes no habían programado nunca.

¿Se puede hacer Ingeniería Informática sin saber programar?

Sí. La carrera empieza desde cero y muchos alumnos entran sin haber escrito código. Lo que sí notarás es que el primer cuatrimestre exige más horas de práctica que a quien ya venía con base. Si quieres llegar con ventaja, empieza por esta ruta para aprender programación desde cero.

¿Qué lenguaje se usa en primero de Ingeniería Informática?

Varía mucho. Las más habituales son C y C++ por un lado, y Java o Python por otro. Pregunta en tu universidad o mira la guía docente de Fundamentos de Programación antes de empezar, y practica en ese lenguaje, no en otro.

¿Es más difícil Ingeniería Informática que DAM o DAW?

Son cosas distintas. DAM y DAW son más prácticos y están orientados a trabajar programando cuanto antes. La carrera tiene más matemáticas, más teoría y asignaturas como algoritmia, computadores o sistemas operativos que en un ciclo apenas se tocan. En programación pura, el primer curso de los dos se parece bastante. Si estás en un ciclo, te interesa qué cuesta de verdad en primero de DAM.

¿Cuántas horas hay que estudiar fuera de clase?

Un crédito ECTS equivale a entre 25 y 30 horas de trabajo total, contando clases. Una asignatura de 6 créditos son unas 150 horas en el cuatrimestre, así que lo esperado es que dediques fuera de clase más o menos lo mismo que dentro. En las de programación, esas horas tienen que ser escribiendo código, no releyendo apuntes.

WhatsApp