Ir al contenido principal

Asignaciones

Recolección de evidencias

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.

✓ Tareas ✓ Trabajos ✓ Laboratorios ✓ Talleres ✓ Proyectos grupales ✓ Investigaciones ✓ Exámenes parciales ✓ Actividades adicionales
Las evidencias presentadas muestran una parte del trabajo realizado durante el semestre. En clase se desarrollaron varios ejemplos y ejercicios por tema; por eso, los códigos incluidos aquí funcionan como una muestra representativa del aprendizaje obtenido, no como el único contenido trabajado. A través de estas actividades se reforzó la lógica de programación, el manejo de estructuras de datos, la lectura de archivos, el uso de funciones, el control de errores, los módulos, paquetes y herramientas relacionadas con Python.

Actividades y laboratorios

En esta parte se agrupan las principales asignaciones prácticas realizadas en el curso.

Tarea completada

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)
Esta actividad permitió revisar los conocimientos iniciales sobre programación, entrada de datos, conversión de valores y salida de información en pantalla. También sirvió como punto de partida para identificar los temas que debían reforzarse durante el semestre.
Taller grupal

Taller Grupal No. 1: Estructuras secuenciales y condicionales

nota = float(input("Ingrese la nota: "))

if nota >= 71:
    print("Aprobado")
else:
    print("Debe mejorar")
Se trabajaron instrucciones secuenciales y estructuras condicionales para resolver problemas mediante decisiones. Además de este ejemplo, se practicaron otros casos donde el programa debía evaluar datos ingresados por el usuario y responder según la condición establecida.
Taller grupal

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)
Se aplicaron ciclos, listas y acumuladores para procesar varios datos dentro de una misma estructura. Este taller ayudó a comprender cómo recorrer información, realizar operaciones repetitivas y organizar datos de forma más clara dentro de un programa.
Taller grupal

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.")
Se practicó la lectura de archivos usando with open, una forma segura de abrir y cerrar archivos automáticamente. También se utilizó try except para controlar errores, especialmente cuando el archivo no existe o no puede ser leído correctamente.
Laboratorio

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])
Se trabajó con listas bidimensionales para organizar información como si fuera una tabla. También se practicó el acceso por índices y el recorrido con for-in. En la misma línea de trabajo se estudiaron las tuplas, su inmutabilidad y el desempaquetado de valores.
Laboratorio

Laboratorio No. 2: Uso de diccionarios y arreglos

estudiante = {
    "nombre": "Jazmín",
    "carrera": "Ciberseguridad",
    "año": 2
}

print(estudiante["nombre"])
print(estudiante["carrera"])
Se utilizaron diccionarios para almacenar datos por medio de claves y valores. También se trabajó con arreglos y estructuras que permiten organizar información de manera más eficiente, especialmente cuando se necesita manejar varios datos relacionados.
Laboratorio

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))
Se practicó la creación de funciones para dividir el programa en partes más ordenadas y reutilizables. Además, se aplicó el manejo de errores con try except, permitiendo que el programa pudiera responder de forma controlada ante situaciones inesperadas.
Laboratorio

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))
Se trabajó la organización del código mediante módulos y paquetes. La práctica permitió comprender cómo separar funciones en archivos diferentes e importarlas desde un programa principal, haciendo que el código sea más limpio, reutilizable y fácil de mantener.

Otras actividades desarrolladas

Además de los talleres y laboratorios, se realizaron prácticas complementarias y actividades relacionadas con librerías de Python.

Actividad práctica

Manejo de cadenas y formato de salida

pelicula = "Jurassic World Rebirth"
boleto = 5.2475

print(pelicula.upper())
print(f"Precio del boleto: ${boleto:.2f}")
Se aplicaron métodos de cadenas como upper() y el formato de salida con f-strings. Esta práctica ayudó a presentar información de manera más clara y a controlar la forma en que se muestran los datos en pantalla.
Actividad práctica

Funciones Lambda

distancia = lambda x1, x2: abs(x2 - x1)

print("Distancia:", distancia(5, 12))
Se practicó el uso de funciones lambda, que permiten crear funciones pequeñas en una sola línea. Este recurso fue trabajado como parte de los ejemplos de funciones y operaciones simples dentro del lenguaje Python.
Proyecto grupal

