Skip to content

fegonzalez7/poo_unal_clase1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 

Repository files navigation

Programación Orientada a Objetos - UNAL

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.

Información del curso

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

Objetivos del curso

Oficiales

  1. Comprender y Aplicar los Principios Fundamentales de la POO.
  2. Desarrollar Habilidades de Pensamiento Analítico para el Diseño de Software.
  3. Resolver Problemas Complejos mediante la Implementación de Patrones de Diseño y Principios de POO.

No oficiales

  1. Abstraer problemas y proponer soluciones basadas en POO usando algoritmos codificados.
  2. Utilizar herramientas útiles en el entorno de la programación (GitHub, VS Code, Slack, Terminal)
  3. Potenciar habilidades técnicas y suaves.
  4. Aprender lecciones que van más allá de la clase.

Metodología del curso

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.

Evaluación

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 del curso

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.

Código de honor

"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.

Bibliografía y recursos

  • 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

Herramientas

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published