Download PYTHON NIVEL II

Document related concepts
no text concepts found
Transcript
PYTHON NIVEL II
OBJETIVOS:
A lo largo del curso buscaremos desarrollar una de las habilidades más
importantes del profesional informático, su capacidad para resolver
problemas, partiendo por una formulación correcta, pensando la solución de
manera creativa, y expresando la misma con claridad y precisión.
En este sentido Python proporciona un equilibrio muy bueno entre lo
practico y lo conceptual, los principiantes pueden tomar el lenguaje y
empezar a hacer cosas interesantes casi de inmediato, sin perderse el los
problemas de compilación y enlazado.
Este enfoque práctico es una buena manera de captar la atención de los
estudiantes y permite que completen proyectos significativos. Sin embargo,
Python también puede sirve como una base excelente para aprender
conceptos importantes de informática. Los estudiantes pueden introducirse
gradualmente en temas como estructuras de datos, programación orientada
objetos o desarrollo de interfaces.
INTERÉS DETECTADO:
Python es un lenguaje que todo el mundo debería conocer. Su sintaxis
simple, clara y sencilla; su gran cantidad de librerías disponibles y la
potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en
Python sea sencillo, muy rápido y, lo que es más importante, divertido. Otra
característica importante es que el intérprete de Python está disponible en
multitud de plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac
OS, etc.).
Algunos casos de éxito en el uso de Python son Youtube, Google, Yahoo, la
NASA, y todas las distribuciones Linux, en las que Python cada vez
representa un tanto por ciento mayor de los programas disponibles.
TÍTULO QUE DEBEN POSEER LOS INSCRIPTOS:
Secundario Completo.
PROGRAMA:
Clase 1- “Clases y objetos I”
Características de la orientación a objetos
Tipos compuestos definidos por el usuario
Atributos
Instancias como parámetro
Instancias como valores de retorno
Clase 2 - “Clases y objetos II”
Los objetos son mudables
Copiado
Generalización
Argumentos opcionales
El método de inicialización
Clase 3 - “Clases y objetos III”
Sobrecarga de operadores
Herencia
Polimorfismo
Clase 4 - “Listas enlazadas”
Referencias incrustadas
Listas como colecciones
Listas y recursividad
Listas infinitas
Modificar listas
Clase 5 - “Pilas y Colas”
Tipos abstractos de datos
El TAD Pila
Como implementar pilas con listas de Python
Uso de push y pop
Usar una pila para evaluar postfijo
El TAD Cola
Cola Enlazada
Clase 6 - “Bases de datos I”
Conceptos básicos SQL
Instalación MySQL
Instalación SQLite
Clase 7 - “Bases de datos II”
DB API
Crear una conexión
Crear un cursor
Interactuar con la base de datos
Clase 8 - “Threads”
¿Qué son los procesos y los threads?
Threads en Python
Sincronización
Datos globales independientes
Compartir información
Serialización de objetos
Clase 9 - “Diseñar una interfaz de usuario con Glade 3”
Descripción GTK
Introducción a Glade3
Familiarizarse con la interfaz de Glade
La manipulación de las propiedades Widget
Especificar funciones de devolución de llamada para las señales
Agregar widgets en el GtkWindow
Edición del menú (o barra de herramientas)
Clase 10- “GTK + Phyton”
Configuración del entorno de desarrollo
GtkBuilder y LibGlade
La aplicación mínima
Ejecutar la aplicación
Paso a paso por el Código
Agregar funcionalidad al proyecto
Clase 11- “Módulos”
NumPy
Mathplotlib
Open Street Map
OS
Sys
urllib
Clase 12 - “Proyecto Integrador I”
Planteo del Problema
Desarrollo de la aplicación
Clase 13 - “Proyecto Integrador II”
Desarrollo de la aplicación
Clase 14 - “Documentar, Probar y Distribuir”
Docstrings
Pydoc
Epydoc y reStructuredTex
Doctest
Unittest / PyUnit
Distutils
Setuptools
Generar ejecutables
DOCENTE A CARGO DEL CURSO:
Marcos Pablo Russo
Mauricio Roberto Dávila