UNIVERSIDAD DE PANAMÁ
FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
LICENCIATURA EN INGENIERÍA EN INFORMÁTICA
PROGRAMA ANALITICO DE ASIGNATURA
I. DATOS GENERALES:
1. Denominación de la asignatura: Programación I.
2. Departamento: Informática
3. Código: INF 123
4. Semestre: II
5. Créditos: 4
6. Horas Totales Semanales: 6 Teóricas: 4 Prácticas: 0 Laboratorio: 2
7. Pre-requisitos: INF. 100 (Informática Básica)
8. Profesores(as) responsables de la elaboración del Programa Analítico:
Isis De Los Ríos (Presidenta)
Angélica Pierre (Miembro)
Yariela Hernández (Miembro)
9. Fecha de elaboración: 3 DE AGOSTO DE 2011
10. Fecha de aprobación por el Departamento: ___/ ___/____
1
II. JUSTIFICACIÓN.
El mundo en el que vivimos está dramáticamente influenciado por las Tecnologías de la Información y Comunicación (TIC’s). Los
avances tecnológicos han contribuido a la transformación de los métodos y procesos concernientes a la realización de casi cualquier
tarea en nuestra sociedad, sea esta económica, social o política, con el propósito fundamental de mejorar la calidad de vida de sus
habitantes.
La programación de computadoras es una actividad que implica un proceso mental complejo, que exige de los individuos grandes
conocimientos, habilidades y destrezas para la resolución de problemas de la vida real a través del computador. Debido a esto, se
reconoce la gran importancia que tiene el fomentar en los Licenciados en Ingeniería en Informática todas estas capacidades
necesarias para hacer del computador un objeto útil para la sociedad como conjunto.
III. DESCRIPCIÓN.
Empezaremos este curso presentando una breve introducción a los Lenguajes de Programación, sus orígenes, características, entre
otros. Luego, tendremos la oportunidad de trabajar con el lenguaje de programación escogido para este curso, el cual utilizaremos
para introducir los primeros conceptos de programación. Estudiaremos los identificadores propios del lenguaje, las palabras
reservadas, los tipos de datos, los conceptos de variables y constantes, entre otros. Analizaremos los operadores y expresiones del
lenguaje, así como las funciones de entrada y salida, las instrucciones de control, las estructuras repetitivas, la definición de funciones,
el procesamiento de arreglos y los punteros. Por último, estudiaremos los principios de las estructuras de datos y el manejo de
archivos en el computador.
2
IV. COMPETENCIAS:
1. Básicas
Habilidad Matemática.
Comunicación verbal, escrita y lectura comprensiva.
Creatividad e innovación.
Lectura y Comprensión del idioma inglés.
2. Genéricas:
Trabajo en Equipo.
Capacidad para identificar, plantear y resolver problemas.
Ética.
Capacidad de Análisis.
Adaptación a los cambios tecnológicos.
Curiosidad Científica.
Liderazgo.
Innovación y Creatividad.
3
3. Específicas:
Diseña programas en lenguajes de actualidad.
Comprende las características y posibilidades del lenguaje de programación utilizado.
Toma decisiones en cuanto a las posibles alternativas de solución existentes.
Desarrolla e implementa, de una forma eficaz y eficiente, programas informáticos en respuesta a situaciones
planteadas.
4
V. PROGRAMACIÓN ANALÍTICA
Módulo 1. Título: Conceptos básicos de los Lenguajes de Programación.
Duración (horas) Total: 24 Teóricas: 16 Prácticas: 0 Laboratorio: 8.
Competencias del Módulo:
1. Diseña programas en lenguajes de actualidad.
2. Comprende las características y posibilidades del lenguaje de programación utilizado.
SUBCOMPETENCIAS CONTENIDOS ESTRATEGIAS EVALUACIÓN
Investiga y comprende los 1.1. Introducción a los Lenguajes Presentación del contenido y Diagnóstica:
conceptos fundamentales de de Programación. metodología del curso. Se evalúa el nivel conceptual
la programación de Estructura. Lluvias de ideas y discusión de y práctico que tiene el
computadoras. Comentarios. expectativas del curso. estudiante en cuanto a
Distingue y emplea los Identificadores. programación.
Exploración de los conocimientos
conceptos de datos, tipos de Palabras Reservadas.
previos.
datos, constantes y variables. 1.2. Los Datos. Formativa:
Utiliza los operadores en la Tipos de Datos. Explicación del uso del lenguaje
de programación a utilizar. Evaluar el interés demostrado
programación de ejercicios Las Constantes.
por los estudiantes en el
prácticos propuestos. Las Variables. Presentación y ejemplificación de
desarrollo de las actividades
1.3. Los Operadores y las los temas.
Interactúa apropiadamente programadas.
Expresiones. Prácticas escritas de problemas.
con una herramienta de alto Participación en las
Operadores Aritméticos.
nivel, flexible y poderosa, para Desarrollo de problemas en el discusiones en el salón de
Incremento y Decremento.
el desarrollo de programas computador. clases, y en la resolución de
Operadores Relacionales.
estructurados. Descubrir lagunas conceptuales y
Operadores Lógicos. problemas en el tablero.
Efectúa talleres prácticos y Operadores de Asignación. cubrirlas.
aplica los conocimientos El Operador Condicional. Entrega de los problemas de Sumativa:
adquiridos. Prioridad de los operadores. laboratorio asignados. Evaluación de los trabajos
Presentar una síntesis de los prácticos (laboratorio).
problemas resueltos. Pruebas Parciales.
Aclarar dudas.
5
Módulo 2. Título: Funciones de Entrada/Salida y Estructuras de Control.
Duración (horas) Total: 18 Teóricas: 12 Prácticas: 0 Laboratorio: 6
Competencias del Módulo:
1. Diseña programas en lenguajes de actualidad.
2. Comprende las características y posibilidades del lenguaje de programación utilizado.
3. Toma decisiones en cuanto a las posibles alternativas de solución existentes.
SUBCOMPETENCIAS CONTENIDOS ESTRATEGIAS EVALUACIÓN
Domina las estructuras básicas Diagnóstica:
del lenguaje para la codificación 2.1 Sentencias de Exploración, mediante lluvia de ideas, Se evalúa el nivel de
de problemas de nivel básico. entrada / salida. de los conocimientos previos de los conocimientos que tiene el
estudiantes. estudiante en cuanto a la temática
2.2. Estructuras de control. del módulo.
Aplica las sentencias del Presentación y ejemplificación de los
lenguaje de programación, que temas. Formativa:
Sentencias
le permiten interactuar con el
usuario. Condicionales. Prácticas escritas de problemas. Evaluar el interés demostrado por
los estudiantes en el desarrollo de
Ciclos repetitivos. Desarrollo de problemas en el
las actividades programadas.
Utiliza las estructuras computador.
condicionales en la resolución Descubrir lagunas conceptuales y Participación en las discusiones en
de problemas propuestos. cubrirlas. el salón de clases, y en la
resolución de problemas en el
Entrega de los problemas de tablero.
Emplea las bondades de las
laboratorio asignados.
estructuras repetitivas o ciclos
Sumativa:
de repetición en los problemas Presentar una síntesis de los problemas
Evaluación de los trabajos
que debe resolver. resueltos.
prácticos (laboratorio).
Aclarar dudas. Aplicación de pruebas parciales de
Efectúa talleres prácticos y los temas tratados en el módulo.
aplica los conocimientos
adquiridos.
Módulo 3. Título: Funciones y Arreglos.
6
Duración (horas) Total: 24 Teóricas: 16 Prácticas: 0 Laboratorio: 8
Competencias del Módulo:
1. Diseña programas en lenguajes de actualidad.
2. Comprende las características y posibilidades del lenguaje de programación utilizado.
3. Toma decisiones en cuanto a las posibles alternativas de solución existentes.
SUBCOMPETENCIAS CONTENIDOS ESTRATEGIAS EVALUACIÓN
3.1. Funciones. Exploración, mediante lluvia de Diagnóstica:
Investiga acerca de los Definición de una Función. ideas, de los conocimientos Conversatorio (Interacción entre
previos de los estudiantes.
conceptos de Función y arreglo. Variables Locales y Variables docente y estudiantes).
Globales. Organización de grupos de
trabajo.
Analiza las características de Llamado de una Función. Formativa:
Prototipo de Funciones. Presentación y demostración de Evaluar el interés mostrado por los
las funciones y aplica estas en
los temas del módulo.
la resolución de problemas. Paso de argumentos a una estudiantes en el desarrollo de las
Función. Prácticas escritas de actividades programadas.
problemas.
Compara y maneja los distintos 3.2. Estructura de un programa. Intervención en las discusiones, y
Tipos de almacenamiento Desarrollo de problemas en el participación en la resolución de
tipos de arreglos. computador.
Auto, extern, static y register problemas en el tablero.
3.3. Arreglos. Descubrir lagunas conceptuales
Realiza talleres prácticos en los
y cubrirlas.
cuales aplica los conocimientos Definición de Arreglos. Sumativa:
Arreglos unidimensionales. Entrega de los problemas de Evaluación de los trabajos
adquiridos. laboratorio asignados.
Arreglos Bidimensionales. prácticos (laboratorio).
Seleccionar las ideas centrales Aplicación de pruebas parciales de
Paso de Arreglos a
de forma clara y precisa.
Funciones. los temas tratados en el módulo.
Manejo de Cadena de Aclarar dudas.
Caracteres.
Módulo 4. Título: Punteros y Estructuras.
Duración (horas) Total: 18 Teóricas: 12 Prácticas: 0 Laboratorio: 6
7
Competencias del Módulo:
1. Diseña programas en lenguajes de actualidad.
2. Comprende las características y posibilidades del lenguaje de programación utilizado.
3. Toma decisiones en cuanto a las posibles alternativas de solución existentes.
4. Desarrolla e implementa, de una forma eficaz y eficiente, programas informáticos en respuesta a situaciones planteadas.
SUBCOMPETENCIAS CONTENIDOS ESTRATEGIAS EVALUACIÓN
Exploración, mediante lluvia de Diagnóstica:
4.1. Punteros.
Investiga y analiza las ideas, de los conocimientos previos Se evalúa el nivel de
Definición. de los estudiantes. conocimientos que tiene el
características principales
Operadores. estudiante en cuanto a la
de los punteros y las Organización de grupos de trabajo.
Declaración de Punteros. temática del módulo.
estructuras de datos. Explicación de los temas y desarrollo Formativa:
Paso de Punteros a una
de programas (ejemplos) que
Función. Evaluar el interés mostrado por
manipulen punteros y estructuras.
Contrasta las diferentes Asignación dinámica de los estudiantes en el desarrollo
memoria. Prácticas, en el laboratorio, de de las actividades
instrucciones utilizadas. problemas de programación.
Operaciones con Punteros. programadas.
Punteros y Arreglos. Asignación de un proyecto de Intervención en las discusiones,
Experimenta y valora, en el programación el cual incluya todos y participación en la resolución
desarrollo de programas por los temas revisados.
4.2. Estructuras (Struct y de problemas en el tablero.
computadora, los punteros y typedef) Descubrir lagunas conceptuales y
Sumativa:
cubrirlas.
las estructuras de datos. Definición. Proyecto de Programación.
Declaración de variables. Revisión de los problemas de Aplicación de pruebas parciales
laboratorio asignados. de los temas tratados en el
Procesamiento de una
estructura. Seleccionar las ideas centrales de módulo.
forma clara y precisa.
Módulo 5. Título: Administración de Archivos.
Duración (horas) Total: 12 Teóricas: 8 Prácticas: 0 Laboratorio: 4.
8
Competencias del Módulo:
1. Diseña programas en lenguajes de actualidad.
2. Comprende las características y posibilidades del lenguaje de programación utilizado.
3. Desarrolla e implementa, de una forma eficaz y eficiente, programas informáticos en respuesta a situaciones planteadas.
SUBCOMPETENCIAS CONTENIDOS ESTRATEGIAS EVALUACIÓN
Exploración de los Diagnóstica:
5.1. Administración de Archivos.
Utiliza la característica para de conocimientos previos de Se evalúa el nivel de
almacenes de datos para Definición. los estudiantes. conocimientos que tiene el
estudiante en cuanto a la temática
reservar información para Denominación de archivos. Explicación y demostración
del módulo.
procesamientos futuros. Sentencia para abrir y cerrar de los temas del módulo.
Formativa:
archivos. Asignación de problemas a Evaluar el interés mostrado por
Escritura y lectura de resolver con el computador. los estudiantes en el desarrollo de
Archivos. las actividades programadas.
Descubrir lagunas
5.2. Creación de registros conceptuales y cubrirlas. Intervención en las discusiones, y
utilizando estructuras. participación en la resolución de
Revisión de los problemas
Abrir archivos tipo entrada problemas en el tablero.
de laboratorio asignados.
/salida. Sumativa:
Seleccionar las ideas
Entrega de los problemas de
centrales de forma clara y
laboratorio.
precisa.
CRITERIO Y PORCENTAJES DE EVALUACION (Sugerencias)
9
CRITERIOS DE EVALUACION PORCENTAJE
Exámenes parciales 30
Asignaciones cortas/ tareas 10
laboratorios 10
Semestral 30
Presentaciones/ trabajos 20
TOTAL 100%
10
VI. BIBLIOGRAFIA:
CAIRO, Osvaldo. 2006. Fundamentos de Programación, Piensa en C. Prentice-Hall.
CASTILLO SANZ, Andrés; JOYANES AGUILAR, Luis; SÁNCHEZ, Lucas; ZAHONERO, Ignacio. 2005. C, Algoritmos,
programación y estructuras de datos. Editorial Schaum.
GOTTFRIED, Byron S. 2005. Programación en C. McGraw-Hill, segunda Edición.
JOYANES AGUILAR, Luis; ZAHONERO, Ignacio. 2005. Programación en C. McGraw-Hill / Interamericana de España, S.A.
Segunda Edición.
JOYANES AGUILAR, Luis. 2008. Fundamentos de Programación. McGraw-Hill / Interamericana de España, S.A. Primera Edición.
Infografía
CABANES, Nacho. Fundamentos de Programación en C. Consultado el 1 de Agosto de 2011.
Disponible en: [Link]
OpenCourseWare. Fundamentos de Programación. Consultado el 2 de Agosto de 2011.
Disponible en: [Link]
contenidosteoricos/[Link]/view.
Programación en Java: Fundamentos de Programación y principios de diseño. Consultado el 1 de Agosto de 2011.
Disponible en: [Link]
11