Asignaciones, prácticas y evaluaciones del curso
Esta sección presenta una recopilación organizada de tareas, talleres, laboratorios, proyectos grupales, investigaciones, exámenes parciales y actividades adicionales desarrolladas durante el curso.
Actividades y laboratorios
En esta parte se agrupan las principales asignaciones prácticas realizadas en el curso.
Tarea No. 1: Actividad Diagnóstica
nombre = input("Ingrese su nombre: ")
edad = int(input("Ingrese su edad: "))
print("Nombre registrado:", nombre)
print("Edad registrada:", edad)
Taller Grupal No. 1: Estructuras secuenciales y condicionales
nota = float(input("Ingrese la nota: "))
if nota >= 71:
print("Aprobado")
else:
print("Debe mejorar")
Taller Grupal No. 2: Implementación de estructuras de control y manejo de listas
numeros = [10, 20, 30, 40]
suma = 0
for numero in numeros:
suma = suma + numero
print("La suma total es:", suma)
Taller Grupal No. 3: Apertura de archivos en modo seguro
try:
with open("datos.txt", "r", encoding="utf-8") as archivo:
contenido = archivo.read()
print(contenido)
except FileNotFoundError:
print("El archivo no fue encontrado.")
Laboratorio No. 1: Creación y manipulación de listas bidimensionales y tuplas
postres = [
["Cheesecake", 12, 3.50],
["Tres Leches", 8, 2.75],
["Flan", 15, 1.50],
["Brownie", 20, 1.25]
]
for postre in postres:
print(postre[0], "-", postre[1], "unidades a $", postre[2])
Laboratorio No. 2: Uso de diccionarios y arreglos
estudiante = {
"nombre": "Jazmín",
"carrera": "Ciberseguridad",
"año": 2
}
print(estudiante["nombre"])
print(estudiante["carrera"])
Laboratorio No. 3: Práctica con funciones y Try Except
def dividir(a, b):
try:
resultado = a / b
return resultado
except ZeroDivisionError:
return "No se puede dividir entre cero"
print(dividir(10, 2))
print(dividir(10, 0))
Laboratorio No. 4: Implementación de módulos y paquetes
# Archivo operaciones.py
def sumar(a, b):
return a + b
def restar(a, b):
return a - b
# Archivo principal
import operaciones
print(operaciones.sumar(5, 3))
print(operaciones.restar(5, 3))
Otras actividades desarrolladas
Además de los talleres y laboratorios, se realizaron prácticas complementarias y actividades relacionadas con librerías de Python.
Manejo de cadenas y formato de salida
pelicula = "Jurassic World Rebirth"
boleto = 5.2475
print(pelicula.upper())
print(f"Precio del boleto: ${boleto:.2f}")
Funciones Lambda
distancia = lambda x1, x2: abs(x2 - x1)
print("Distancia:", distancia(5, 12))
Presentaciones grupales sobre librerías y herramientas de Python
Scapy
Presentado por Alfonso, Freisinet y Félix.
Este grupo explicó que Scapy es una herramienta de Python utilizada para enviar, capturar, analizar y manipular paquetes de red. También se habló sobre funciones como la creación de paquetes personalizados, el sniffing de tráfico, la decodificación de información y el análisis de respuestas dentro de una red.
Además, se mencionó que puede utilizarse en actividades como escaneo de red, mapeo de puertos abiertos y traceroute personalizado. Es una herramienta potente, aunque para principiantes puede resultar compleja porque requiere conocimientos de redes y protocolos.
Cryptography
Presentado por José, Carlos, Cristian y Daniel.
La exposición trató sobre la librería Cryptography, utilizada para proteger información mediante técnicas criptográficas. Se explicó su importancia para trabajar con cifrado, descifrado, claves y mecanismos de seguridad aplicados a datos sensibles.
Este tema permitió comprender que la criptografía es una base importante dentro de la ciberseguridad, ya que ayuda a proteger la confidencialidad de la información y evita que terceros puedan leer datos sin autorización.
Requests + BeautifulSoup
Presentado por José, Yosué y Tomás.
Este grupo presentó el uso de Requests y BeautifulSoup. Requests permite realizar solicitudes a páginas web desde Python, mientras que BeautifulSoup ayuda a analizar y extraer información del contenido HTML.
La presentación mostró cómo estas herramientas pueden utilizarse para obtener información de sitios web, automatizar consultas y organizar datos extraídos de una página. Es un tema útil para búsqueda, análisis de información y automatización.
Hashlib
Presentado por Jesús, Alex, Gerald y Rotney.
La exposición se enfocó en Hashlib, una biblioteca estándar de Python utilizada para generar hashes o resúmenes digitales. Se explicó que un hash permite verificar si un archivo o mensaje fue modificado.
También se mencionaron algoritmos como MD5, SHA-1, SHA-256 y SHA-512. Se destacó que MD5 y SHA-1 ya no son recomendables para seguridad moderna, mientras que SHA-256 y SHA-512 son opciones más robustas.
YARA-Python
Presentado por Jazmín, Margarita, Agustín y Alyasir.
Nuestro grupo presentó YARA-Python, una herramienta utilizada en ciberseguridad para crear reglas que permiten identificar patrones dentro de archivos, cadenas de texto o datos sospechosos. Se explicó que YARA es muy utilizada en el análisis de malware, ya que ayuda a clasificar archivos según características específicas.
Durante la presentación se habló sobre qué es YARA, cómo funciona una regla, qué son las cadenas o patrones de búsqueda y cómo se pueden definir condiciones para detectar contenido sospechoso. También se explicó que, al integrarlo con Python, es posible automatizar el análisis de archivos y trabajar de forma más práctica.
import yara
regla = yara.compile(source='''
rule detectar_texto {
strings:
$a = "malware"
condition:
$a
}
''')
resultado = regla.match(data=b"archivo con malware")
print(resultado)
Este ejemplo representa una regla sencilla donde se busca la palabra malware dentro de un contenido. Si el patrón aparece, YARA genera una coincidencia, demostrando cómo puede utilizarse para detectar señales dentro de un archivo o fragmento de datos.
Librerías de Python aplicadas a la tecnología
import hashlib texto = "mensaje de prueba" hash_texto = hashlib.sha256(texto.encode()).hexdigest() print(hash_texto)
Evaluaciones del curso
En esta sección se registran las evaluaciones principales consideradas dentro del desarrollo del curso.
Parcial No. 1
Evaluación aplicada para medir los conocimientos desarrollados en la primera parte del curso, especialmente los fundamentos de programación, estructuras básicas y lógica de solución de problemas.
Parcial No. 2
Evaluación pendiente orientada a comprobar el avance en los temas posteriores del curso, incluyendo estructuras de datos, ciclos, listas y manejo de información.
Parcial No. 3
Evaluación programada para reforzar y comprobar los contenidos trabajados en la última parte del semestre, junto con la aplicación práctica de los conceptos desarrollados.
Final semestral
Evaluación final del curso, destinada a integrar los aprendizajes obtenidos durante el semestre mediante la aplicación de lógica, código, estructuras y herramientas de programación.
Comentarios
Publicar un comentario