Proyectos

Prototipo de urna electrónica

Trabajo Terminal

2024

En este trabajo terminal, mi participación destacó en la investigación de algoritmos criptográficos y sus fundamentos matemáticos para diseñar un sistema de voto electrónico con dos propiedades: confidencialidad y voto anónimo. Colaboré en el diseño de la arquitectura e implementé en Python la interfaz de usuario para el módulo de resultados, el cuál consiste en verificar la integridad, mezclar, descifrar y contar los votos. Implementé el algoritmo para la distribución y reconstrucción de la clave de descifrado utilizando el esquema de Secreto Compartido de Shamir. Diseñé e implementé el algoritmo para la prueba de correcto mezclado de los votos. Apliqué configuraciones para el aislamiento del sistema.

VisionAlert: Prototipo de sistema para el monitoreo de ritmo cardiaco; control y monitoreo de temperatura y nivel de llenado de agua de un tinaco

Curso de Instrumentación y Control

2023

En este proyecto, participé proporcionando los cálculos para el diseño del circuito, armé el circuito y programé el microcontrolador ATMega8535 para procesar las señales, implementé una aplicación de escritorio con interfaz gráfica de usuario en C# con .Net Framework 4.7.2 para recibir y mostrar los datos del microcontrolador utilizando un puerto de comunicación serial. Hice pruebas de funcionamiento físicas y simuladas (Proteus).

Sistema para el diagnóstico de deficiencias en el tema de conjuntos matemáticos utilizando diagramas de Venn

Servicio Social

2024

En este proyecto, desarrollé en C# un sistema de escritorio con dos roles de acceso: alumno y profesor. En el rol de alumno, implementé la interfaz para que los estudiantes resuelvan ejercicios de diagramas de Venn, serializando los resultados en archivos cifrados. En el otro rol, el profesor puede visualizar un resumen de resultados tras importar los datos de sus alumnos, donde se muestran los ejercicios ordenados por tasa de error de forma descendente. Para autenticar al alumno, agregué un cliente SMTP que le envía un código de verificación a su correo institucional. También agregué un filtro de búsqueda por boleta para el despliegue de resultados individuales.

Sala de Chat

Curso de Aplicaciones para Comunicaciones en Red

2022

Una sala de chat desarrollada con Java y Swing en la que apliqué los conocimientos aprendidos sobre multicasting y protocolo UDP. Se utilizaron sockets de multidifusión y sockets de datagrama de la API de Java Networking.

Solución al problema del Producto de Matrices en Cadena

Curso de Análisis y Diseño de Algoritmos

2021

El problema del Producto de Matrices en Cadena es un problema de optimización en el que se busca la forma más eficiente de multiplicar una secuencia de matrices, minimizando el número total de operaciones.

Para resolver este problema, programé un algoritmo en Java utilizando la técnica de diseño de algoritmos conocida como Programación Dinámica.

Habilidades

Java

POO
Swing
Manejo de archivos
Manejo de errores y excepciones
Programación multihilo
Networking

C#

POO
Manejo de archivos
Manejo de errores y excepciones
WinForms
POE
.Net

Python

POO
Tkinter
Manejo de archivos
Manejo de errores y excepciones

C

Estructuras con memoria dinámica
Estructuras de datos
Manejo de archivos

Bases de datos

Modelo Entidad-Relación
Modelo Relacional
MySQL
SQLite
Oracle APEX

Desarrollo Web

HTML
CSS
Vanilla Javascript
Despliegue de sitios web estáticos

Control de versiones

Git
Github

Microcontroladores

CodeVisionAVR
Puertos E/S
ADC
Interrupciones
Contadores y temporizadores
USART

Scripting

Batch (básico)
Bash (básico)

Criptografía

Cifrado AES
Cifrado ElGamal
Cifrado Paillier
Criptosistema RSA
Secreto Compartido de Shamir
Secreto Compartido de Blakey
Funciones Hash