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 2011)
(Programa en trámite de aprobación)
(Programa presentado el 06/09/2011 09:15:31)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROGRAMACION I TCO.UNIV.EN WEB 008/05 2011 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
BERON, MARIO MARCELO Prof. Responsable P.Adj Exc 40 Hs
VILALLONGA, GABRIEL DOMINGO Responsable de Práctico JTP TC 30 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. 3 Hs. 6 Hs.  Hs. 9 Hs. 2º Cuatrimestre 08/08/2011 18/11/2011 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.


Esta fundamentación es parte de la encontrada en la Resolución Nro. 08-04 de creación de la carrera Técnico Universitario en Web.
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. Laboratorios sugeridos: Implementación y corrida de programas cortos 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. Capacidad: dinámica, estática. Operaciones. Arreglos: orden de sus elementos, capacidad, operaciones. Registros: orden de sus elementos, capacidad, operaciones. Lenguaje de programación C: esctructuras y arreglos.

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 I.
Pilas: orden de sus elementos, capacidad, operaciones. Filas o colas: orden de sus elementos, capacidad, operaciones. Extensiones al lenguaje C para manejo de estructuras dinámicas: pilas y filas. Declaraciones. Operaciones. Predicados.

Unidad IV: Estructuras de datos II.
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. Cursores. Generalidad de las listas. Extensiones al lenguaje C para manejo de estructuras dinámicas: listas. Declaraciones. Operaciones. Predicados.

Unidad V: Estructuras de datos III.
Estructuras de más de un nivel: estructuras multinivel. Estructuras estáticas. Arreglos multinivel. Registros multinivel. Estructuras dinámicas. Composición de los elementos. Operaciones. Extensiones al lenguaje C para manejo de estructuras dinámicas multinivel. Declaraciones. Operaciones. Predicados.

Unidad VI: Implementación de Estructuras de Datos I.
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. Implementación de pilas: con y sin desplazamiento. Implementación de filas o colas: con y sin desplazamiento.

Unidad VII: Implementación de Estructuras de Datos II.
Implementación de listas: con y sin desplazamiento.

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

Unidad IX: C, tipo puntero: Conceptos Generales y aplicaciones.


Unidad X: Datos recursivos.
Conceptos Generales. Implementación de estructuras de datos, listas uni y bi-direccionales, empleando el tipo puntero de C.

VII - Plan de Trabajos Prácticos
1. En aula: C: definiciones y declaraciones, datos y acciones. Estructuras de Datos: C: arreglos y estructuras
(registro). En máquina: de los temas del práctico de aula.

2. En aula: Modularidad. C: declaraciones y uso de funciones. En máquina: de los temas del práctico de aula.

3. En aula: Estructuras de Datos: pilas, filas. Declaraciones y operaciones empleando las extensiones del C.

4. En aula: Estructuras de Datos: listas uni y bi-direccionales. Declaraciones y operaciones empleando las extensiones de C.

5. En aula: Estructuras de Datos: multinivel. Declaraciones y 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: C; Tipo Puntero.

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 tres (3) horas de teoría y seis (6) horas de
trabajos prácticos, divididos en cuatro (4) horas de trabajos prácticos de aula y dos (2) horas de trabajos prácticos sobre
máquina. 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á:

2.1.1.- Tener como mínimo un 80% de asistencia a clases prácticas.

2.1.2.- Tener los prácticos, pedidos por la cátedra, aprobados. Son cuatro (4) Trabajos Prácticos a entregar: dos (2) en
máquina y dos (2) en aula.

2.1.3.- Aprobar la Evaluación Final Integradora con un mínimo del 60%.

2.2.- Regularización y Aprobación: Para regularizar y aprobar la materia se deberá:

2.2.1.- Cumplir con los requisitos 2.1.1 y 2.1.2.


2.2.2.- Aprobar la Evaluación Final Integradora con un mínimo del 70%, porcentaje que se corresponderá con una escala de
siete a diez, la que será la nota definitiva en la materia.

3.- Examen Final.

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

3.2.- Para rendir la materia en forma libre deberá haberse cumplido, dentro de los doce meses anteriores al examen, con el
requisito 2.1.2
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] Manuales de los sistemas operativos empleados (MS-WINDOWS, Linux).
[3] “Notas de Clase” de la cátedra. Autor: Mg. Gabriel Vilallonga, Dr. Mario Marcelo Berón.
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.
[4] Introducción al análisis de algoritmos, Sánchez Velázquez, Ed. Trillas
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.
Modularidad.
Estructuras de datos
Pilas. Filas o colas.
Listas uni-direccionales. Listas bi-direccionales.
Estructuras de más de un nivel.
Implementación de Estructuras de Datos. Pilas. Filas. Listas.
Recursividad. C, tipo puntero. Datos recursivos.
XIII - Imprevistos
Serán resueltos por los integrantes del área en el momento apropiado en la medida de lo posible.
XIV - Otros