Bienvenidos (de nuevo) al emocionante mundo de la programación... Esta vez para hacer cosas más interesantes... Como abstraer el mundo en unos cuantos bytes.
Nombre de la asignatura: Programación Orientada a Objetos
Código: 2016375
Nivel: Pregrado
Sede: Bogotá
Facultad: Ingeniería
Unidad que ofrece la asignatura: Departamento de Ingeniería de Sistemas e Industrial
Línea de profundización: Programación de Computadores
Tipo de curso: Práctica
Docente: Felipe Gonzalez Roldan
Correo: fegonzalezro@unal.edu.co
Slack del curso: Link para unirse
- Comprender y Aplicar los Principios Fundamentales de la POO.
- Desarrollar Habilidades de Pensamiento Analítico para el Diseño de Software.
- Resolver Problemas Complejos mediante la Implementación de Patrones de Diseño y Principios de POO.
- Abstraer problemas y proponer soluciones basadas en POO usando algoritmos codificados.
- Utilizar herramientas útiles en el entorno de la programación (GitHub, VS Code, Slack, Terminal)
- Potenciar habilidades técnicas y suaves.
- Aprender lecciones que van más allá de la clase.
Disclaimer: En este curso se fortalecerá el pensamiento lógico, la resolución de problemas y el enfoque de programación del mundo real.
Desarrollar soluciones lógicas puede ser algo intrínseco de cada persona o se puede aprender, pero como todo, es un proceso que lleva tiempo y esfuerzo. Este curso está estructurado de tal manera que provee una guía y facilita material para que el desarrollo de ciertas habilidades pueda darse de forma armónica; sin embargo, no reemplaza el auto-aprendizaje ni el trabajo propio.
La información del curso se proporcionará mediante presentaciones o mediante repositorios, la exposición de esta información se dará en horario de clase y estará disponible para consulta posterior (en la mayoría de casos, para consulta previa también). El desarrollo de ejercicios prácticos se hará mediante retos, el conocimiento individual se evaluará mediante exámenes conjuntos y las habilidades generales serán puestas a prueba mediante un proyecto.
Tipo | % | Detalle |
---|---|---|
Exámenes | 25 | Exámenes - 1er (10%) semana 9*, Final (15%) semana 15 |
Proyecto | 40 | avance (15%) semana 11, entrega final (25%) semana 16* - grupal |
Retos | 35 | Retos, preguntas, etc. |
- Individual: Se desarrolla y se entrega de forma unipersonal.
- Grupal: Se "desarrolla" y entrega de forma grupal. Para el curso se sugieren ternas. - NO es obligatorio trabajar de forma grupal, si desea trabajar solo o en parejas es aceptable, pero parte de los objetivos del curso es promover el trabajo en equipo, de modo que se recomienda hacerlo. Soy buen sacerdote (acepto uniones) pero mal abogado (pero no divorcios).
- *: Fechas tentativas.
Contenido detallado
Semana | No | Fecha | Tema | Enlace de interés |
---|---|---|---|---|
Semana | 1 | 05/02/2024 | Intro al curso | Clase 1 |
Semana | 1 | 07/02/2024 | Herramientas | Clase 2 |
Semana | 2 | 12/02/2024 | Conceptos de programación estructurada 1 | Clase 3 |
Semana | 2 | 14/02/2024 | Conceptos de programación estructurada 2 | Clase 4 |
Semana | 3 | 19/02/2024 | Objetos y clases | Clase 5 |
Semana | 3 | 21/02/2024 | Objetos y clases (en Python) | Clase 6 |
Semana | 4 | 26/02/2024 | Abstracción y Herencia | Clase 7 |
Semana | 4 | 28/02/2024 | Herencia vs Composición | Clase 8 |
Semana | 5 | 04/03/2024 | Encapsulamiento | Clase 9 |
Semana | 5 | 06/03/2024 | Polimorfismo | Clase 10 |
Semana | 6 | 11/03/2024 | Sesión de práctica | |
Semana | 6 | 13/03/2024 | Sesión de práctica | |
Semana | 7 | 18/03/2024 | Módulos y paquetes | Clase 11 Modulos y Paquetes - Intro Ikigai, charla motivacional |
Semana | 7 | 20/03/2024 | Intro proyecto | |
Semana | 8 | 25/03/2024 | Semana Santa | |
Semana | 8 | 25/03/2024 | Semana Santa | |
Semana | 9 | 01/04/2024 | Examen 1 | |
Semana | 9 | 03/04/2024 | Manejo de excepciones | Clase 12 Excepciones |
Semana | 10 | 08/04/2024 | Estructuras de datos | Clase 13 pt.1 Estructuras de datos en python pt.1 |
Semana | 10 | 10/04/2024 | Filas (Queues) | Clase 13 pt.2 Estructuras de datos en python pt.2 |
Semana | 11 | 15/04/2024 | Iteradores | Clase 14 |
Semana | 11 | 17/04/2024 | Generadores | |
Semana | 12 | 22/04/2024 | Avance de proyecto | |
Semana | 12 | 24/04/2024 | Avance de proyecto | |
Semana | 13 | 29/04/2024 | Decoradores | |
Semana | 13 | 01/05/2024 | Festivo | |
Semana | 14 | 06/05/2025 | Strings y expresiones regulares | |
Semana | 14 | 08/05/2025 | Testing | |
Semana | 15 | 13/05/2024 | Festivo | |
Semana | 15 | 15/05/2024 | Concurrencia y asincronismo | |
Semana | 16 | 20/05/2024 | Examen Final | |
Semana | 17 | 27/05/2025 | Entrega final proyecto | |
Semana | 17 | 29/05/2025 | Entrega final proyecto |
Disclaimer: Cualquier modificación se informará oportunamente
P.D. Para más detalle revisar el calendario académico.
"Siempre parece imposible hasta que se hace." Nelson Mandela
-
Como es bien sabido en la red existen innumerables fuentes de información y recursos disponibles, el "cómo" se usa esa información es lo verdaderamente relevante. En este curso se insta a que se intente, se pruebe, pero sobre todo se aprenda. Que el curso no se vuelva un
ctrl + c
+ctrl + v
. -
Autoría de código... Es difícil hablar de eso, la reutilización está bien siempre y cuando se comprenda cómo funcionan las cosas.
-
Nuevo: Uso de herramientas de IA. En este curso en cierto punto se mostrará cómo utilizar copilot para mejorar sustancialmente la productividad al codificar.
- Python 3 Object Oriented Programming - Dusty Phillips - Libro Guía
- Automate the Boring Stuff with Python - Al Sweigart (Part 2) - good source for project ideas
- Python Crash Course - Eric Matthes (Chaps 9 to 11, also Part II)
- Learning Python - (Part V to VI) - This book could be overwhelming, so it should not be the first option
- Donde se encuentra la mayoría de cosas
- El mejor blog de code
- Disposición para aprender.
- Computador (personal, salón de clase, pc's de la universidad).
- Sistemas operativos: Windows 😑, Linux 👽, OSX 💰
- Editor de texto -> Aunque de preferencia un IDE
- Acceso a compilador/intérprete.
- Acceso a internet.