Información General del Curso
- Materia: Principios de Programación
- Carrera: Tecnólogo en Informática
- Créditos: 8 (8 horas semanales durante 15 semanas)
- Modalidad: Teoría + Práctica + Laboratorio
- Prerrequisitos: No tiene
Descripción
El objetivo de esta asignatura es aprender a realizar buenos programas, según el paradigma de la programación imperativa, abordando la resolución de problemas mediante el uso de algoritmos y manejo de estructuras de datos, aprendiendo a utilizar los conceptos de abstracción de operaciones y de datos.
La asignatura servirá para la nivelación de los estudiantes que ingresen desde el Bachillerato Diversificado. Los estudiantes no tienen conocimientos previos de programación.
¿Por qué se utiliza C?
El lenguaje C se utiliza en este curso porque:
- Fundamento sólido: proporciona una base sólida para entender cómo funcionan los programas a nivel fundamental
- Control explícito: permite entender conceptos como memoria y estructuras de datos de manera directa
- Paradigma imperativo: es ideal para aprender programación imperativa sin abstracciones complejas
- Preparación para cursos avanzados: establece las bases necesarias para cursos posteriores como Estructura de Datos y Algoritmos
- Transferibilidad: los conceptos aprendidos se aplican a otros lenguajes de programación
Objetivos
- Desarrollar programas usando el paradigma de programación imperativa
- Dominar los conceptos fundamentales del lenguaje C
- Aprender a diseñar algoritmos usando pseudocódigo
- Trabajar con estructuras de control (selección, iteración)
- Implementar funciones y subprogramas
- Manejar tipos de datos estructurados: arreglos y estructuras
- Introducirse al concepto de recursión
Cronograma del Semestre
- Semanas 1-2: Introducción a la programación y primeros pasos en C
- Semanas 3-5: Variables, tipos de datos y estructuras de control
- Semanas 6-8: Funciones, arreglos y estructuras
- Semanas 9-12: Recursión y consolidación de conceptos
- Semanas 13-15: Consolidación y evaluación final
Metodología
- 8 horas semanales de clase incluyendo:
- presentaciones teóricas
- ejercicios prácticos
- trabajo en máquina
- 8 horas semanales de estudio personal y realización de trabajos de laboratorio
Evaluación
Los estudiantes serán evaluados mediante entregas de trabajos de laboratorio y dos parciales.
Laboratorios
Los trabajos propuestos serán de entrega obligatoria. No se les asignará puntaje, solamente se evaluará si se aprueban o no.
Parciales (Puntuación sobre 100)
- Primer Parcial (Semana 7): Hasta 40-50 puntos
- Cubre: Introducción, variables, control, funciones, arreglos básicos
- Segundo Parcial (Semana 15): Hasta 50-60 puntos
- Cubre: Todo el temario del curso
Condiciones de Aprobación
- Exoneración: ≥ 60 puntos entre ambos parciales
- Suficiencia: ≥ 25 puntos entre ambos parciales (habilita examen final)
- Insuficiencia: < 25 puntos entre ambos parciales (debe recursar)
Temario Detallado
Introducción a la programación
- Lenguajes de programación
- Algoritmos
- Pseudocódigos
- Proceso para la obtención de un programa ejecutable en lenguaje de alto nivel
El lenguaje C
- Identificadores, constantes y variables
- Tipos de datos simples
- Instrucción de asignación y expresiones aritméticas
- Instrucciones de control:
- Secuencia
- Selección
- Iteración
- Subprogramas
- Alcance de identificadores
- Tipos de datos estructurados: arreglos y estructuras
- Recursión
Bibliografía
- Kernighan, B. W. y D. M. Ritchie. El lenguaje de programación C. Prentice-Hall. 1991.
- Deitel, H. M. y P. J. Deitel. Cómo programar en C/C++. Prentice-Hall Hispanoamericana. 1998.
- Seacord, R. C. Effective C: An Introduction to Professional C Programming. 2ª edición. No Starch Press. 2024.
Contacto
- ✉️ Correo: mariano.zunino@fing.edu.uy