1. UNIVERSIDAD DE PANAMÁ
FACULTAD DE INFORMATICA ELECTRONICA Y COMUNICACIONES
DEPARTAMENTO DE INFORMATICA
INF-200 Programación I
PLANIFICACIÓN PARA EL PROGRAMA SEMESTRAL
(SÍLABO ESTUDIANTIL)
Facilitador(a): Marta Cecilia Quintero
DATOS DE LA ASIGNATURA
Total de horas: 5
Horas teóricas: 2
Horas de laboratorio/prácticas/talleres: 3
II. Justificación
El fundamento de la tecnología computacional son los algoritmos. En cualquier programa de estudio
a nivel de Licenciatura, en lo que a tecnología computacional se refiere, es relevante y fundamental
el estudio de técnicas de diseño de algoritmos, y el aprendizaje de los fundamentos de la
programación de computadores. Esta es la base de la programación de sistemas informáticos..
III. Descripción
En esta asignatura se incursiona en los fundamentos y conceptos básicos relativos a la
programación de computadores. Esta es la primera asignatura de una de las áreas fundamentales de
formación, la programación de computadoras, por lo que el dominio de las técnicas y estrategias de
diseño de algoritmos con las instrucciones fundamentales es decisivo para el éxito en las siguientes
asignaturas relativas a la programación.
Las asignatura se divide en cinco módulos:
Módulo 1: Se definen la base conceptual de la programación de computadoras, a saber, lenguaje de
programación, programa, algoritmo, evolución de los lenguajes de programación.
Módulo 2: Se describe la metodología de diseño de algoritmos, se enfatiza en las fases de análisis y
diseño de un algoritmo hasta llegar a la fase de compilación, ejecución y mantenimiento. Se escriben
y evalúan expresiones aritméticas y lógicas. Se realizan análisis de entrada, proceso y salida de
algoritmos. Se realizan pruebas de escritorio de algoritmos.
Módulo 3: Como técnicas de diseño de algoritmo se emplean pseudocódigo y diagramas de flujo,
estos diseños se asocian con las instrucciones fundamentales de un lenguaje de programación (leer,
escribir, asignar, selección). Se diseñan algoritmos con las instrucciones de entrada, salida,
asignación y transferencia condicional.
Módulo 4: Se introduce un lenguaje de alto nivel estructurado, se examina la sintaxis de las
instrucciones fundamentales y se codifican programas.
Módulo 5: Se diseñan algoritmos con ciclos de repetición, y se codifican en el lenguaje utilizado. Se
desarrollan actividades de análisis, diseño, codificación y documentación de algoritmos utilizando
todas las instrucciones fundamentales.
El enfoque metodológico se basa en la resolución guiada de problemas, la exposición dialogada y el
desarrollo de proyectos. Es importante la participación activa del estudiante en la resolución de
problemas, con la orientación a la par del docente.
2. IV. Objetivos Generales
Conocer los conceptos relacionados con el procesamiento de datos y la programación de
computadoras. Construir algoritmos usando las variables simples como estructura de datos y las
instrucciones fundamentales (entrada, salida, asignación, transferencia condicional y repetición) de
un lenguaje de programación imperativo-estructurado. Desarrollar destrezas de programación
eficiente, con códigos legibles y documentados, utilizando las instrucciones fundamentales de un
lenguaje de programación imperativo-estructurado.
VI. Enfoque Metodológico
De manera general, la metodología se basa en la participación activa del estudiante, mediante
lectura comprensiva, prácticas individuales y grupales dentro y fuera del aula, laboratorios y
proyectos de programación grupales.
Los estudiantes realizan investigación del léxico relativo a la programación de computadoras,
preparan informe de síntesis mediante mapas conceptuales, cuadro sinóptico, hipertextos.
Mediante prácticas en el aula se ejercitan en la evaluación y escritura de expresiones aritméticas,
relacionales y lógicas, considerando la prioridad de los operadores y el uso de variables.
Mediante exposición dialogada se presenta la metodología y técnicas de diseño de algoritmos, así
como las instrucciones fundamentales. En atención a los conocimientos previos, se establece la
relación de entrada, proceso, salida de un algoritmo con la identificación de datos, operación,
respuesta en la solución de problemas aritméticos sencillos. Para ello se plantean problemas de
aplicación con datos constantes, luego los mismos problemas se reescriben con datos variables, y
finalmente se identifican la salida, proceso y entrada del algoritmo.
El diseño de algoritmos se desarrolla en dos etapas: en la primera se resuelven problemas con
instrucciones de entrada, asignación, salida, transferencia condicional; se realizan tareas de
codificación; y finalmente se resuelven problemas con instrucciones de repetición con su respectiva
codificación. Aplicar la prueba de escritorio para validar los algoritmos diseñados. Realizar en el
laboratorio demostraciones de codificación, compilación y depuración de programas.
Les recursos son apuntes de clases, guías de problemas resueltos y por resolver, sitios web con
información complementaria.
VII. Enfoque Evaluativo
La evaluación se basa en la demostración de las capacidades demostradas de análisis, diseño e
implementación de algoritmos. Se llevan a cabo actividades de evaluación diagnóstica con el objetivo
de determinar el dominio de prerrequisitos: operaciones aritméticas en los diferentes conjuntos
numéricos y la aplicación de estrategias en la resolución de problemas de aplicación.
Durante el desarrollo de la asignatura es muy
importante la evaluación formativa con miras a
determinar el avance en el dominio de la lógica de
programación. La evaluación sumativa se lleva a cabo
mediante la aplicación de pruebas parciales
individuales, laboratorios y proyectos de programación
grupales, y una prueba semestral individual.
La estrategia de evaluación sumativa sugerida es la
siguiente:
Criterio Porcentaje
Laboratorios 20%
Practicas 10%
Tareas 10%
Parciales 25%
Semestral 30%
Asistencia 5%
3. VIII. Competencia
Básicas
Identifica el rol de cada uno de los componentes de un sistema de cómputo en el
procesamiento de datos.
Establece la relación entre los diferentes conceptos involucrados en la programación de
computadoras.
Analiza la evolución de los lenguajes de programación, según los diferentes criterios de
clasificación.
Emplea una aproximación disciplinada a la especificación, implementación, verificación y
documentación de programas.
Genéricas
Aplica el orden de prioridad de los operadores en la evaluación y escritura de expresiones
aritméticas y lógicas.
Deduce la entrada, proceso y salida de un algoritmo, a partir del enunciado del problema a
resolver.
Aplica la prueba de escritorio para identificar el objetivo de un algoritmo así como para
interpretar sus resultados.
Demuestra destrezas de programación eficiente, con códigos legibles y documentados,
utilizando variables, las instrucciones fundamentales (entrada/salida/asignación/transferencia
condicional, repetición simple y anidada) y un lenguaje de programación imperativo-estructurado.
Específicas
Desarrolla estrategias de estudio independiente para resolver problemas de aplicación
mediante algoritmos computacionales.
Desarrolla habilidades de pensamiento lógico estructurado necesarios para el análisis, diseño
y desarrollo de sistemas computacionales.
Adquiere destrezas para analizar problemas de diferentes campos de aplicación, y diseña
algoritmos computacionales para su procesamiento.
No
.
SEMANAS
PRIMERA SESIÓN SEGUNDA SESIÓN
1
13 DE AGOSTO
Presentación del curso, sistema de
evaluación, metodología de trabajo y
portafolio del estudiante.
15 DE AGOSTO
Repaso de conocimientos previos
2
20 de AGOSTO
Conceptos generales de Programación
Investiga sobre el tema
22 DE AGOSTO
Discusión de conceptos y elaboración de
mapa conceptual del tema.
3
27 DE AGOSTO
Evolución de los lenguajes de
programación, Generaciones, investiga
y confecciona PPT para exponer
siguiente clase
29 DE AGOSTO
Sustentación de trabajos
4
3 de septiembre
Algoritmos (diagramas de Flujo)
Simbología (ejemplos)
5 de septiembre
Tipos de Datos, variable, constante
identificador y operadores.
4. 5
10 de septiembre
Parcial Nº 1
12 de septiembre
Seudocódigos con Pseint
Practicas Nº 1
6
17 de septiembre
Estructura secuencial
Practica Nº 2
19 de septiembre
Laboratorio Nº 1
7
24 de septiembre
Estructura selectiva simple.
Practica Nº 3
26 de septiembre
Laboratorio Nº 2
8
1 de septiembre
Estructura selectiva doble
Practica Nº 4
3 de octubre
Laboratorio Nº 3
9
8 de octubre
Estructura selectiva múltiple
Practica Nº 5
10 de octubre
LABORATORIO Nº 4
10
15 de octubre
Practica general de todas las
estructuras dadas
17 de octubre
PARCIAL Nº 1 LABORATORIO.
11
22 de octubre
Estructuras repetitivas
Practica Nº 6
24 octubre
Laboratorio Nº 5
12
29 de octubre
Contadores Practica Nº 7
31 DE octubre
Laboratorio Nº 6
13
5 de Noviembre
Libre
7 de noviembre
Parcial Nº 3 (Laboratorio)
14
12 de noviembre
Acumuladores Practica Nº 8
14 de noviembre
Laboratorio Nº 7
15
19 de noviembre
REPASO GENERAL DE CONTADORES
ACUMULADORES ESTRUCTURAS
REPETITIVAS
21 de noviembre
Laboratorio Nº 8 (TODO)
16
26 de noviembre
Estudiantes que deben prácticas,
parciales escritos y Laboratorios
28 noviembre
Libre
5. BIBLIOGRAFÍA
1. ALCALDE, Eduardo y GARCÍA,
Miguel
Metodología de la Programación. México: Editorial McGraw-Hill,
1992.
2. APPLEBY, Doris y VANDEKOPPLE,
Julios J.
Lenguajes de Programación: Paradigma y Práctica. México:
Editorial McGraw-Hill, 1998.
3. BERZAL, Fernando
Home Page: Curso de Programación en Java. [Fecha de consulta: 01
febrero 09]. Disponible en: http://elvex.ugr.es/
4. CORDERO, J.M. [et al]
Introducción a la programación: Un enfoque práctico.
Algaida, 1996.
5. GOTTFRIED, Byron
Programación en C. Editorial Mc Graw Hill, México 1995.
6. JOYANES, Luis
Fundamentos de programación. México: Editorial McGraw Hill.
7. JOYANES, Luis
Programación en Turbo Pascal Versiones 5.5, 6.0 y 7.0. Segunda
edición. México: Editorial McGraw Hill, 1993.
8. JOYANES, Luis.
Problemas de Metodología de la Programación. Editorial McGraw
Hill. México, 1990.
9. LÉVÉNEZ, Eric
Eric Lévénez’s Site: Computer Languages History. (on-line).
[actualizado: 22 dic 2007]. [Fecha de consulta: 19 abr 2008].
Disponible en: http://www.levenez.com/lang/
10. MARZAL, Andrés y GARCÍA, Isabel
Introducción a la Programación con Python. Disponible en:
http://marmota.act.uji.es/MTP/pdf/python.pdf Consultado [ago-08]
11. NORTON, Peter
Introducción a la computación. Tercera Edición. México: Editorial
McGraw-Hill, 1999.
12. NÚÑEZ, Giannina
“Introducción a la Programación”. Apuntes de clases. Universidad de
Panamá, Centro Regional Universitario de Veraguas, Santiago de
Veraguas, 2009.
13. PYTHON Org
Python Programming Language: Official WebSite [en línea]. [Fecha
de consulta: 12 agosto 08]. Disponible en: http://www.python.org/
14. UNIVERSIDAD Técnica Particular de
Loja.
Metodología de la Programación I [en línea]. Ecuador: Escuela de
Ciencias de la Computación. [Actualizado: 03 abril
2009][Consultado: 01 octubre de 2009] Disponible en:
http://www.utpl.edu.ec/ecc/wiki/index.php/Metodolog%C3%ADa_de
_la_Programaci%C3%B3n_I
15. WILSON, Leslie y CLARK, Robert
Comparative Programming Languages. Tercera Edición. England:
Addison-Wesley, 2001.