-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Versión con seguimiento del progreso
- Loading branch information
Showing
14 changed files
with
2,595 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
.idea/ | ||
.vscode/ | ||
.venv*/ | ||
venv*/ | ||
__pycache__/ | ||
dist/ | ||
.coverage* | ||
htmlcov/ | ||
.tox/ | ||
docs/_build/ | ||
.env |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"id": "8b17eb81-5d0f-46db-bea6-af8d037f3b6a", | ||
"metadata": {}, | ||
"source": [ | ||
"# Introducción a la programación\n", | ||
"\n", | ||
"La programación es el proceso de crear un conjunto de instrucciones que le dicen a una computadora como realizar algún tipo de tarea. Pero no solo la acción de escribir un código para que la computadora o el software lo ejecute. Incluye, además, todas las tareas necesarias para que el código funcione correctamente y cumpla el objetivo para el cual se escribió.\n", | ||
"\n", | ||
"En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones de informática y videojuegos. En este sentido, es el proceso por el cual una persona desarrolla un programa, valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, como C++, Java y Python, entre muchos otros) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, que puede \"comprender\" el microprocesador.\n", | ||
"\n", | ||
"## Introducción a Python\n", | ||
"\n", | ||
"## Objetivos de aprendizaje\n", | ||
"- Entender qué es Python.\n", | ||
"- Aprender a usar variables y tipos de datos básicos.\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "94e80402-d9ed-4a39-a702-32bab1be0ba1", | ||
"metadata": {}, | ||
"source": [ | ||
"## ¿Qué es Python?\n", | ||
"Python es un lenguaje de programación ampliamente utilizado en las aplicaciones web, el desarrollo de software, la ciencia de datos y el machine learning (ML). Los desarrolladores utilizan Python porque es eficiente y fácil de aprender, además de que se puede ejecutar en muchas plataformas diferentes. El software Python se puede descargar gratis, se integra bien a todos los tipos de sistemas y aumenta la velocidad del desarrollo.\n", | ||
"\n", | ||
"### ¿Cuáles son las características de Python?\n", | ||
"\n", | ||
"Las características siguientes del lenguaje de programación Python lo hacen único:\n", | ||
"Un lenguaje interpretado\n", | ||
"\n", | ||
"Python es un lenguaje interpretado, lo que significa que ejecuta directamente el código línea por línea. Si existen errores en el código del programa, su ejecución se detiene. Así, los programadores pueden encontrar errores en el código con rapidez.\n", | ||
"Un lenguaje fácil de utilizar\n", | ||
"\n", | ||
"Python utiliza palabras similares a las del inglés. A diferencia de otros lenguajes de programación, Python no utiliza llaves. En su lugar, utiliza sangría. \n", | ||
"Un lenguaje tipeado dinámicamente\n", | ||
"\n", | ||
"Los programadores no tienen que anunciar tipos de variables cuando escriben código porque Python los determina en el tiempo de ejecución. Debido a esto, es posible escribir programas de Python con mayor rapidez.\n", | ||
"Un lenguaje de alto nivel\n", | ||
"\n", | ||
"Python es más cercano a los idiomas humanos que otros lenguajes de programación. Por lo tanto, los programadores no deben preocuparse sobre sus funcionalidades subyacentes, como la arquitectura y la administración de la memoria.\n", | ||
"Un lenguaje orientado a los objetos\n", | ||
"\n", | ||
"Python considera todo como un objeto, pero también admite otros tipos de programación, como la programación estructurada y la funcional.\n", | ||
"\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 2, | ||
"id": "4b12e2a3-2886-4545-adcd-b2c88103a988", | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"¡Hola Mundo!\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"# Ejemplo: Hola Mundo\n", | ||
"print(\"¡Hola Mundo!\")\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "e98fcf6c", | ||
"metadata": {}, | ||
"source": [ | ||
"## Guardar avance\n", | ||
"Al terminar cada notebook, debes guardar tu progreso.\n", | ||
"En la celda siguiente deberás de agregar tu correo, siempre debe de ser el mismo, y tu nombre completo, una vez hecho eso deberás de ejecutar la celda.\n", | ||
"Si no cumples con este paso no podremos validar tu avance" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 11, | ||
"id": "2f22d444", | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"Progreso actualizado localmente.\n", | ||
"Progreso sincronizado con el servidor.\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"import requests\n", | ||
"import json\n", | ||
"\n", | ||
"# Información del estudiante (puedes parametrizar o pedir como input)\n", | ||
"email = \"\" # Agrega tu correo, en todos los archivos deberá ser el mismo\n", | ||
"nombre = \"\" # Agrega tu nombre completo, en todos los archivos deberá ser el mismo\n", | ||
"\n", | ||
"# Progreso actualizado (modifica el tema según el notebook)\n", | ||
"tema_actual = \"01.- Introducción a la programación\"\n", | ||
"progreso_path = \"../progress/template_progreso.json\"\n", | ||
"\n", | ||
"# Leer el archivo de progreso local\n", | ||
"try:\n", | ||
" with open(progreso_path, 'r') as file:\n", | ||
" progreso = json.load(file)\n", | ||
"except FileNotFoundError:\n", | ||
" print(\"Archivo de progreso no encontrado.\")\n", | ||
" progreso = {}\n", | ||
"\n", | ||
"# Actualizar el progreso en el archivo local\n", | ||
"if \"Introducción a la programación\" not in progreso:\n", | ||
" progreso[\"Introducción a la programación\"] = {}\n", | ||
"\n", | ||
"progreso[\"Introducción a la programación\"][tema_actual] = \"Completado\"\n", | ||
"\n", | ||
"# Guardar el progreso localmente\n", | ||
"with open(progreso_path, 'w') as file:\n", | ||
" json.dump(progreso, file, indent=4)\n", | ||
"\n", | ||
"print(\"Progreso actualizado localmente.\")\n", | ||
"\n", | ||
"# Datos para enviar al backend\n", | ||
"url = \"https://apiprogreso.hackademy.lat/api/progreso\" # Cambia la URL según tu servidor\n", | ||
"payload = {\n", | ||
" \"nombre\": nombre,\n", | ||
" \"email\": email,\n", | ||
" \"progreso\": progreso\n", | ||
"}\n", | ||
"\n", | ||
"# Realizar la solicitud POST al backend\n", | ||
"try:\n", | ||
" response = requests.post(url, json=payload)\n", | ||
" if response.status_code == 200:\n", | ||
" print(\"Progreso sincronizado con el servidor.\")\n", | ||
" else:\n", | ||
" print(f\"Error al sincronizar: {response.status_code} - {response.text}\")\n", | ||
"except Exception as e:\n", | ||
" print(f\"No se pudo conectar al servidor: {e}\")" | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "venv", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.9.6" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 5 | ||
} |
Oops, something went wrong.