Retos de Computer Sciences
Explore computer science challenges on Ewance to equip yourself with job-relevant skills for a variety of roles. Learn programming techniques and build technical skills with challenges on software development, algorithm design, system architecture, and more.
Most Popular
- CodeIntermedioNuevo
Sintetizar transformaciones de programa para refactor masivo en Python
Implementa la herramienta en Python usando libcst o ast nativo. Acepta como input 3-5 pares (antes/después) escritos a mano. Sintetiza una regla de reescritura (basada en patron…
- Program Synthesis
- Ast Manipulation
- Program Analysis
Multidisciplinar - CodeSéniorNuevo
Interpretación abstracta para análisis de overflow en firmware embebido
Implementa el analizador en OCaml o Rust sobre LLVM IR. Modela el dominio de intervalos para enteros con widening al cruzar bucles. Combina con dominio de paridad para mejorar p…
- Abstract Interpretation
- Static Analysis
- Program Analysis
Program Analysis - CodeFundamentosNuevo
Modelar una biblioteca digital con tipos de datos abstractos
Diseña 4 TDA: Libro (con ISBN, título, autoría, género, copias disponibles), Lector (con ID, nombre, contacto, préstamos activos), Préstamo (con libro, lector, fecha inicio, fec…
- Abstraction
- Data Abstraction
- Modular Programs
Programming Abstractions - CodePrincipianteNuevo
Calcular descuentos progresivos con recursión y funciones de orden superior
Modela las reglas de descuento como funciones de orden superior: cada regla es una función pedido -> descuento. Implementa al menos 5 reglas (volumen escalonado, club por antigü…
- Recursion
- Higher Order Functions
- Abstraction
Programming Abstractions Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- CodePrincipianteNuevo
Diseñar un programa modular para análisis de logs de un restaurante
Diseña 4 módulos: io_logs (parseo y validación), aggregate (cálculo de métricas), analyze (detección de anomalías como margen fuera de banda), report (formato del informe). Cada…
- Modular Programs
- Abstraction
- Python
Programming Abstractions - CodePrincipianteNuevo
Implementar un parser recursivo descendente para expresiones aritméticas
Define la gramática (BNF mínimo) para expresiones aritméticas con precedencia correcta y asociatividad de potencia a la derecha. Implementa el tokenizer, el parser recursivo des…
- Recursion
- Abstraction
- Data Abstraction
Multidisciplinar - CodePrincipianteNuevo
Refactorizar un script monolítico a módulos reutilizables
Lee el script (proporcionado), entiéndelo y traza un mapa de qué hace cada parte. Refactoriza en 5 módulos claros: io (lectura CSV), tax (cálculo de impuestos por país), invoice…
- Modular Programs
- Abstraction
- Refactoring
Programming Abstractions - CodeIntermedioNuevo
Bosques de Conteo Aproximado para Logs de Telemetría
Lee la teoría de Cormode y Muthukrishnan sobre Count-Min Sketch (CMS) y la familia HyperLogLog. Implementa ambas estructuras desde cero (sin usar librerías que las traigan ya he…
- Probabilistic Data Structures
- Hyperloglog
- Count Min Sketch
Randomized Algorithms - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- CodeIntermedioNuevo
Algoritmo de Karger para Cortes Mínimos en Red de Distribución
Implementa Karger básico (contracción aleatoria de aristas) y Karger-Stein (recursión con dos contracciones independientes). Para garantizar probabilidad de éxito mayor o igual …
- Randomized Algorithms
- Graph Algorithms
- Karger Stein
Randomized Algorithms - AnalysisPrincipianteNuevo
Las Vegas vs Monte Carlo para Selección de Pivote Robusta
Implementa ambas variantes en Python puro (sin numpy.partition). Diseña adversarios de entrada que rompen el quickselect determinista (entradas casi ordenadas, mismas claves rep…
- Randomized Algorithms
- Quickselect
- Monte Carlo
Randomized Algorithms - ResearchIntermedioNuevo
Aprendizaje de Hashing Universal para Tablas Resistentes a Colisiones
Implementa una familia de funciones hash universales tipo Carter-Wegman h(x) = ((a*x + b) mod p) mod m, donde a, b se eligen aleatoriamente de [1, p-1] y [0, p-1]. Demuestra emp…
- Universal Hashing
- Carter Wegman
- Randomized Algorithms
Randomized Algorithms - CodePrincipianteNuevo
Algoritmo de Reservoir Sampling para Streaming de Telemetría Médica
Implementa el Algoritmo R de Vitter y el A-Res ponderado (Efraimidis-Spirakis) en Python con tipado estático. Demuestra empíricamente sobre 5 trazas de 8M eventos cada una que l…
- Reservoir Sampling
- Streaming Algorithms
- Randomized Algorithms
Randomized Algorithms Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
- CodeIntermedioNuevo
Patrón Strangler-Fig para Núcleo Bancario Cobol Legacy
Lee 4 casos de uso del módulo de simulación de préstamos en Cobol (anonimizados, sin nombres reales de cliente). Escribe tests de caracterización que reproduzcan exactamente las…
- Strangler Fig
- Characterization Tests
- Legacy Modernization
Multidisciplinar - CodeIntermedioNuevo
Método Mikado para Romper Acoplamiento en Monolito Java
Lee el módulo de inventario (alrededor de 18.000 líneas Java). Define el objetivo Mikado: 'extraer Inventario como módulo Maven independiente con su propia base de datos'. Empie…
- Mikado Method
- Refactoring
- Java
Multidisciplinar - CodePrincipianteNuevo
Catálogo de Refactors Fowler sobre un Frontend React Heredado
Selecciona 5 componentes React de mayor churn (medido sobre 6 meses de git). Para cada uno: escribe tests de caracterización con Vitest + Testing Library cubriendo el comportami…
- Refactoring
- Fowler Catalog
- React
Refactoring and Code Smell Detection - CodePrincipianteNuevo
Refactor Asistido por IDE para Reducir Acoplamiento en Microservicio Go
Identifica las dependencias circulares con go-cleanarch y go-mod-graph. Para los 3 paquetes más enredados, usa los refactors de GoLand (Extract Interface, Move Function, Change …
- Refactoring
- Hexagonal Architecture
- Go
Multidisciplinar - CodeIntermedioNuevo
Multi-Tenancy con Row Level Security para SaaS de Despachos Legales
Diseña el esquema multi-tenant: enfoque shared schema con tenant_id en cada fila. Implementa RLS con políticas por tabla para las 28 tablas existentes (clientes, expedientes, do…
- Multi Tenancy
- Row Level Security
- Postgresql
Multidisciplinar - CodePrincipianteNuevo
API REST con OpenAPI y Versionado para Plataforma de Reservas Médicas
Inventaría los 78 endpoints, agrúpalos en 12 recursos. Escribe el contrato OpenAPI 3.1 completo: schemas request/response, errores estándar (RFC 7807 Problem Details), autentica…
- REST API
- Openapi
- API Versioning
Engineering Software as a Service - CodeIntermedioNuevo
Continuous Deployment con Canary y Feature Flags para SaaS Fintech
Audita el pipeline actual (GitHub Actions + Cloud Run). Diseña la nueva arquitectura: canary con Cloud Run revisions traffic splitting, feature flags con LaunchDarkly o Unleash …
- Continuous Deployment
- Canary Release
- Feature Flags
Engineering Software as a Service - CodeIntermedioNuevo
Webhooks Confiables con Reintentos y Dead Letter Queue
Diseña el sistema sobre PostgreSQL + Redis + un worker en Node.js. Cada evento se persiste antes de intentar entregar. Worker hace POST al endpoint del cliente con firma HMAC-SH…
- Webhooks
- Message Queue
- Retry Strategies
Engineering Software as a Service - CodeIntermedioNuevo
Resolución Numérica de PDEs para Difusión de Calor en Reactor Farma
Implementa Crank-Nicolson y FTCS (Forward-Time Central-Space) explícito para la ecuación del calor 2D en coordenadas cilíndricas. Discretiza el reactor en una malla 200 x 80 (ra…
- Numerical Pdes
- Finite Differences
- Crank Nicolson
Scientific Computing and Numerical Methods - CodePrincipianteNuevo
Integración Numérica de ODEs para Cinética Enzimática en Pharma
Implementa el sistema de 10 ODEs (sustrato, producto, enzima libre, complejos enzima-sustrato y enzima-producto, inhibidores competitivos). Integra con RK4 (paso fijo) y con sci…
- Numerical Odes
- Stiff Systems
- Parameter Fitting
Scientific Computing and Numerical Methods - CodePrincipianteNuevo
Aceleración con NumPy y Numba para Solver Iterativo en HPC
Parte del baseline Python puro (provisto: bucles anidados, ~120 líneas). Versión 1: vectoriza con NumPy usando slicing y operaciones broadcast (sin un solo for explícito sobre l…
- Scientific Python
- Numpy Vectorization
- Numba Jit
Scientific Computing and Numerical Methods - CodeIntermedioNuevo
Migración a Istio con mTLS para Banca Cloud-Native
Audita los 8 servicios de pagos (lenguajes mixtos: Go, Kotlin, Node.js). Diseña adopción incremental: PERMISSIVE mTLS primero (acepta texto plano y mTLS), 2 semanas observando, …
- Service Mesh
- Istio
- Mtls
Service Mesh and Microservices Networking
Cómo funciona
Del briefing al certificado, en seis pasos.
Paso 01
Explora retos alineados con tus estudios.
Paso 02
Acepta el que encaja con tus metas.
Paso 03
Trabájalo con la guía del AI Copilot.
Paso 04
Envíalo para una evaluación estructurada.
Paso 05
Consigue una credencial verificada.
Paso 06
Añádela a LinkedIn con un solo clic.
Equipos del sector tras una década de briefings prácticos
¿Reclutando de este grupo?
Patrocina un reto y conoce candidatos a través de su trabajo real.
Los equipos de la industria pueden diseñar briefings en torno a las habilidades que buscan, y evaluar a los estudiantes por entregables puntuados con rúbrica — no por currículums.



















































































