Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area IV: Pr. y Met. de Des. del Soft.
(Programa del año 2024)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROGRAMACION I TCO.UNIV.EN WEB 08/13 2024 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
PEREZ, NORMA BEATRIZ Prof. Responsable P.Adj Exc 40 Hs
CUELLO, CAROLINA YAMILE Auxiliar de Práctico A.1ra Semi 20 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
 Hs. 2 Hs. 2 Hs. 2 Hs. 6 Hs. 2º Cuatrimestre 05/08/2024 15/11/2024 15 90
IV - Fundamentación
La carrera Tecnicatura Universitaria en Web, representa una instancia formativa de significativa relevancia institucional la cual permite a los egresados incorporar nuevos conocimientos tecnológicos que orienten en los adelantos y en las aplicaciones que son necesarias para el desarrollo profesional. La carrera está orientada hacia el estudio sistemático e ingenieril para el desarrollo, evaluación, distribución y mantenimiento de aplicaciones Web. La carrera tiene entre sus metas que el estudiante adquiera los conocimientos teórico-prácticos necesarios para el desarrollo y mantenimiento de aplicaciones Web. Las bases de estas tareas se centran en el desarrollo de habilidades en el manejo de técnicas y lenguajes de programación. En Programación I se desarrollan las tareas didácticas tendientes al cumplimiento de estos objetivos específico.
V - Objetivos / Resultados de Aprendizaje
Introducir al estudiante en el paradigma de la programación imperativa. Paradigma de programación Imperativa: Estructuras de control a nivel de sentencias. Variables simples y estructuradas, tipos de datos predefinidos y definidos por el usuario y sus usos en resolución de problemas, registros, archivos. Estructuras de control a nivel de unidades, parámetros formales y actuales. Su uso en programas en un lenguaje que responda al paradigma. Laboratorios sugeridos: Implementación y corrida de programas cortos usando un lenguaje imperativo. La carrera tiene entre sus metas que el estudiante adquiera los conocimientos teórico prácticos necesarios para el desarrollo y mantenimiento de aplicaciones Web. La base de estas tareas se centran en el desarrollo de habilidades en el manejo de técnicas y lenguajes de programación.
En Programación I se desarrollan las tareas didácticas tendientes al cumplimiento de estos objetivos específicos.
VI - Contenidos
Unidad I: Introducción al Lenguaje de Programación C.
Orígenes, objetivos. Acciones y descripción de datos. Datos: estándar, escalares. Definición y declaración. Constantes, variables, tipos. Acciones: Sentencias de asignación, iteración, selección, sentencias compuestas.

Unidad II: Modularidad.
Concepto de módulo. Lenguaje de programación C: funciones. Declaración, invocación, parámetros. Pasaje de parámetros. Resolución de problemas y uso de funciones.

Unidad III: Arreglos, estructuras y Punteros.
Estructuras de Datos el arreglo y registro (estructura). Orden de sus elementos: cronológico, no cronológico. Capacidad: dinámica, estática. Operaciones.
Definición de puntero. Conceptos de “apunta a” y “apuntado por”. Funcionamiento de punteros en C. Arreglos y asignaciones estáticas de memoria. Arreglos en C. Arreglos y punteros en C. Concepto de “cadena de caracteres”. Manejo conceptual de las cadenas de caracteres. Singularidades del manejo de cadenas de caracteres en C. Registros (struct) y punteros.

Unidad IV: Recursividad.
Conceptos Generales, stack de ejecución y aplicaciones. C: funciones recursivas.

Unidad V: Estructuras de Datos Pilas, Filas y Listas.
Pilas, Filas y listas: orden de sus elementos, capacidad, operaciones y Predicados. Listas unidireccionales: Generalidad de las listas. Extensiones al lenguaje C para manejo de estructuras dinámicas.

Unidad VI: Implementación de Estructuras de Datos Dinámicas: PILAS, FILAS y LISTAS.
Concepto de “tipo de dato abstracto”. Ejemplo de “tipo de dato abstracto”. Manejo de tipos abstractos de datos en C. Implementación de pilas con y sin desplazamiento. Implementación de filas o colas: con y sin desplazamiento. Implementación de listas con y sin desplazamiento.

Unidad VII: Archivos.
Conceptos generales. Operaciones.

Unidad VIII: Datos recursivos.
Conceptos Generales. Implementación de estructuras de datos con datos recursivos empleando el tipo puntero de C.

