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 2012)
(Programa en trámite de aprobación)
(Programa presentado el 18/10/2012 10:57:46)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROGRAMACION I TCO.UNIV.EN WEB 08/13 2012 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
VILALLONGA, GABRIEL DOMINGO Prof. Responsable P.Adj Exc 40 Hs
SANCHEZ, HECTOR ENRIQUE Auxiliar de Práctico A.1ra Simp 10 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
2 Hs. 2 Hs. 2 Hs. 3 Hs. 9 Hs. 2º Cuatrimestre 06/08/2012 16/11/2012 15 135
IV - Fundamentación
La carrera Técnico Universitario 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 esta 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 alumno 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.

V - Objetivos / Resultados de Aprendizaje
Introducir al alumno 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.
El objetivo de los Laboratorios es que los alumnos logren la habilidad y autonomía en la implementación, depuración, y corrida de programas usando un lenguaje imperativo.
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. Estructuras de Datos. Orden
de sus elementos: cronológico, no cronológico. Operaciones. Arreglos: orden de sus elementos, capacidad, operaciones. Registros: orden de sus elementos, capacidad, operaciones. Lenguaje de programación C: estructuras, arreglos y punteros.

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: Estructuras de Datos Pilas y Filas.
Pilas: orden de sus elementos, capacidad, operaciones. Filas o colas: orden de sus elementos, capacidad, operaciones.
Declaraciones. Operaciones. Predicados.

Unidad IV: Estructuras de Dato Listas.
Listas uni-direccionales: composición de los elementos, orden de sus elementos, capacidad, operaciones. Listas
bi-direccionales: composición de los elementos, orden de sus elementos, capacidad, operaciones. Generalidad de las listas.
Extensiones al lenguaje C para manejo de estructuras dinámicas: listas. Declaraciones. Operaciones. Predicados.

Unidad V: Implementación de Estructuras de Datos Dinámicas: PILAS y FILAS.
Conceptos Generales: Administración de los espacios libres. Desborde y desfonde. Métodos de administración de los
espacios libres: administración estática, administración dinámica. C: Implementación de pilas con y sin desplazamiento.
C: Implementación de filas o colas: con y sin desplazamiento.

Unidad VI: Implementación de Estructura de Datos Dinámica: LISTAS.
Uni y bi-direccionales. C: Implementación de listas con y sin desplazamiento.

Unidad VII: Recursividad.
Conceptos Generales y aplicaciones. C: funciones recursivas.

Unidad VIII: Archivos.
Conceptos generales. Operaciones.

Unidad IX: 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
1. En aula: C: definiciones y declaraciones, datos y acciones. Sentencias y estructuras de Datos C: arreglos. En máquina: de
los temas del práctico de aula.
2. En aula: definiciones y declaraciones de registros y uso de punteros en C. En máquina: de los temas del práctico de aula.
3. En aula: Modularidad. C: declaraciones y uso de funciones. En máquina: de los temas del práctico de aula.
4. En aula: Estructuras de Datos: pilas, filas. Operaciones empleando C.
5. En aula: Estructuras de Datos: listas uni y bi-direccionales. Operaciones empleando las extensiones de C.
6. En aula: Implementación de estructuras: pilas, filas, empleando C. En máquina: de los temas del práctico de aula.
7. En aula: Implementación de estructuras: listas uni y bi-direccionales, empleando C. En máquina: de los temas del práctico
de aula.
8. En aula: Recursividad. En máquina: de los temas del práctico de aula.
9. En aula: Archivos. En máquina: de los temas del práctico de aula.
10. En aula: Datos recursivos. Implementación de estructuras, listas uni y bi-direccionales, empleando el tipo puntero de C.
En máquina: de los temas del práctico de aula.
VIII - Regimen de Aprobación
1.- Crédito Horario: El crédito horario semanal es de nueve (9) horas, separado en dos (2) horas de teoría, en dos (2) de teórico/prácticas, dos (2) de prácticas de aula y tres (3) horas de prácticas de laboratorio. En algunos casos los horarios de prácticos de aula pueden emplearse en máquina.

2.- Regularización y Aprobación: La materia se desarrolla con la modalidad de promoción sin examen final. Existen dos
niveles:
2.1.- Regularización solamente: Para regularizar la materia se deberá:
* Tener como mínimo un 80% de asistencia a clases teórico/prácticas, prácticas, y laboratorios.
* Tener los prácticos, pedidos por la cátedra, aprobados.
* Aprobar los dos parciales en cualquiera de sus instancias con un mínimo del 60%.

2.2- Promoción sin examen final: Para promocionar la materia se deberá:
* Tener como mínimo un 80% de asistencia a clases teórico/prácticas, prácticas, y laboratorios.
* Tener los prácticos, pedidos por la cátedra, aprobados.
* Aprobar los dos los parciales, en cualquiera de sus instancias con un mínimo del 70%, porcentaje que se corresponderá

3.- Examen Final.
Aquellos alumnos que solo regularicen la materia podrán rendir el examen final, en los turnos establecidos.

4.- Examen Final Libre
Se admitirán exámenes de alumnos libres, en cuyo caso el alumno deberá aprobar en primera instancia un práctico de máquina para luego pasar a un examen teórico sobre la materia. La nota final del examen será un promedio de ambas evaluaciones.
IX - Bibliografía Básica
[1] Kernighan, Brian; Ritchie, Dennis. "El Lenguaje de Programación C". Editorial: Prentice-Hall. ISBN 9789688802052. Edición 1991.
[2] Introducción a la Programación - Notas de clase para el curso Programación I - Aristides Dasso & Ana Funes
[3] Tutorial del Lenguaje C. - Dr. Carlos Kavka - Dpto. de Informática de la UNSL.
[4] “Notas de Clase” de la cátedra. - Mg. Gabriel Vilallonga, Dr. Mario Marcelo Berón.
[5] Manuales de los sistemas operativos empleados (MS-WINDOWS, Linux).
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 alumno en el paradigma de la programación imperativa.
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
Serán resueltos por los integrantes del área en el momento apropiado en la medida de lo posible.
XIV - Otros