<jupyter_start><jupyter_text>Fundamentos de ProgramaciónMódulo 01: Introducción2021/02MEDELLÍN - COLOMBIA    Text provided under a Creative Commons Attribution license, CC-BY. All code is made available under the FSF-approved MIT license.(c) <NAME> *** ***Docente:*** <NAME>, I.C. D.Sc.***e-mail:*** <EMAIL>***skype:*** carlos.alberto.alvarez.henao***Linkedin:*** https://www.linkedin.com/in/carlosalvarez5/***github:*** https://github.com/carlosalvarezh/Fundamentos_Programacion***Herramienta:*** [Jupyter Notebook](http://jupyter.org/)***Kernel:*** Python 3.8***  Tabla de Contenidos1&nbsp;&nbsp;Presentación del Curso - Introducción1.1&nbsp;&nbsp;TODOS DEBERÍAMOS SABER PROGRAMAR... TODOS!1.2&nbsp;&nbsp;Objetivo General:1.3&nbsp;&nbsp;Objetivos específicos del curso1.4&nbsp;&nbsp;Competencias:1.5&nbsp;&nbsp;Público Objetivo:1.6&nbsp;&nbsp;Contenido programático1.7&nbsp;&nbsp;Evaluación1.8&nbsp;&nbsp;Metodología2&nbsp;&nbsp;Recursos de programación2.1&nbsp;&nbsp;Por qué usar Python?2.2&nbsp;&nbsp;Con Python se pueden hacer:2.3&nbsp;&nbsp;Algunas Empresas que usan Python:2.4&nbsp;&nbsp;Lenguajes de Programación más usados a nivel mundial:2.5&nbsp;&nbsp;Por dónde empiezo?2.6&nbsp;&nbsp;De dónde obtengo información para aprender a programar?2.6.1&nbsp;&nbsp;Algoritmia2.6.2&nbsp;&nbsp;Python como lenguaje de programación (uno entre muchos)2.6.3&nbsp;&nbsp;MooCs2.6.4&nbsp;&nbsp;Tutoriales on-line:2.6.5&nbsp;&nbsp;Apps para Smartphones y Tablets2.6.6&nbsp;&nbsp;Repositorios  Presentación del Curso - Introducción  TODOS DEBERÍAMOS SABER PROGRAMAR... TODOS!<jupyter_code>from IPython.display import YouTubeVideo, HTML, IFrame
YouTubeVideo('Y1HHBXDL9bg', width=640, height=480)<jupyter_output><empty_output><jupyter_text>Objetivo General: - Desarrollar habilidades de pensamiento de orden superior, como el razonamiento abstracto, el pensamiento crítico y la resolución de problemas, con base en los conceptos de la computación.  Objetivos específicos del curso - Abstraer la información relevante de un problema cotidiano y proponer una estrategia metódica de solución.- Desarrollar algoritmos y programas simples en Python.​- Entender y aplicar conceptos básicos de ciencias de la computación, tales como: representación de datos, algoritmia, funciones, patrones, entre otros.​  Competencias: Tras participar del proceso cognoscitivo y práctico, se espera que el alumno este en capacidad de:Entender la sintaxis de lenguaje `Python` al leer fuentes de otros programadores.Crear(Escribir) Scripts en `Python`, para crear diferentes tipos de aplicaciones como tipo consola(terminal),`TUI`, `GUI` y páginas Web básicas.  Público Objetivo: Todas las personas que deseen aprender un lenguaje de programación, múltiples propósitos y diferentes tipos de aplicaciones.  Contenido programático |**Semana** | **Fecha**         |**Contenido** |**Observación**||:-----:|:-------------:|-----------|----------------------||01     |19/07/2021|Descripción del curso y Pacto pedagógico| ||02|26-27/07/2021|Introducción a la programación y algoritmia|||03|02-03/08/2021|Introducción a plataformas virtuales de programación. Conceptos básicos de los tipos de variables en Python, entrada y salida de datos.|||04|09-10/08/2021|Condicionales|||05|16-17/08/2021|Funciones y modulos (concepto de funciones, creación de funciones, y tipos de retorno)|Taller 01 (10%)||06|23-24/08/2021|Ciclos parte 1|||07|30-31/08/2021|Manejo de cadenas (concatenación y manipulación de textos)|||08|06-07/09/2021|Arreglos (agregación, modificación, acceso, borrado, y operaciones con arreglos)|Asamblea Estudiantíl||09|13-14/09/2021|Ciclos parte 2 y ejercicios.|||- |20-25/09/2021||Semana de receso académico||10|27-28/09/2021|Diccionarios y tuplas (agregación, modificación, acceso, borrado, y operaciones con diccionarios)|Taller 02 (20%)||11|04-05/10/2021|Ficheros (operaciones con ficheros y manipulación de ficheros)|||12|11-12/10/2021|Análisis de datos y ejercicios (ordenamiento y busqueda)|||13|18-19/10/2021|Ecosistema Python: Bibliotecas científicas (Numpy)|Taller 03 (20%)||14|25-26/10/2021|Ecosistema Python: Visualización (Matplotlib)|Finalización Ejercicios VPL (20%)||15|01-02/11/2021|Ecosistema Python: Análisis de Datos (Pandas)|Proyecto entrega 1 (10%)  - Reporte 70%||16|08-09/11/2021|Cierre: Presentación proyectos||||15-20/11/2021||Semana de Receso académico para preparación de finales|||22-27/11/2021||Semana de finales|||01/12/2021||Cierre académico - Reporte del 100%|  Evaluación - Ejercicios en Moodle VPL (20%) - Talleres (50% )   - Taller 01: (10%)  - Taller 02: (20%)  - Taller 03: (20%)  - 2 entregables (30%)  - Estructuras de programación (10%)  - Pandas (20%)  Metodología La modalidad del curso es ***presencial*** sin embargo, entendiendo la actual situación por la que atravesamos, los estudiantes que tengan dificultad de asistir presencialmente en el campus de la Universidad lo podrán hacer a través de TEAMS. ***Las clases no serán grabadas***.Aunque la asistencia a clases en la Universidad es voluntaria, se tomará asistencia por cuestiones de controles internos. Se recomienda asistir a todas las clases y aprovechar los espacios de discusión en tiempo real.Las notas son responsabilidad del estudiante, NO DEL PROFESOR. Al final del semestre por favor evitar enviar correos del tipo:- “por favor colocarme un trabajo adicional”- “me van a quitar la beca”- “el promedio me va a quedar muy bajito”- “aunque la pierda que me quede altica”***Clases magistrales:*** Desde la primera clase el estudiante contará con la totalidad del material de estudio, por lo que será su respobsabilidad repasar las clases anteriores y actual antes de cada clase.***Clases prácticas donde se desarrollan talleres:*** terminar todos los talleres y ejercicios de las clases anteriores para ir al día con el curso***Asesorías:*** primero tratar de utilizar el canal de dudas de Teams. Luego llevar dudas puntuales a la asesoría. Evite estudiar y aprender empleando Youtube.  ***Por cada hora de clase un estudiante debería dedicar, AL MENOS, 2 horas de estudio fuera del aula.***  [Volver a la Tabla de Contenido](TOC)  Recursos de programación     Por qué usar Python? `Python` es un lenguaje de programación multiplataforma, algunas de sus ventajas son: ayuda a mejorar la productividad ya que permite trabajar mucho más rápido que cualquier otro lenguaje, es versátil y soporta programación orientada a objetos, cuenta con una gran extensión de bibliotecas para un mejor uso, es un lenguaje de programación sostenible lo cual permite leer y modificar de una manera fácil los programas.- Lenguaje de programación de alto nivel creado por [Guido van Rossum](https://gvanrossum.github.io/ "Guido van Rossum's home page") a finales de los 80's. - Actualmente ocupa los promeros lugares como uno de los lenguajes de programación más ampliamente usados a nivel mundial. [TIOBE index enero/2021](https://www.tiobe.com/tiobe-index/ "tiobe.com") y [PYPL PopularitY of Programming Language](https://pypl.github.io/PYPL.html "PYPL")- Una de las mayores ventajas es su "simplicidad": En general, se requiere de muchas menos líneas de programación para ejecutar una determinada tarea que en otros lenguajes (`C/C++`, `java`, $\ldots$.).- Viene con una amplica colección de bibliotecas que permiten extender las capacidades del lenguaje.- [Este](https://www.youtube.com/watch?v=Og847HVwRSI&feature=emb_logo "Most popular programming languges 1965 - 2019") es un video muy interesante que muestra la evolución de los lenguajes de programación más usados a nivel mundial desde 1965 y hasta 2019. Ampliamente recomndable su visualización:  Con Python se pueden hacer: - Aplicaciones Web.- Análisis de Datos.- Aprendizajes de Maquina.- Visión Artificial.- Robótica, programar "pequeñas" computadoras(Raspberry Pi).- Juegos.- Web Scraping.- Automatizar(Scripts)  Algunas Empresas que usan Python:   Lenguajes de Programación más usados a nivel mundial: En el siguiente video se podrá ver como ha sido la evolución de los lenguajes de programación más populares en la historia<jupyter_code>YouTubeVideo('Og847HVwRSI', width=640, height=480)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10408739413280962, 'fraction_numerical': 0.046274702344421256, 'mean_word_length': 5.602917341977309, 'pattern_counts': {'":': 1, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 6, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '63704', 'license': 'MIT', 'n_tokens_mistral': 2987, 'n_tokens_neox': 2781, 'n_words': 900, 'path': 'Modulo01_Introduccion.ipynb', 'repo_name': 'carlosalvarezh/Fundamentos_Programacion', 'size': '8208'}