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 2005)
(Programa en trámite de aprobación)
(Programa presentado el 26/10/2005 18:57:13)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROGRAMACION I LIC. CS. COMP. 11/98 1 2c
PROGRAMACION I PROF.CS.COMP. 005/02
II - Equipo Docente
Docente Función Cargo Dedicación
DASSO, ARISTIDES JUAN Prof. Responsable P.ASO EXC 40 Hs
BENEGAS, ISIDORO EDUARDO Prof. Colaborador P.ADJ EXC 40 Hs
NECCO, CLAUDIA MONICA Prof. Colaborador P.ADJ EXC 40 Hs
SILVESTRI, MARIO ALFREDO Responsable de Práctico JTP SIM 10 Hs
VILALLONGA, GABRIEL DOMINGO Responsable de Práctico JTP TC 30 Hs
ABDELAHAD, CORINA NATALIA Auxiliar de Laboratorio A.1RA SEM 20 Hs
ALBORNOZ, MARIA CLAUDIA Auxiliar de Laboratorio A.2DA SIM 10 Hs
COBARRUBIA, MARISA LORENA Auxiliar de Laboratorio A.2DA SIM 10 Hs
PEREZ, NORMA BEATRIZ Auxiliar de Laboratorio A.1RA SEM 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. 3 Hs. 3 Hs. 3 Hs. 9 Hs. 2 Cuatrimestre 08/08/2005 11/11/2005 14 126
IV - Fundamentación
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.
Licenciado en Ciencias de la Computación, Contenidos Mínimos del Ciclo Obligatorio, Anexo III, Ordenanza C.S. 11/98. Profesorado en Ciencias de la Computación, Contenidos Mínimos, Anexo II, Ordenanza C.D. 003/00. Técnico Universitario en Web, Contenidos Mínimos, Anexo II, Ordenanza C.D. 008/04. Técnico Universitario en Redes de Computadoras, Contenidos Mínimos, Anexo II, Ordenanza C.D. 007/04.
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.
Licenciado en Ciencias de la Computación, Contenidos Mínimos del Ciclo Obligatorio, Anexo III, Ordenanza C.S. 11/98. Profesorado en Ciencias de la Computación, Contenidos Mínimos, Anexo II, Ordenanza C.D. 003/00. Técnico Universitario en Web, Contenidos Mínimos, Anexo II, Ordenanza C.D. 008/04. Técnico Universitario en Redes de Computadoras, Contenidos Mínimos, Anexo II, Ordenanza C.D. 007/04.
VI - Contenidos
PRE REQUISITOS, CONCEPTOS PREVIOS.
Lógica.
Introducción a la Lógica. Proposiciones. Funciones proposicionales. Variables proposicionales. Funtores de verdad (a) Conectivos: Conjunción Disjunción, Condicional, Bicondicional. (b) No-conectivos: Negación.
Las Computadoras
Las Computadoras. Las partes de una computadora. Las partes internas: Unidad Central de Proceso. Procesadores y Microprocesadores. Procesadores y Co-procesadores. Memoria Principal. Las partes externas. Teclado. Video. Memoria auxiliar: Discos magnéticos: Discos magnéticos flexibles (floppy ó disquete). Discos magnéticos rígidos (duros). La información (datos) dentro de la computadora. El funcionamiento. El Sistema Operativo.
Resolución de Problemas y Programación
Programación de computadoras. Programación y Resolución de Problemas. El Proceso de Resolución de Problemas. Etapas de la Resolución de Problemas. Los Paradigmas de la Programación. Programación Imperativa. Programación y Datos. Estructuras de programación. Lenguajes de programación: características generales. Métodos de descripción de lenguajes de programación. Sintaxis y semántica. Metalenguajes de definición.
Datos y Acciones
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: Arreglos. Modularidad.
Arreglos: orden de sus elementos, capacidad, operaciones. Modularidad: Subalgoritmos
CONCEPTOS NUEVOS
Unidad I
Introducción al Lenguaje de Programación Pascal.
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 Pascal: tipos record y array.
Unidad II
Modularidad.
Concepto de módulo.
Lenguaje de programación Pascal: Procedimientos y funciones. Declaración, invocación, parámetros. Pasaje de parámetros.
Resolución de problemas y uso de procedimientos y 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 Pascal 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 Pascal 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 Pascal 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. PASCAL: procedimientos y funciones recursivas.
Unidad IX
PASCAL, tipo pointer: Conceptos Generales y aplicaciones.
Unidad X
Datos recursivos.
Conceptos Generales.
Implementación de estructuras de datos, listas uni y bi-direccionales, empleando el tipo pointer del PASCAL.

VII - Plan de Trabajos Prácticos
1. En aula: PASCAL: definiciones y declaraciones, datos y acciones. Estructuras de Datos: PASCAL: Array (arreglo) y record (registro). En máquina: de los temas del práctico de aula.
2. En aula: Modularidad. PASCAL: declaraciones y uso de procedure y function. 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 PASCAL.
4. En aula: Estructuras de Datos: listas uni y bi-direccionales. Declaraciones y operaciones empleando las extensiones del PASCAL.
5. En aula: Estructuras de Datos: multinivel. Declaraciones y operaciones empleando las extensiones del PASCAL.
6. En aula: Implementación de estructuras: pilas, filas, empleando PASCAL. En máquina: de los temas del práctico de aula.
7. En aula: Implementación de estructuras: listas uni y bi-direccionales, empleando PASCAL. 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: PASCAL; Tipo Pointer.
10. En aula: Datos recursivos. Implementación de estructuras, listas uni y bi-direccionales, empleando el tipo pointer del PASCAL. 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%. El porcentaje de 70 a 100 se corresponderá con una escala de cuatro 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] * Pascal: Manual del Usuario e Informe. K. Jensen y N. Wirth. Ed. El Ateneo.
[2] * Manuales de los sistemas operativos empleados (MS-WINDOWS, Linux).
[3] * Notas de Clase de la cátedra.
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
PRE REQUISITOS, CONCEPTOS PREVIOS.
Lógica.
Las Computadoras
Resolución de Problemas y Programación
Datos y Acciones
Estructuras de Datos: Arreglos. Modularidad.
CONCEPTOS NUEVOS
Introducción al Lenguaje de Programación Pascal.
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.
PASCAL, tipo pointer. Datos recursivos.
XIII - Imprevistos