Nombre de la Asignatura: Laboratorio de Programación I
Carrera: Tecnicatura en Desarrollo de software
Curso: Primero
Año lectivo: 2009
Régimen: Regular
Crédito horario: 128 Hs.
Docente responsable: Viviana Lucia Gasull
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
FUNDAMENTACIÓN:
Resulta necesario que el alumno tempranamente tome contacto con el entorno de desarrollo y la sintaxis de un lenguaje en particular, eligiéndose el lenguaje C por sus características: ser un lenguaje de propósito general y responder al paradigma procedural que permite plasmar los conocimientos teóricos en el desarrollo de programas funcionalmente efectivos, y metodológicamente correctos haciendo uso de las “buenas prácticas de programación”.
Objetivos de la enseñanza – aprendizaje.
Introducir al alumno en los conceptos de programas y lenguajes de programación como así en el entorno de desarrollo lo que le posibilitará escribir sus primeros programas haciendo uso de la sintaxis del lenguaje C y la filosofía del mismo.
Iniciar al alumno en el desarrollo de programas informáticos siguiendo una metodología de programación estructurada.
Conocer un lenguaje de programación de alto nivel y aplicarlo a la codificación de pequeños programas.
Introducir las distintas sentencias de control de flujo pudiendo discriminar y seleccionar la más adecuada a distintas situaciones problemáticas.
Introducir al alumno al concepto de modularidad y reuso mediante la definición de funciones en lenguaje C. Conocer las distintas posibilidades relacionadas al uso de parámetros.
Programa analítico y de prácticos.
Unidad 1: Introducción
Concepto de programa, Lenguajes de programación, Lenguajes de propósito general: el Lenguaje C y sus características principales, El proceso de la compilación y la ejecución de un programa en C, programa fuente, programa objeto, programa ejecutable. Librerías. Errores
Unidad 2: Lenguaje C
El ANSI C. Lenguaje C, Procesador y Biblioteca de Funciones. Estructura general de un programa en C. La función Main(). Componentes del lenguaje: Palabras clave,
Identificadores, Constantes, Cadenas de caracteres, Operadores, Separadores
Tipos de Datos Primitivos: char, int, long, float, double, long double; calificativo unsigned, tipo especial void. Sintaxis Básica. Variables: duración y visibilidad de las variables, Modos de almacenamiento: auto, extern, static, register. Declaración de variables, operaciones de asignación y operadores unarios.
Unidad 3: Operadores, Expresiones Y Sentencias
Directivas para el preprocesador: Qué son las directivas para el preprocesador, La directiva #include, La directiva #define, Otras directivas.
Operadores aritméticos, Operadores incrementales, relacionales, lógicos, Otros operadores.
Expresiones aritméticas, lógicos, generales. Reglas de precedencia y asociatividad. Conversiones de tipo implícitas y explícitas (casting).
Sentencias simples, bloques de sentencias.
Unidad 4: Control del flujo de ejecución
Estructuras de selección: Sentencia if, Sentencia if … else, Sentencia if … else múltiple, Sentencia switch, Sentencias if anidadas.
Estructuras de iteración: Sentencia while, Sentencia for, Sentencia do … while, Sentencias break, continue, goto.
Anidamiento de estructuras de control.
Unidad 5: Tipos de datos derivados: Arreglos y Punteros
Punteros: Operadores dirección (&) e indirección (*) Aritmética de punteros Vectores y cadenas de caracteres. Relación entre vectores y punteros. Relación entre punteros y parámetros. Inicialización de vectores.
Estructuras de datos en Lenguaje C.
Unidad 6: Concepto de función
Conceptos generales, Utilidad de las funciones, Definición de una función: Nombre, Declaración y llamada de una función, Valor de retorno y Argumentos de una función Paso de argumentos por valor y por referencia.
Unidad 7: Funciones fundamentales de la Biblioteca ANSI C
Para la manipulación de caracteres (isalpha, isdigit, isxdigit, islower, isupper, tolower, toupper).
Matemáticas (sqrt, pow), para la generación de números aleatorios (rand, srand),
De Entrada/Salida “estándar” (printf, scanf, getchar, gets, putchar, puts, sscanf, sprintf),
Para la manipulación de “string” (strcpy, strcat, strcmp, strlen, strchr, strstr).
Algunas funciones no ANSI para operar en la pantalla (clrscr, gotoxy).
Programa de Prácticos
Se realizan 3 tipos de prácticos, de aula, de máquina y prácticos de máquina con evaluación.
Los prácticos de aula tienen como objetivo la comprensión de conceptos teóricos (PA).
Los prácticos de maquina se realizan en lenguaje C tienen como objetivo la implementación y práctica de los conceptos teóricos (PM).
Prácticos de máquina con evaluación, tiene como objetivo evaluar individualmente el rendimiento y grado de aprendizaje de los alumnos (PE).
Práctico 1: Estudio y profundización de conceptos de programa y lenguajes (PA)
Práctico 2: Practico de aula Constantes, variables, tipos y declaraciones (PA).
Práctico 3: El entorno de programación, hacia el primer programa (PM)
Práctico 4 parte 1: Desarrollo de programas sencillos con operaciones aritméticas básicas (PA).
Práctico 4 parte 2: Implementación de los programas desarrollados en practico 4.1 en el entorno de desarrollo (PM).
Práctico 5 parte 1: Practico de aula Sentencias de control (PA)
Práctico 5 parte 2: Implementación en el entorno de desarrollo de practico 5 (PM)
Práctico 6: Desarrollo individual de programa unidades 1, 2, 3 y 4 (PE).
Practico 7 parte 1: Arreglos, punteros y estructuras de datos
Practico 7 parte 2: : Implementación en el entorno de desarrollo del practico 12
Práctico 8 parte1: Funciones (PA)
Práctico 8 parte 2: Implementación en el entorno de desarrollo del practico 9
Práctico 9: Investigación y exposición en grupos Librerías de funciones (PE).
Práctico 9: Uso de librerías de funciones (PM).
Práctico 10 parte1: Funciones y parámetros
Práctico 10 parte2: Implementación en el entorno de desarrollo del practico 10
Práctico 11: Desarrollo individual de programa unidades 5, 6 y 7 (PE).
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
Bibliografía recomendada:
- I. Obligatoria
H. M. Deitel, P. J. Deitel Como programar en C/ C++ , Prentice-Hall Ispanoamericana.
Fco. Javier Ceballos Sierra, C/C++ Curso de Programación, 2ª Edición.
(Ra-ma)
Ceballos, F. J. ENCICLOPEDIA DEL LENGUAJE C. (Ra-ma)
Kenneth Mansfield; James L. Antonakos, Programación Estructurada En C. Prentice Hall
- II. complementaria
Jesús Carretero Pérez; Félix García Carballeira; Problemas resueltos de programación en lenguaje C ++. Edt. Thomson. 2003.
Joyanes Aguilar, L., Programación en C++. Algoritmos, estructuras de datos y objetos. Ed. McGrawHill
García de Jalón, J. y otros autores Aprenda ANSI C como si estuviera en Primero: http://www.tayuda.com/ayudainf/index.htm
Recursos humanos.
-
- Responsable De la materia: Lic. Viviana Gasull
Recursos materiales.
Para el dictado de la materia se utiliza el laboratorio equipado con Pc, las mismas cuentan con el compilador Dev- C++, para la realización de las prácticas. Se cuenta además con el proyector multimedia y la pizarra para el dictado de las teorías.
a) Cronograma y responsable de cada actividad.
Modalidad Regular
| Periodo | Unidad | Prácticos |
| 16-03-2009 al
20-03-2009 |
Concepto de programa, Lenguajes de programación, Lenguajes de propósito general: el Lenguaje C y sus características principales | Practico I |
| Responsables | Viviana Gasull | Viviana Gasull |
| 23-03-2009 al
27-03-2009 |
Identificadores, variables y constantes, tipos de datos Declaración de variables, operaciones de asignación y operadores unarios. | Practico II |
| Responsables | Viviana Gasull | Viviana Gasull |
| 30-03-2009 al
03-04-2009 |
Directivas para el preprocesador: La directiva #include, La directiva #define, Otras directivas.
Expresiones aritméticas, expresiones lógicas. Sentencias simples, bloques de sentencias |
Practico III
Practico IV P1 Practico IV P2 |
| Responsables | Viviana Gasull | Viviana Gasull |
| 06-04-2009 al
10-04-2009 |
Estructuras de seleccion, Sentencia if, Sentencia if … else, Sentencia if … else anidadas, sentencia switch case | Practico V P1
Practico V P2 |
| Responsables | Viviana Gasull | Viviana Gasull |
| 13-04-2009 al
24-04-2009 |
Sentencias Iterativas Sentencia while, Sentencia for, Sentencia do … while, Sentencias break. Consulta Parcial | Practico VI |
| 28-04-2009 al
30-04-2009 |
Parcial / Recuperatorio | |
| Responsables | Viviana Gasull | Viviana Gasull |
| 04-05-2009 al
08-05-2009 |
Punteros: Operadores dirección (&) e indirección (*) Aritmética de punteros | Practico IX |
| Responsables | Viviana Gasull | Viviana Gasull |
| 11-05-2009 al
15-05-2009 |
Vectores y cadenas de caracteres. Relación entre vectores y punteros. Inicialización de vectores. Estructuras | Practico X – XI |
| Responsables | Viviana Gasull | Viviana Gasull |
| 18-05-2009 al
29-05-2009 |
Conceptos generales, Utilidad de las funciones, Definición de una función: Nombre, Declaración y llamada de una función, Valor de retorno | Practico VII – Parte 1 y 2 |
| Responsables | Viviana Gasull | Viviana Gasull |
| 01-06-2009 al
04-05-2009 |
Funciones y Argumentos de una función Paso de argumentos por valor y por referencia. Relación entre punteros y parámetros | Practico VII – Parte 3 |
| Responsables | Viviana Gasull | Viviana Gasull |
| 08-06-2009 al
11-06-2009 |
Funciones fundamentales de la Biblioteca ANSI C – para caracteres, strings, matemáticas, de entrada salida | Practico VIII |
| Responsables | Viviana Gasull | Viviana Gasull |
| 15-06-2009 al
19-06-2009 |
Integración de contenidos-
Consulta Parcial – Parcial |
Prácticos de repaso |
| Responsables | Viviana Gasull | Viviana Gasull |
| 22-06-2009 al
26-06-2009 |
Consulta recuperatorio – Recuperatorios | |
| Responsables | Viviana Gasull | Viviana Gasull |
| 29-06-2009 al
03-07-2009 |
Consulta Global – Global | |
| Responsables | Viviana Gasull | Viviana Gasull |
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
b) Evaluaciones parciales.
Las evaluaciones se llevarán a cabo mediante 2 exámenes parciales, contando con dos recuperaciones, una para cada parcial y una recuperación adicional para quienes hayan presentado certificado de trabajo. El desarrollo de los ejercicios obligatorios correspondientes a las distintas unidades. Y un examen final, para quienes no promocionen la materia.
c) Evaluación y Régimen de Promoción.
Régimen de Regularización:
La materia puede ser regularizada, implicando la necesidad de rendir un examen final.
Para regularizar la materia se deberá cumplir con: 80 % asistencia a las clases teóricas y practicas de la asignatura. La aprobación en cualquier instancia de los dos parciales con 60 % de rendimiento y la aprobación del 60% ejercicios obligatorios planteados en cada unidad. Aquellos alumnos que no hayan aprobado alguno de los parciales o ambos en las instancias anteriores pueden acceder a un global, en el que se evalúa la totalidad de los contenidos de la materia.
Régimen de Promoción:
Para promocionar la materia será necesario: 80 % asistencia a las clases teóricas y practicas de la asignatura. La aprobación de los dos parciales en cualquiera de sus instancias con un 80 % de rendimiento y la aprobación del 80 % de los ejercicios obligatorios planteados en cada unidad.
d) Modalidad para Exámenes.
El examen final de la Materia para alumnos regulares consiste en una evaluación escrita, la misma contempla todos los contenidos del programa, centrado en la teoría y la aplicación de los conceptos estudiados.
Pueden acceder a examen en carácter de libre los alumnos que habiendo cursado la materia quedaron libres por no aprobar las evaluaciones parciales, el examen libre consta de 2 partes teórico y practico debiendo aprobar esta ultima para poder ser evaluados en el teórico. Se puede evaluar todo el contenido del programa correspondiente al año de cursado.
Firma del Profesor
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /