UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA DE SISTEMAS E INDUSTRIAL
Programación Orientada a Objetos - 2016375
Descripción del curso
Objetivos
● Afianzar los conceptos de programación estructurada vistos en el curso de
programación de computadores
● Entender los conceptos básicos y saber utilizar las técnicas fundamentales de la
programación orientada a objetos.
● Dominar un lenguaje de programación orientado a objetos y todas las herramientas
que conformen su entorno de programación
● Practicar técnicas de desarrollo de software, en el entorno de la construcción de
sistemas de software pequeños
Metodología
● Los conceptos fundamentales de cada tema del curso se presentan y se aclaran en
clase.
● Sobre cada tema principal estudiado se proponen ejercicios de programación y
escritos que los estudiantes deben trabajar por su cuenta. Estos ejercicios sirven
para aplicar los conceptos estudiados.
● En la segunda parte del curso los estudiantes formaran grupos de trabajo para
abordar el desarrollo de un proyecto completo en el cual deben aplicar todos los
conocimientos que aporta el curso.
● Se harán algunas evaluaciones individuales, escritas o prácticas, en las cuales los
estudiantes deben mostrar un buen dominio de los conocimientos y habilidades que
el curso pretende desarrollar.
Contenido
El curso comprenderá el desarrollo de los siguientes temas:
1. Revisión de los conceptos principales de la programación estructurada
1. Estructuras de control
2. Estructuras de datos básicas: arreglos, matrices, registros
3. Descomposición modular: procedimientos y funciones
4. Mecanismos de paso de parámetros
5. Documentación de subprogramas
2. Memoria dinámica
1. Memoria dinámica vrs. Memoria estática
2. Apuntadores: definición, creación, declaración, inicialización y utilización
3. Registros y apuntadores
4. Arreglos y apuntadores
3. Introducción a la ingeniería de software.
1. Las diferencias entre desarrollo de pequeños programas y el desarrollo de un
sistema de software de gran tamaño
2. Ciclo de vida de un proyecto de software
3. Características de calidad asociadas a los proyectos de software
4. Motivación y desarrollo de enfoque orientado a objetos.
4. Tecnología de objetos
1. Conceptos básicos de POO: objeto, clase, método, mensaje, herencia,
polimorfismo, sobrecarga, encadenamiento dinámico
2. Características de calidad asociadas al paradigma OO: simplicidad,
encapsulamiento, reutilización, portabilidad, facilidad de mantenimiento.
3. Introducción a las metodologías de análisis y diseño orientado a objetos: el
proceso de modelado O.O, casos de uso, diagrama de clases.
Evaluación
● Parcial 1 20%
● Parcial 2 20%
● Proyecto 30%
● Tareas/quices 15%
● laboratorios 15%
Itinerario
WEEK DATE TOPIC READINGS PAGES
1 Clase 1 Course presentation This syllabus
Clase 2 Java basics [BAR05] Chapter 1 12
2 Clase 1 Java basics [BAR05] Chapter 2 50
Clase 2 Abstraction and modeling [BAR05] Chapter 2
3 Clase 1 Semana Santa
Clase 2 Semana Santa
4 Clase 1 Objects & Classes [BAR05] Chapter 3 28
Clase 2 Objects & Classes [BAR05] Chapter 3
5 Clase 1 Objects interaction [BAR05] Chapter 4 70
Clase 2 Objects interaction [BAR05] Chapter 4
8 Clase 1 Mock exam
Clase 2 First Exam
6 Clase 1 Relationships between objects [BAR05] Chapter 5 45
Clase 2 Relationships between objects [BAR05] Chapter 5
7 Clase 1 Collections [BAR05] Chapter 6 59
Clase 2 Collections [BAR05] Chapter 6
9 Clase 1 Additional object concepts [BAR05] Chapter 7 56
Clase 2 Additional object concepts [BAR05] Chapter 7
10 Clase 1 DAL: Object serialization and text files [Sie05] Chapter 14 38
Clase 2 DAL: Object serialization and text files [Sie05] Chapter 14 38
11 Clase 1 Second Exam
Clase 2 Second Exam
12 Clase 1 Threads [Nie13] Chapter 9 55
Clase 2 Threads [Nie13] Chapter 9
13 Clase 1 GUI: Basic concepts [Nie13] Chapter 16 37
Clase 2 GUI: Basic concepts [Nie13] Chapter 16.
14 Clase 1 GUI: Basic Swing components [Nie13] Chapter 17 37
Clase 2 GUI: Basic Swing components [Nie13] Chapter 17
15 Clase 1 GUI: Advanced Swing components
Clase 2 GUI: Layout managers [Nie13] Chapter 18 40
11 Clase 1 Third Exam
Clase 2 Third Exam
16 Clase 1 Sockets [Nie13] Chapter 18
Clase 2 Sockets [Nie13] Chapter 19 27
17 Clase 1 Project presentations
Clase 2 Project presentations
Reglas internas
● Llegar a clase a tiempo.
● Evitar interrupciones, los teléfonos celulares o cualquier elemento distractor debe estar
apagado.
● Los computadores deben ser utilizados únicamente para los propósitos de clase.
● Seguimiento al proyecto o tareas por parte de los miembros del grupo.
Bibliografía
● [BAR05] Barker J., Beginning Java Objects: From Concepts to Code, 2nd Edition. Apress,
2005.
● [NIE13] Niemeyer P., Leuck D., Learning Java, 4th Edition. O’Reilly, 2013.
● [Sie05] Sierra K., and Bates, B. Head First Java, 2nd Edition, O'Reilly Media, 2005.