Programación como Herramienta para la Ingeniería (IIC2115) tiene una trampa que no está en el código, sino en el nombre. Llegas después de aprobar IIC1103 y quizá IIC2233 pensando que es “más Python”, y en las primeras semanas te das cuenta de que el ramo no premia que sepas escribir un ciclo for: premia que sepas modelar un problema de ingeniería y recién después programarlo. La I1 castiga justamente eso. Esta guía es para el que ya programa decente y aun así se siente perdido en la primera interrogación, y te digo desde ya para quién no es.
Qué evalúa la I1 de IIC2115 y cómo repartir el estudio
La I1 se toma sobre las primeras semanas del curso, así que no entra todo el programa: entra la base sobre la que se construye el resto del semestre. En la práctica eso significa programación orientada a objetos (POO) bien hecha, estructuras de datos de Python usadas con criterio, nociones de complejidad y, según el semestre y el profesor, una primera pasada por manejo de datos. El error de asignación de tiempo más común es repartir todo por igual; no rinde. Esta es la orientación que yo seguiría para dividir las horas de estudio:
| Tema de la I1 | Qué se te pide | Cuánto invertirle |
|---|---|---|
| Programación orientada a objetos | Modelar con clases, herencia y composición | Alto (≈40%) |
| Estructuras de datos de Python | Elegir list, dict o set según el costo | Alto (≈25%) |
| Complejidad algorítmica | Estimar O( ) y comparar enfoques | Medio (≈15%) |
| Manejo de datos (NumPy / pandas) | Vectorizar y filtrar en vez de iterar | Medio (≈20%) |
Para quién es esta guía (y para quién no)
Voy a ser directo, porque acá se juega tu nota. Si ya programas con soltura —vienes de aprobar IIC1103 y entiendes funciones, listas y ciclos— esta guía te sirve entera: tu problema no es la sintaxis, es traducir un enunciado de ingeniería a objetos y elegir la estructura correcta. En cambio, si todavía te trabas escribiendo un while o copiando código sin entenderlo, este ramo te va a pasar por encima: lo honesto es que primero afiances lo básico de programación antes de pelear con POO. IIC2115 no es el lugar para aprender a programar; es el lugar para usar la programación como herramienta. Si te reconoces en el primer grupo, sigue leyendo con confianza.
Programación orientada a objetos: el bloque que más pesa
La POO es el corazón de la I1 y donde más gente pierde puntos por razones evitables. No basta con saber qué es una clase: te van a pedir diseñar un modelo. Asegúrate de dominar clases y objetos, el constructor __init__, atributos de instancia versus de clase, encapsulamiento, y sobre todo herencia y composición, que es donde se separa la nota. Practica métodos especiales como __str__, __eq__ y __lt__, porque en los enunciados casi siempre hay que hacer objetos comparables o imprimibles. El mejor ejercicio mental es tomar un problema en palabras —”un estacionamiento con autos y tarifas”— y preguntarte qué son las clases, qué es atributo y qué es método antes de escribir una línea. Si vienes de IIC2233, ya tienes ventaja, pero acá el foco es modelar el dominio, no solo implementar.
El error que más veo en la I1 de POO es meter toda la lógica en una sola clase gigante en vez de repartir responsabilidades. Si una clase hace de todo —guarda datos, calcula, imprime y decide—, el enunciado te va a castigar, porque la evaluación premia el diseño limpio: cada clase con una responsabilidad clara y objetos que colaboran entre sí. Antes de programar, dibuja en papel qué clases hay y qué le pide una a la otra; ese minuto de modelado vale más que veinte de escribir código a ciegas.
Estructuras de datos y complejidad: pensar en costo, no solo en que funcione
En IIC1103 bastaba con que tu código diera el resultado correcto. En IIC2115 empieza a importar cuánto cuesta. La I1 suele incluir preguntas donde dos soluciones funcionan pero solo una es razonable: buscar un elemento recorriendo una lista es O(n), mientras que un set o un dict te lo resuelven en O(1) promedio. Ten claro cuándo usar cada estructura: lista para orden y repetición, dict para asociar clave-valor, set para pertenencia y unicidad. Y aprende a justificar la complejidad de un ciclo anidado sin fórmulas mágicas: si recorres n elementos y dentro recorres otros n, es O(n²), y eso hay que saber decirlo. Este mismo criterio es la base de IIC2133, así que lo que estudies acá te va a servir después.
NumPy y pandas: la parte que subestiman
Acá está el clásico costalazo: como NumPy y pandas aparecen al final del temario de la I1, mucha gente los deja para la noche anterior y llega en blanco. Mala idea, porque son justo lo que le da sentido al “para la Ingeniería” del ramo. De NumPy necesitas entender arreglos, operaciones vectorizadas y por qué sumar dos arrays es mejor que un for. De pandas, cargar un DataFrame, filtrar filas por condición, seleccionar columnas y hacer un groupby básico. No hace falta que seas experto, pero sí que puedas leer una tabla de datos y responder una pregunta simple sin trabarte. Dedícale al menos dos sesiones reales, no una leída rápida. Un truco: toma cualquier tabla que tengas a mano —notas, gastos, lo que sea— cárgala en un DataFrame y respóndete tres preguntas con código (el promedio, cuántas filas cumplen una condición, y un dato agrupado por categoría). Si puedes hacerlo sin buscar cada línea en internet, tienes el nivel que la I1 espera de esta parte.
Plan de 10 días y un ejercicio tipo I1 resuelto
Diez días alcanzan si no los desperdicias. Días 1 a 4: POO a fondo, resolviendo al menos un modelo con clases por día y forzándote a usar herencia. Días 5 a 6: estructuras de datos y complejidad, comparando soluciones y justificando el costo. Días 7 a 8: NumPy y pandas con datos de verdad, no ejemplos de juguete. Días 9 a 10: interrogaciones de semestres anteriores cronometradas, que es la única forma de calibrar el tiempo. Un ejemplo de lo que puede caer: “modela una clase Curso con una lista de alumnos, donde cada Alumno tiene nombre y nota, y agrega un método que devuelva el promedio y otro que entregue los alumnos aprobados”. La solución limpia define dos clases, guarda los alumnos en una lista dentro de Curso, recorre esa lista para el promedio y usa una comprensión de listas para filtrar los aprobados. Si puedes escribir eso sin mirar apuntes, estás en forma para la I1.
¿Quieres llegar a la I1 con todo ordenado? En el curso de aRomperla tienes la materia de IIC2115 explicada paso a paso, con ejercicios tipo interrogación resueltos y un plan de estudio listo para seguir.
Ver el curso de IIC2115 en aRomperla →
También puedes revisar todas las guías por ramo en el hub de la UC.
Preguntas frecuentes
¿IIC2115 es más difícil que IIC1103?
Es distinto más que “más difícil”. La sintaxis pesa menos, pero te exige diseñar y pensar en costo, algo que en IIC1103 casi no aparece. Si te costó IIC1103, refuérzalo antes.
¿Cuánto Python previo necesito para la I1?
El de un IIC1103 aprobado con comprensión real: funciones, listas, diccionarios y ciclos. Lo nuevo del ramo se construye sobre esa base, no la reemplaza.
¿Entra pandas en la I1?
Depende del semestre y del profesor, pero es habitual que la I1 llegue hasta una primera pasada de NumPy y pandas. Confirma el alcance exacto en tu programa y no lo dejes para el final.
¿Sirve estudiar con interrogaciones antiguas?
Muchísimo. Son la mejor forma de calibrar el tipo de modelado que se pide y el tiempo por pregunta. Resuélvelas cronometradas en los últimos dos días.
¿Quieres romperla en la UC?
Mira todos los cursos de preparación para tu universidad.
Ver cursos de la UC →