Curso de python en JoeDayz

Estamos trabajando con el equipo de kodevian en este primer curso de python en nuestra empresa.

Vamos a invertir para traer material para esta nueva academia.

El primer módulo esta siendo trabajando todo este mes de enero y lo lanzaremos en febrero.

Les copio un extracto de los temas:


Taller Python


  • Descripción:
Python es un lenguaje de programación poderoso y fácil de aprender. Cuenta con estructuras de datos eficientes y de alto nivel y un enfoque simple pero efectivo a la programación orientada a objetos. Su sintaxis simple, clara y sencilla (que se asemeja al pseudocódigo); el tipado dinámico, el gestor de memoria, la 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 en diversas áreas (script, programación con GUI, programación web, videojuegos, programación profesional, etc.) y sobre la mayoría de las plataformas. Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles.
  • Objetivos

Conocer las características del lenguaje Python y su uso en el desarrollo de aplicaciones informáticas de todo nivel usando los conceptos de la programación orientada a objetos. Asimismo se estudiará las características de la programación gráfica, y una introducción a la programación de videojuegos con la librería Pygame.

  • Módulos:

El curso contará de cuatro módulos: Básico I, Básico II, Intermedio y Avanzado. Cada Módulo de 24 horas repartidas entre 2 horas por cada sesión. El programa de todo el curso Básico I o Módulo I sería el siguiente:


Python – Módulo I (Básico I):
  • Sesión 1: Introducción a Python
-       Lenguajes compilados vs interpretados
-       Características de Python
-       Instalación de Python
-       Formas de ejecución de programas Python
-       Herramientas básicas (modo interactivo – IDLE)
-       Entornos de trabajo (IDE)
-       Primer programa en Python (comparado con C)
-       Usando Python como calculadora
-       Módulo math
-       Una calculadora avanzada
  • Sesión 2: Pensar como un programador con Python
-       Pseudocódigo vs Sintaxis de Python
-       Tipos básicos
-       Expresiones: Variables, sentencias y comentarios
-       Control del flujo: estructura de control if , else y elif
-       Control del flujo: estructura de control iterativa while
-       Break y continue
-       Colecciones: listas y tuplas
-       Control del flujo: estructura de control iterativa for-in
-       Ejercicios: usando estructuras de control

  • Sesión3: Programación estructurada y modular con Python
-       Python detrás de bambalinas: apuntadores y referencias
-       Referencia y desreferencia de variables
-       Funciones
-       Paso de argumentos: argumentos con nombre y por omisión
-       Retorno de múltiples valores
-       Número variable de argumentos
-       Recursividad
-       Ejercicios con funciones
-       Ejercicios: fución fibonacci y torres de Hanoi




  • Sesión 4: Listas como arreglos
-       Comparación de una lista y una tupla de python con un arreglo estático de C
-       Usando listas como arreglos unidimensionales
-       Ordenamiento burbuja en una lista
-       Ordenamiento burbuja mejorado
-       Búsqueda secuencial en una lista
-       Búsqueda binaria en una lista
-       Usando las listas como arreglos bidimensionales y multidimensionales
-       Ejercicios: suma, resya y multiplicación de matrices
  • Sesión 5: Un análisis más profundo de las colecciones
-       Listas
-       Troceado de listasOmitir advertencia
-       Métodos de la lista
-       Tuplas
-       Diccionarios
-       Métodos del diccionario
-       Simulación del switch de C con un diccionario
-       Conjuntos (set y frozenset)
-       Métodos del conjunto
-       Ejercicios: usando las colecciones

  • Sesión 6: POO con Python
-       Creando nuestros propios tipos de datos
-       Definición de una clase y un objeto
-       Atributos
-       Métodos
-       Herencia y herencia múltiple
-       Superclases y subclases
-       Encapsulamiento
-       Relaciones de asociación, agregación y composición
-       Diagramas de clases
-       Ejercicio: Creando nuestra clase Carta





  • Sesión 7: POO con Python II
