Programa de Curso IPC01-SEMESTRE1-2022
Programa de Curso IPC01-SEMESTRE1-2022
Programa de Curso IPC01-SEMESTRE1-2022
FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS
OBJETIVOS:
General
• Adquirir, por parte del estudiante, la destreza de analizar, diseñar y codificar software de alta
calidad independientemente de la plataforma y lenguaje de programación fundamentado en
los conocimientos básicos de la programación utilizando el Paradigma Orientado a Objetos.
Específico
1. Integrar al estudiante a la tecnología de la computación.
2. Conocer las diferentes metodologías de software.
3. Analizar los problemas bajo la perspectiva de Programación Orientada a Objetos.
4. Diseñar soluciones elegantes basadas en el entendimiento de proceso de Análisis
5. Organizar soluciones utilizando un lenguaje de programación oficial y complementario.
METODOLOGÍA:
• Clases Virtuales, Martes y Jueves, usando Meet-Usac con apoyo de la plataforma UEDI.
• Elaboración de investigaciones y tareas.
• Práctica de exámenes cortos y parciales.
• Laboratorio y talleres.
• Elaboración de proyectos de programación
• Elaboración de prácticas cortas de programación
• Cursos complementarios extra aula
EVALUACION DEL RENDIMIENTO ACADÉMICO:
Clase teórica (70 puntos) Clase práctica (30 puntos)
Descripción Pts. Descripción Pts.
Tareas, Cortos y Asistencia 5 Tareas 10
Primer parcial 17/02 12 Prácticas 20
Segundo parcial 17/03 13 Proyectos 40
Tercer parcial 21/04 15 Exámenes cortos 20
Laboratorio 30
Zona total 75 Zona total 90
Examen Final 25 Examen Final 10
Total 100 Total 100
El curso se gana con 61 pts. de 100. El laboratorio de gana con 61 pts. de 100.
CONTENIDO:
1. Algoritmos, Pseudocódigo y Diagramas de Flujos
1.1. Definición de Algoritmos
1.1.1.Conceptos de algoritmo
1.1.2.Análisis y comprensión de un problema
1.1.3.Programas y paradigmas de programación y lenguajes
1.1.4.Transformación de un programa
1.2. Nociones básicas: variables, tipos y expresiones
1.3. Estructura general del pseudocódigo
1.4. Estructuras componentes del Pseudocódigo
1.5. Uso de arreglos
1.6. Funciones y procedimientos
1.7. Ciclos
1.8. Diagramas de Flujos
2. Conceptos Computacionales
2.1. Concepto de Computadora
2.2. Arquitectura/Organización física del Computadora
2.2.1.Dispositivos E/S , Memoria principal, Procesador
2.3. Unidades de medida de memoria
2.4. Sugerencia de arquitectura del computadora para programar
2.5. Representación de la información en las computadoras
2.5.1.Representación de textos
2.5.2.Representación de valores numéricos
2.5.3.Representación de imágenes
2.5.4.Representación de sonidos
2.6. Codificación de la información
2.6.1.Decimal, Binario, Octal Hexadecimal
2.7. Ciclo Clásico de vida del SW
3. Fundamentos de Programación
3.1. Paradigmas de Programación
3.2. Lenguajes de desarrollo y evolución generacional
3.3. Elementos del lenguaje
3.3.1.Identificadores, Comentarios, tipos de datos, Constantes
3.3.2.Operadores, Prioridad de Operadores
3.3.3.Palabras reservadas
3.3.4.Bibliotecas de funciones
3.4. Datos Nativos, Condiciones, Ciclos y Procedimientos, Funciones
3.5. Recursividad
3.6. Manipulación de Vectores, Cadenas
3.6.1.Conceptos
3.6.2.Cadenas de caracteres
3.6.3.Operaciones
3.6.3.1. Búsqueda Secuencial y Binaria
3.6.3.2. Ordenamiento
3.6.3.2.1. Burbuja
3.6.3.2.2. Inserción
3.6.3.2.3. Selección
3.6.3.2.4. Quick Sort y Shell Sort
3.7. Manejo de Archivos
3.7.1.Jerarquía de datos
3.7.2.Streams
3.7.3.Tipos de Archivos
3.7.4.Operaciones sobre archivos
3.7.4.1. Creación
3.7.4.2. Consulta
3.7.4.3. Actualización
3.8. Debugging
3.8.1.Principios de Debbug
3.8.1.1. Principio de Confirmación
3.8.1.2. Start Small
3.8.1.3. Enfoque Top Down
3.8.1.4. Ubicación de la falla del segmento
3.8.1.5. Determinando el loop infinito
3.8.1.6. Busqueda Binaria
3.8.2.Operaciones Principales
3.8.2.1. Breakpoints
3.8.2.2. Single-Stepping
3.8.2.3. Resume Operation
3.8.2.4. Temporary Breakpoints
BIBLIOGRAFÍA:
• JOYANES, L. y ZAHONERO, I. “Programación en Java 2 (algoritmos, estructura de datos y
programación orientada a objetos)”. España, McGraw-Hill / Interamericana de España, S. A.
2002, PP 725
• JOYANES, L. “Programación en Tubo Pascal Versiones 5.5, 6.0, y 7.0”, (2da Edición), México,
McGraw-Hill / Interamericana de España, S. A. 1995, PP. 914
• Deitel & Deitel. “Cómo Programar en Java” (7ma Edición), México, Prentice Hall 2008, PP.
1280
• McLaughlin, B.; Pollice, G. y West, D. “Head First Object-Oriented Analysis & Design”, EUA,
O’Reilly Media 2006, PP. 636
• Freeman, E.; Robson, E.; Bates, B. y Sierra, K. “Head First Design Patterns”, EUA, O’Reilly
• Mihaela Juganaru Mathieu, Introducción a la programación
• David Evans, Introduction to computing
• Jesus Fernandez-Pablo Guerron, David Zarruck, University of Pennsilvania
• Matloff Norman-Jay Peter, The art of Debugging
• OWASP Secure Coding Practices, Quick Reference Guide
• Media 2004, PP. 694
• Manuales de Referencia de Java, <http://www.sun.com/java>.
• Cualquier otro material (escrito o digital) entregado en clase.