Presentaciones grupales sobre librerías y herramientas de Python

Durante el curso, cada grupo presentó una herramienta o librería de Python relacionada con áreas como ciberseguridad, criptografía, análisis web, redes e integridad de datos. Estas exposiciones permitieron conocer cómo Python puede utilizarse en distintos escenarios tecnológicos, más allá de los ejercicios básicos realizados en clase.
Grupo 1
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.

Grupo 2
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.

Grupo 3
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.

Grupo 4
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.

Grupo 5 · Mi grupo
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.

Investigación

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)
Se investigaron y presentaron librerías como Hashlib, Scapy, Cryptography, Requests, BeautifulSoup y YARA-Python. Estas herramientas permitieron relacionar Python con temas como integridad de datos, análisis web, criptografía, redes y ciberseguridad.

Evaluaciones del curso

En esta sección se registran las evaluaciones principales consideradas dentro del desarrollo del curso.

Realizado

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.

Realizado

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.

Por hacer

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.

Por hacer

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.

Esta recolección de evidencias muestra el avance obtenido durante el curso. Los ejemplos incluidos representan parte del trabajo realizado, ya que en cada clase se desarrollaron distintas prácticas para reforzar los temas. A través de estas actividades se fortaleció la lógica, la organización del código, el análisis de errores y el uso de Python como herramienta para resolver problemas tecnológicos.
Programación II Python Asignaciones Laboratorios Parciales Portafolio

Comentarios

Entradas más populares de este blog

Caso del mes de Marzo

Nuevas tendencias tecnológicas Edición de Marzo Noticias actuales sobre tecnología, dispositivos, innovación y cambios importantes dentro del mundo digital. Mes: Marzo Portafolio de Programación II Caso N.° 1 Caso N.° 1 · Marzo Apple presenta su nueva y más económica MacBook Autor: Lisa Eadicicco, CNN. Fecha de publicación: 4 de marzo de 2026. Fecha de consulta: 31 de marzo de 2026. La noticia trata sobre la presentación de la MacBook Neo , una computadora portátil de Apple con un precio inicial más accesible que otros modelos de la marca. Lo que más llama la atención es que esta laptop utiliza un chip similar al de los iPhone, específicamente el A18 Pro , lo que representa un cambio interesante en la forma en que Apple está usando sus propios procesadores. Según lo que entendí, Apple está intentando ll...

Casos del mes de julio

Nuevas tendencias tecnológicas Edición de Julio Noticias sobre amenazas recientes, malware, repositorios maliciosos y riesgos para investigadores de seguridad. Mes: Julio Portafolio de Programación II Casos N.° 8 y N.° 9 Caso N.° 8 · Julio Nuevo RAT denominado ChocoPoC compromete a investigadores de vulnerabilidades Autor corporativo: CSIRT Asobancaria. Fecha de publicación: 1 de julio de 2026. Fecha de consulta: 4 de julio de 2026. Esta noticia habla sobre ChocoPoC , un troyano de acceso remoto dirigido a investigadores de vulnerabilidades y profesionales de pruebas de penetración. El malware se distribuye mediante repositorios falsos de pruebas de concepto en GitHub. Lo más delicado de este caso es que los atacantes se aprovechan de una costumbre común en ciberseguridad: descargar PoC o ejemplos de explotación para analizar vuln...

Caso del mes de junio

Nuevas tendencias tecnológicas Edición de Junio Noticias sobre inteligencia artificial, seguridad, privacidad digital y riesgos asociados al uso de modelos avanzados. Mes: Junio Portafolio de Programación II Casos N.° 6 y N.° 7 Caso N.° 6 · Junio Anthropic suspende acceso a Fable 5 y Mythos 5 por directiva del gobierno de EE. UU. Autor corporativo: Anthropic. Fecha de publicación: 12 de junio de 2026. Fecha de consulta: 30 de junio de 2026. Esta noticia trata sobre una directiva del gobierno de Estados Unidos que obligó a Anthropic a suspender el acceso a los modelos Fable 5 y Mythos 5 para ciudadanos extranjeros. La empresa explicó que la medida estaba relacionada con preocupaciones de seguridad nacional. Lo que entendí es que el problema giraba alrededor de la posibilidad de que ciertas protecciones...