Programa de Cursada de Back-End: Python

  • Secundario completo.
  • Manejo de idioma inglés (básico).
  • Comprensión de matemática (aritmética básica, lógica).

Programación en Python

Herramientas de Programación:

  • Editores de texto
  • Sistemas de gestión de versiones: GIT
  • Presentación de tecnología: PYTHON

Conceptos Básicos:

  • Darle instrucciones a la máquina usando Python
  • Devolver un resultado
  • Una instrucción un poco más compleja: el ciclo definido
  • Construir programas y módulos
  • La forma de un programa Python
  • Estado y computación
  • Depuración de programas

Programas Sencillos

  • Construcción de programas
  • Realizando un programa sencillo
  • Piezas de un programa Python
  • Instrucciones
  • Ciclos definidos
  • Una guía para el diseño

Funciones

  • Documentación de funciones
  • Imprimir versus Devolver
  • Cómo usar una función en un programa
  • Más sobre los resultados de las funciones
  • Devolver múltiples resultados

Decisiones

  • Expresiones booleanas
  • Comparaciones simples
  • Múltiples decisiones consecutivas

Ciclos

  • Ciclos indefinidos
  • Ciclo interactivo
  • Ciclo con centinela
  • Cómo romper un ciclo

Cadenas de Caracteres

  • Operaciones con cadenas
  • Segmentos de cadenas
  • Las cadenas son inmutables
  • Procesamiento sencillo de cadenas

Tuplas y Listas

  • Tuplas
  • Listas
  • Ordenar listas
  • Listas y cadenas

Algoritmos de Búsquedas

  • Búsqueda lineal
  • Buscar sobre una lista ordenada
  • Búsqueda binaria

Diccionarios

  • Que es un diccionario
  • Utilizando diccionarios en Python

Contratos y Mutabilidad

  • Pre y Postcondiciones
  • Invariantes de ciclo
  • Mutabilidad e Inmutabilidad

Manejo de Archivos

  • Cerrar un archivo
  • Ejemplo de procesamiento de archivos
  • Modo de apertura de los archivos
  • Escribir en un archivo
  • Agregar información a un archivo
  • Manipular un archivo en forma binaria
  • Persistencia de datos
  • Directorios

Manejo de Errores y Excepciones

  • Excepciones
  • Validaciones

Procesamiento de Archivos

  • Corte de control
  • Apareo

Objetos

  • Tipos
  • Qué es un objeto
  • Definiendo nuevos tipos
  • Métodos especiales
  • Creando clases más complejas

Polimorfismo, Herencia y Delegación

  • Polimorfismo
  • Herencia
  • Delegación

Introducción a las Bases de Datos

Presentación de tecnología: MySQL

Bases de datos relacionales: Modelo Entidad Relación

Conceptos Básicos

  • Entidades
  • Relaciones
  • Ejemplares
  • Atributos
  • Cardinalidad
  • Restricciones relacionales
  • Restricciones semánticas

Lenguage SQL

  • DDL y DML
  • Consultas a múltiples tablas
  • Ordenamiento y agrupamiento
  • Vistas

Servicios Web con Django

  • Estructura
  • ORM
  • Views
  • Middleware
  • Cache
  • Django Rest FrameWork / GraphQL
  • Tests
  • Deploy

96 hs netas de cursada, distribuidas en 2 clases semanales de 3hs cada una durante un período de 4 meses.

2 Evaluaciones parciales (clase 16 y clase 32). Evaluación final. Presentación y defensa de trabajo práctico final (fuera del período de cursada).