Clases particulares de Informática para ingenierías y ciencias
¿Tienes Informática, Fundamentos de Informática o Informática Aplicada en una ingeniería o en un grado de ciencias, con Python, MATLAB o C? Dime qué asignaturas cursas y te diré si puedo ayudarte. Sin permanencia, y con una clase de prueba gratuita.
Qué asignaturas son
Esta página es para las asignaturas que se llaman así, o parecido:
- Informática
- Fundamentos de Informática
- Informática Aplicada
- Informática Aplicada a la Química
- Informática para la Ingeniería
- Informática y Programación
- Herramientas Informáticas para las Matemáticas
La tienen en primero de Ingeniería Industrial, Mecánica, Eléctrica, Química, Aeroespacial, de la Energía, de Organización Industrial y Biomédica, y en Bioingeniería, Biotecnología, Química, Física y Matemáticas.
Cómo trabajamos
Trabajamos sobre tu material: los ejercicios, los apuntes y los exámenes de otros años de tu asignatura. El material puede estar en cualquier idioma; la clase es en castellano.
En estas asignaturas el problema casi nunca es la ingeniería, sino traducirla a código. Por eso escribimos el programa juntos, paso a paso, en el lenguaje que te pidan, y cuando un bucle o un índice no se ve claro en la pantalla, hago la traza en la pizarra.
Puedes venir a clases sueltas para un tema concreto o seguir todo el curso, y llevar varias asignaturas a la vez. Si no has programado nunca, partimos de cero. Y si se acerca el examen y me lo pides, hacemos una preparación intensiva con exámenes anteriores.
En qué trabajamos más
- Lo básico de programar, en el lenguaje que te toque: variables, condicionales, bucles, funciones, y vectores y matrices.
- Python: listas, funciones, ficheros y clases, NumPy para vectores y matrices, y cuadernos de Jupyter.
- MATLAB: scripts y funciones
.m, operaciones con matrices, cadenas y celdas, gráficas conplotyfplot, y ecuaciones y EDO consolve,dsolveyode45. Si no tienes licencia, casi todo funciona igual en Octave. - C:
printfyscanf,switch, tablas de una y de varias dimensiones, cadenas (rehacerstrlen,strcpyystrcmpa mano), estructuras y ficheros. - Métodos numéricos programados: bisección, eliminación gaussiana con sustitución regresiva, interpolación e integración numérica.
- Algoritmos clásicos: ordenación por burbuja y por inserción, y simulaciones en una rejilla, como el juego de la vida o contar los vecinos de una casilla.
Si tu asignatura es entera de métodos numéricos (errores, ecuaciones no lineales, sistemas, interpolación…), mira Métodos Numéricos.
Si estás en Informática o en un grado con una Programación I más larga, en Python o en Java, mira Fundamentos de Programación.
Errores típicos
- Leer caracteres con `scanf("%c", …)` dentro de un bucle. Lee también el salto de línea que dejó la lectura anterior, y el programa parece saltarse preguntas. Se arregla con un espacio delante:
" %c". - Olvidar el `&` en `scanf`, o usar un formato que no corresponde:
%dpara undouble, o%fen vez de%lfal leer undouble. - Equivocarse de índice al cambiar de lenguaje. MATLAB empieza a contar en 1; C y Python, en 0. Quien usa dos a la vez falla en la primera o en la última vuelta del bucle.
- Comparar textos con `==` en MATLAB.
'Abc' == 'abc'compara letra a letra y devuelve un vector; para textos se usastrcmp. - La división entera en C:
5 / 2vale2, y una media calculada con enteros sale truncada sin ningún aviso. - En un método numérico, parar solo por número de iteraciones sin mirar la tolerancia, o comparar dos números reales con
==.
Un ejemplo: la cadena complementaria de ADN en C
Leer seis bases de una cadena de ADN y escribir su cadena complementaria, cambiando A por T y C por G. Es un ejemplo en C.
#include <stdio.h>
#define N 6
/* Devuelve la base complementaria: A con T y C con G. */
char complementaria(char base) {
switch (base) {
case 'A': return 'T';
case 'T': return 'A';
case 'C': return 'G';
case 'G': return 'C';
default: return '?'; /* no es una base válida */
}
}
int main(void) {
char cadena[N];
int i;
printf("Escribe %d bases (A, T, C o G): ", N);
for (i = 0; i < N; i++) {
scanf(" %c", &cadena[i]); /* el espacio salta espacios y saltos de línea */
}
printf("Complementaria: ");
for (i = 0; i < N; i++) {
printf("%c", complementaria(cadena[i]));
}
printf("\n");
return 0;
}La función complementaria resuelve una sola base con un switch, y main la aplica a cada posición de la tabla. Si escribes ATGCCA, el programa responde TACGGT. El espacio de " %c" es importante: sin él, scanf lee también los saltos de línea y el programa parece saltarse bases.
En la pizarra: la ordenación de burbuja, pasada a pasada
La lista 1, 3, 2, 5, 2 ordenada por el método de la burbuja. En cada pasada se comparan parejas vecinas (en rojo y azul) y se intercambian si están desordenadas, así que el mayor de lo que queda acaba al final, en verde. Con n = 5 bastan las pasadas i = 0 a n − 2 = 3; la fila i = 4 solo enseña la lista ya ordenada. Es la pizarra de una clase real.

Opiniones de alumnos de programación
Son reseñas de mi perfil de ClassGap, una plataforma de clases particulares: las ponen allí, sin que yo las controle, y las he clasificado por área según la asignatura de cada una.
Cargando opiniones…
Preguntas frecuentes
- Estudio una ingeniería o un grado de ciencias, no Informática. ¿Estas clases son para mí?
- Sí: es justo el perfil de esta página. En estas asignaturas se aprende a programar para resolver problemas de tu carrera, y las clases van por ahí, con los ejercicios de tu asignatura.
- Mi asignatura es en MATLAB. ¿Necesito tenerlo instalado?
- Yo doy la clase con MATLAB. Si no tienes licencia, puedes seguirla con Octave, que es gratuito y compatible con casi todo lo que se ve en estas asignaturas.
- ¿Vemos también la parte de métodos numéricos?
- Sí: bisección, sistemas de ecuaciones, interpolación e integración, programados en Python, MATLAB o C. Si tu asignatura es entera de métodos numéricos, mira la página de Métodos Numéricos.
- ¿Me ayudas con mis prácticas y entregas?
- Sí. Vemos juntos qué te piden, cómo plantearlo y dónde te atascas, y reviso lo que vayas haciendo.