VII - Plan de Trabajos Prácticos
Las actividades se realizan con seguimiento continuo a través del aula virtual de la FCFMyN, uso del Meet o Zoom.
Los estudiantes realizarán la práctica de codificación en sus computadoras y/o computadoras de las salas de la UNSL guiados
por los docentes de la cátedra.

Práctico 1. Definiciones y declaraciones, datos y acciones. Sentencias y estructuras de control, manejo de funciones.

Práctico 2. Modularidad: declaraciones y uso de funciones en C.

Práctico 3. Arreglos en C. Definiciones y declaraciones de registros (struct) y uso de punteros en C.

Práctico 4. Recursividad y Memoria Dinámica

Práctico 5. Estructuras de Datos: pilas, filas, listas unidireccionales. Operaciones empleando C.

Práctico 6. Implementación de estructuras: pilas, filas, listas unidireccionales empleando C.

Práctico 7. Archivos.

Práctico 8. En aula: Datos recursivos. Implementación de estructuras, listas unidireccionales, empleando el tipo puntero de C.

Trabajo Integrador de Laboratorio realizado en grupos de tres o más integrantes según el número de asistentes a la materia.
VIII - Regimen de Aprobación
Condiciones para regularizar la materia:

- Aprobar los dos exámenes parciales o sus respectivas recuperaciones con nota mayor o igual a 6 (seis).
- Contar con el 70% de asistencia a clase.
- Aprobar el laboratorio integrador con nota mayor o igual a 6 (seis)

Se otorga, tal como lo expresa la reglamentación vigente, dos recuperaciones por parcial a todos los estudiantes.

Condiciones para promocionar la materia:

Regularizar la materia con las siguientes condiciones adicionales:

- Aprobar los dos exámenes parciales o sus respectivas recuperaciones con nota mayor o igual a 7 (siete).
- Contar con el 80% de la asistencia a clase.
- Aprobar el laboratorio integrador con nota mayor o igual a 7 (siete)
- Aprobar un coloquio oral con nota mayor o igual que 7 (siete)

En caso de no promocionar el estudiante deberá rendir un examen final escrito u oral.
No se admiten exámenes libres debido al carácter eminentemente práctico de la materia.
IX - Bibliografía Básica
[1] Let Us C 18th Ed. Authentic guide to C programming language; ISBN 978-9391392994; Editorial BPB Puiblications; 26 Noviembre 2021.
[2] Programming In Ansi C, 8Th Edition; ISBN 978-9351343202; Editorial MC GRAW HILL INDIA; 2019.
[3] How to program in C (8th edition); Paul Deitel & Harvey Deitel; Ed. Prentice Hall; 2016.
[4] Aristides Dasso & Ana Funes, Introducción a la Programación: Notas de clase para el curso Programación I, 2014.
[5] Fundamentos de Informática y Programación en C; Diego Rafael Llanos Ferraris; Ed. ParaInfo; 2010.
[6] Programación en C; Serie Schaum, Byron S. Gottfried; Ed. Mcgraw-Hill / Interamericana De España; 2005.
[7] Data structures and program design in C; Kruse, Robert; Ed. Pearson; 2007.
[8] Algoritmos + Estructuras de Datos = Programas; N. Wirth; Ed. Del Castillo; 1999.
[9] El Lenguaje de Programación C; Kernighan & Ritchie; Ed. Pearson; 1991.
[10] Videos y material explicativos realizados por la cátedra, 2023.
X - Bibliografia Complementaria
[1] Programación Estructurada. Dahl, Dijkstra, Hoare. Ed. Tiempo Contemporáneo.
[2] Algoritmos + Estructuras de Datos = Programas. N. Wirth. Ed. del Castillo.
[3] El Arte de la Programación, Vol I. D. Knuth. Ed. Reverte.
XI - Resumen de Objetivos
Introducir al estudiante en el paradigma de la programación imperativa desarrollando competencias de programación donde el estudiante pueda desarrollar, diseñar, codificar, testear así como depurar programas de complejidad moderada.
XII - Resumen del Programa
Introducción al Lenguaje de Programación C.
Estructuras de Datos. Arreglos. Registros. Tipo Puntero. Modularidad. Estructuras de datos.
Pilas. Filas o colas.
Listas.
Implementación de Estructuras de Datos. Pilas. Filas. Listas. Manejo de Archivos. Recursividad. Datos recursivos.
XIII - Imprevistos
Mail: nbperez@email.unsl.edu.ar
Oficina 2, 1° piso, Bloque 2 - Departamento de Informática- FCFMyN.
XIV - Otros