Computer Sciences Challenges
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
- ResearchSéniorNuevo
Algoritmo de aproximación para asignación de slots en spots de Telecom
Modela el problema como una variante de set cover con costes (o scheduling con restricciones, según motivación). Diseña un algoritmo de aproximación con cota de garantía demostr…
- Approximation Algorithms
- Linear Programming
- Np Completeness
Advanced Algorithms - ResearchSéniorNuevo
Métodos espectrales para reducir un grafo de transacciones fintech
Implementa: (1) cálculo del Laplaciano normalizado y sus k autovectores menores con ARPACK, (2) sparsificación espectral que reduzca aristas conservando el espectro dentro de ep…
- Spectral Methods
- Matrix Algorithms
- Algoritmos De Grafos
Advanced Algorithms - CodeSéniorNuevo
Generación de Código para GPU vía MLIR para una Startup AR/VR
Define un dialect MLIR con 6 operaciones de alto nivel adecuadas para shaders. Implementa los lowerings sucesivos: ShaderOps → arith + gpu → nvvm → PTX. Compila los 3 kernels (t…
- Mlir
- Gpu Codegen
- Compiler Backend
Advanced Compilers and Program Optimization - AnalysisSéniorNuevo
Protocolo de Coherencia de Caches MESI vs MOESI Multi-Core
Configura gem5 Ruby con MESI_Three_Level y MOESI_CMP_directory para un sistema 8-core con L1 privada + L2 compartida. Ejecuta blackscholes, swaptions, canneal de PARSEC y FFT, R…
- Cache Coherence
- Multicore Architecture
- Gem5
Advanced Computer Architecture 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
- CodeSéniorNuevo
Memory Consistency: Race Detector para Modelos x86-TSO vs ARM Weak
Implementa la herramienta en Python o Rust. Acepta un test litmus (formato simple, 2-4 threads con loads/stores/fences). Implementa los axiomas de TSO (store buffer FIFO, loads …
- Memory Consistency
- Concurrency
- Formal Models
Advanced Computer Architecture - CodeSéniorNuevo
Simulación Física FLIP para Fluidos en una Productora de Animación
Implementa FLIP estándar: grid MAC con velocidades en faces, partículas con velocidad e historia, transfer P2G + G2P, proyección de presión (solve Poisson via Conjugate Gradient…
- Physical Simulation
- Fluid Simulation
- Flip
Advanced Computer Graphics - CodeSéniorNuevo
Optimización Cache-Aware de Motor de Riesgo en Banco Madrileño
Recibes el código fuente C++ del kernel central (4.500 LOC), un dataset realista de 1,2 millones de posiciones y acceso a un nodo dedicado con Intel Sapphire Rapids. Perfila con…
- Cache Optimization
- Memory Layout
- Performance Engineering
Performance Engineering of Software Systems - CodeSéniorNuevo
Implementación de Cola Lock-Free para Banco de Inversión en Madrid
Implementa en C++23 una cola MPSC basada en el algoritmo de Vyukov, con énfasis en el memory ordering exacto (acquire-release y, donde aplique, relaxed con justificación). Cubre…
- Lock Free Algorithms
- Memory Ordering
- Cpp Concurrency
Advanced Concurrency and Parallel Computing - 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.
- CodeSéniorNuevo
Paralelización GPU con CUDA de Simulación Hidrológica en Pyme Chilena
Reescribe el kernel central de la simulación (un solver iterativo de cinco puntos sobre malla 2D) en CUDA C++. Diseña la división de la malla en bloques con consideración de coa…
- Cuda
- Gpu Programming
- Parallel Numerical Methods
Advanced Concurrency and Parallel Computing - CodeSéniorNuevo
Programación HPC con MPI para Centro de Cómputo Universitario en Barcelona
Recibes el código fuente (Fortran + MPI, 6.000 LOC), acceso a una partición del cluster (16 nodos con 16 cores cada uno) y datasets representativos. Perfila con Score-P + Vampir…
- Mpi
- Hpc Programming
- Parallel Performance
Advanced Concurrency and Parallel Computing - CodeSéniorNuevo
Implementar consenso Raft para banderas de funcionalidad on-prem
Implementa el núcleo de Raft (elección de líder, replicación de log, snapshotting) a partir del paper original de Ongaro y Ousterhout. Usa una base clave-valor embebida (BoltDB …
- Raft Consensus
- Go Programming
- Grpc
Distributed Systems - CodeSéniorNuevo
Implementa un alocador de memoria pool en C para un microservicio de tiempo real
Diseñarás un alocador con 4 pools por tamaños (64, 256, 1024, 4096 bytes) usando free-lists intrusivas y bloques pre-asignados al arranque. Reemplazarás malloc/free en los 6 pun…
- C Programming
- Memory Management
- Pointers
Imperative and Low-Level Programming 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
- CodeSéniorNuevo
Construye un gemelo digital de una línea de envasado en una planta de Stellantis Vigo
Recibirás topología de la línea y acceso a 14 PLCs (Programmable Logic Controller) por OPC UA. Modelarás la línea con simulación de eventos discretos (SimPy o AnyLogic). Conecta…
- Cyber Physical Systems
- Digital Twin
- Opc Ua
Internet of Things and Cyber-Physical Systems - CodeSéniorNuevo
Diseña un sistema de mantenimiento predictivo en una mina de cobre en Antofagasta
Auditarás la telemetría existente (CAT MineStar) y propondrás 2 sensores adicionales (vibración tridimensional, temperatura por termopar). Diseñarás la arquitectura: gateway ind…
- Cyber Physical Systems
- Predictive Maintenance
- Iot Architecture
Internet of Things and Cyber-Physical Systems - CodeSéniorNuevo
Conecta una flota de vehículos eléctricos a un V2G piloto en Madrid
Auditarás la flota y los puntos de carga (compatibilidad OCPP 2.0.1 + ISO 15118-20). Diseñarás el agregador (backend en Python o Go) que recibe consignas de la distribuidora y o…
- Cyber Physical Systems
- Iot Architecture
- Ocpp
Internet of Things and Cyber-Physical Systems - CodeSéniorNuevo
Implementar un microkernel didáctico con paso de mensajes
Diseña la API de mensajes (send/recv/call), el formato de los IPC y el mecanismo de gestión de capabilities para los servidores. Implementa el kernel (cambio de contexto, planif…
- Microkernels
- Kernel Architecture
- Ipc
Advanced Operating Systems - AnalysisSéniorNuevo
Auditar el aislamiento de un sistema OS para automoción funcional
Recibes una documentación de partición del hipervisor (memoria asignada, slots temporales, canales IPC permitidos) y acceso a una placa de evaluación equivalente. Define 6 propi…
- Virtualization
- Os Security
- Sistemas Operativos
Advanced Operating Systems - CodeSéniorNuevo
Implementar Raft tolerante a fallos para un servicio de configuración
Implementa Raft con elección de líder, replicación de log, snapshots y cambios de membresía (joint consensus). Construye una suite de tests con simulación de red (delays, partic…
- Distributed Consensus
- Raft
- Concurrent Data Structures
Parallel and Distributed Algorithms - CodeSéniorNuevo
Diseñar una estructura concurrente lock-free para un motor de matching
Diseña una estructura concurrente para un order book (cola de prioridad por precio + FIFO por timestamp dentro de cada nivel) lock-free o wait-free en lectura. Implementa en C++…
- Concurrent Data Structures
- Lock Free
- Parallel Algorithms
Parallel and Distributed Algorithms - CodeSéniorNuevo
Implementar ejecución simbólica sobre un subset de C
Define el subset de C admitido (sin punteros, sin malloc, enteros de tamaño fijo, structs simples). Implementa el motor en Python: parser de C usando pycparser, IR propia o LLVM…
- Symbolic Execution
- Program Analysis
- Smt Solving
Program Analysis - CodeSéniorNuevo
Diseñar un análisis de punteros para una base de código C++ legacy
Implementa un análisis de punteros basado en Andersen (inclusion-based) o Steensgaard (unification-based) sobre LLVM IR. Justifica la elección con el trade-off precisión vs esca…
- Pointer Analysis
- AnáLisis EstáTico
- Program Analysis
Program Analysis - 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
- AnáLisis EstáTico
- Program Analysis
Program Analysis - DesignSéniorNuevo
Diseño de Arquitectura Multi-Region Active-Active para SaaS de Salud
Modela 4 dominios de datos: pacientes, consultas, recetas, billing. Para cada uno decide: replicación síncrona vs asíncrona, modelo de consistencia (read-your-writes, eventual, …
- Software Architecture
- Failover Multi RegióN
- Disaster Recovery
Software Architecture - CodeSéniorNuevo
Fuzzing Dirigido sobre Parser de Recetas en una HealthTech de São Paulo
Recibes el parser (12.000 líneas de C compatibles con C11) y un corpus inicial de 240 archivos válidos. Construye los harnesses para AFL++, libFuzzer y honggfuzz, con sanitizers…
- Fuzzing
- Memory Safety
- C Programming
Software Security
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.



















































