-       Métodos especiales
-       Atributos y métodos estáticos
-       Sobrecarga de operadores
-       Por qué Python no necesita  sobrecarga de métodos
-       Propiedades en Python
-       Ejercicio: Comparación de objetos carta y creación de un mazo de cartas

  • Sesión 8: Inmersión en Python
-       Manejando excepciones
-       Levantando excepciones
-       Módulos
-       Paquetes
-       Ejercicio: Creando nuestros propios módulos e importarlos

  • Sesión 9: Entrada/Salida y Persistencia de datos
-       Flujos de entrada, salida y error estándares
-       Parámetros de línea de comandos
-       Trabajar con directorios
-       Lectura y escritura de archivos
-       Serialización de objetos con el módulo pickle
-       Ejercicio: Guardando nuestra clase Mazo

  • Sesión 10: Cadenas un análisis más detallado
-       Troceado de cadenas
-       Formateo antiguo y nuevo de cadenas de texto
-       Métodos para la manipulación de Springs

  • Sesión 11: Un poco de Programación funcional en Python
-       Funciones map, filter y reduce
-       Funciones lambda
-       Comprensión de listas
-       Decoradores






  • Sesión 12: Estructuras de datos
-       Definición de nuestra propia clase Lista Enlazada
-       TAD Pila
-       TAD Cola
-       TAD Árbol Binario
-       Recorridos de un árbol binario
-       Ejercicios:  usando pilas, colas y árboles



Por favor, si tienes algun comentario al respecto escribeme y gustosamente conversamos del tema.

José Díaz




Share:

2 comentarios:

  1. Porque se concidera como objetivo temas de juego o videojuegos?

    ResponderBorrar
  2. Nuestra inclinicación es desarrollo web y juegos independientes.

    Comparto información sobre el tutor y el curso.

    ACERCA DEL TUTOR----------------------------------------------------------

    Eysenck Gómez es un apasionado del lenguaje Python, lo conoció hace 4 años y lo ha usado tanto para web como para videojuegos con Pygame o Cocos2d; y lo utiliza profesionalmente en su trabajo a diario desde hace ya 2 años, es co-fundador de KODEVIAN una empresa joven dedicada al ámbito de la tecnología web y los videojuegos usando las últimas tecnologías disponibles, empresa en la cuál también labora y cumple el rol de desarrollador backend usando tecnologías como Python, PHP, Java, Kohana, Node.js, Django y Tornado; pertenece a la carrera de Ingeniería de Software en la UNMSM a llevado su gusto y pasión por Python (evangelizando) a donde ha ido dentro y fuera de la UNMSM, dando charlas y cursos sobre el lenguaje en eventos realizados en la facultad de sistemas.

    Tiene proyectos libres relacionados con Python, como un sistema experto en recomendar tecnologías para una webapp hecho con django y clips, "sigestar" un sistema de gestión de tareas hecho con django, participó y asesoró en la creación del juez virtual de la facultad de sistemas de la UNMSM para concursos de programación y entrenamiento hecho con Django y con una tabla de calificaciones en tiempo real con Node.js y socket.io, también un clon del juego platsvszombies hecho íntegramente en python y pygame aún en desarrollo que será disponible de manera libre y gratis para cualquier SO.

    Como emprendedor trabaja también en startups dentro de su empresa los cuáles serán lanzados en el transcurso del 2013. Eysenck es también como muchos un geek, amante y difusor del software libre.

    SOBRE EL CURSO------------------------------------------------------------

    El curso Python Básico pretende que los asistentes se introduzcan al lenguaje, y logren adquirir una base sólida para que a partir de ella puedan fácilmente comprender en los siguientes módulos temas como desarrollo de aplicaciones webs scalables y robustas de manera ágil con frameworks como Django, Flask o Tornado, sin dejar de lado otros temas como programación científica, programación orientada a la administración o desarollo de videojuegos.


    Si deseas ver casos de éxito de Python en diferentes áreas como arte, educación, negocios, gobierno, ciencia, ingenieria y claro desarrollo de software, se pueden ver desde su página web:

    http://www.python.org/about/success/

    ResponderBorrar