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 2017)
(Programa en trámite de aprobación)
(Programa presentado el 11/09/2017 18:04:04)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROGRAMACION I TCO.UNIV.EN WEB 08/13 2017 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. 1 Hs. 2 Hs. 1 Hs. 6 Hs. 2º Cuatrimestre 07/08/2017 18/11/2017 15 90
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
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: 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: Estructura de Datos Listas.
Listas unidireccionales: 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 Unidireccionales.
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 unidireccionales. 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 unidireccionales, 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 unidireccionales, 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 seis (6) horas, de contenidos Teórico/Práctico.
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 60% de asistencia a clases prácticas.
2.1.2- Tener los prácticos, pedidos por la cátedra, aprobados.
2.1.3- Aprobar los dos parciales, o sus respectivas recuperaciones (dos por parcial), o la Evaluación 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 todos los parciales, o sus respectivas recuperaciones (dos por parcial), o la Evaluación 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] Tutorial del Lenguaje C. Autor Dr. Carlos Kavka - Dpto. de Informática de la UNSL.
[4] “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.
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.