20 servicios que te ayudarán a afianzar tus conocimientos

Después de aprender los fundamentos de cualquier lenguaje de programación, necesitas practicar mucho. Esto te ayudará a consolidar tus conocimientos y a recordar las estructuras del lenguaje. Una forma de hacerlo es resolviendo problemas. Este enfoque te obliga a utilizar todas las posibilidades de la tecnología aprendida y a pensar en el algoritmo óptimo para la solución.

#1. Project Euler

El Project Euler es un sitio web con problemas matemáticos de programación, fundado en 2001. Los problemas se dividen por nivel de dificultad, y en total hay más de 800. Para resolverlos, los desarrolladores principiantes necesitan recordar las matemáticas de la escuela, y en algunos casos, incluso el programa universitario. Puedes resolver los problemas en cualquier lenguaje de programación que te resulte cómodo.

Captura de pantalla del enunciado del problema 928 de Project Euler, relacionado con el juego de cartas Cribbage.
Problema de programación de Project Euler sobre Cribbage.

#2. w3resource

W3resource ofrece a los usuarios materiales didácticos detallados y ejercicios sobre tecnologías de desarrollo web. El servicio tiene un editor de código integrado para resolver problemas en el navegador. Puedes perfeccionar tus conocimientos de JavaScript, Python, HTML, CSS, SQL, PHP y Java.

#3. Codewars

Servicio con ejercicios en más de 45 lenguajes de programación. Los usuarios tienen acceso a ejercicios prácticos para afianzar los fundamentos, los patrones y los algoritmos. Codewars tiene un sistema interno de rangos que ayuda a elegir los ejercicios del nivel adecuado. El rango aumenta con cada solución correcta. Hay un nivel general de usuario y un nivel de dominio de cada lenguaje de programación.

Captura de pantalla de un kata de programación en Codewars, mostrando el desafío "Número Fuerte".
Resolviendo el kata «Strong Number» en Codewars.

#4. CheckIO

Un juego para navegador que motiva a resolver problemas mediante herramientas de gamificación. Puedes superar las pruebas con Python o TypeScript. La dificultad aumenta a medida que te acercas a los últimos niveles, y si te registras, puedes guardar tu progreso y volver a resolver los problemas más tarde. El patrocinador y socio del proyecto es la empresa JetBrains.

#5. LeetCode

Servicio con problemas algorítmicos que te ayudarán a prepararte para una entrevista de trabajo. Los problemas abarcan todos los aspectos del desarrollo, incluidas las bases de datos, los algoritmos, la teoría de grafos, las estructuras de datos y la programación dinámica. Además de los problemas, hay planes de aprendizaje para dominar un tema desde cero.

Captura de pantalla del problema "Zigzag Conversion" en LeetCode, con código C++ parcialmente escrito.
Resolviendo el problema de conversión Zigzag en LeetCode.

#6. HackerRank

HackerRank organiza competiciones online para desarrolladores, patrocinadas por empresas de TI mundiales. Si te distingues y demuestras tus habilidades, puedes recibir una invitación para una pasantía. Los puestos premiados en las competiciones de HackerRank también pueden ser un buen logro para tu currículum.

#7. Codecombat

Una estrategia para navegador para la que necesitarás habilidades de programación. Puedes elegir entre Python y JavaScript. El servicio está creado para niños, pero también es adecuado para desarrolladores principiantes mayores. También hay un modo para profesores que permite organizar el trabajo conjunto durante las clases.

Captura de pantalla de un nivel de CodeCombat, un juego para aprender programación.
Aprendiendo a programar jugando en CodeCombat.

#8. CodeAbbey

Servicio con más de 300 problemas. Algunos de ellos están disponibles en español, y por resolver 125 problemas puedes obtener un certificado. El sitio web también tiene un foro con participantes activos de la comunidad que pueden ayudarte con la solución.

Captura de pantalla de un problema de programación en CodeAbbey, mostrando un ejercicio de suma con bucles.
Resolviendo el problema «Sum in Loop» en CodeAbbey.

#9. Ruby Quiz

Una colección de rompecabezas en Ruby. Las soluciones a los problemas se describen teniendo en cuenta las características de Ruby, pero las condiciones permiten utilizar cualquier lenguaje de programación.

#10. Rosalind

Rosalind reúne problemas para desarrolladores en el campo de la bioinformática. El servicio no es adecuado para todos, ya que abarca un área estrecha de conocimientos. Los desarrolladores de Rosalind recomiendan utilizar los rompecabezas de la lista para afianzar los temas estudiados anteriormente.

Captura de pantalla de un problema de programación en el sitio web Rosalind, que describe un problema de la secuencia de Fibonacci con una variante.
Desafío de programación en Rosalind sobre reproducción de conejos.

#11. CodingBat

Una colección de problemas en Java y Python. Con la ayuda del servicio, los usuarios pueden dominar los fundamentos y las características de estos lenguajes de programación. Hay problemas fáciles sobre el conocimiento de la sintaxis y otros más complejos que obligan a comprender las estructuras de datos y la lógica.

Captura de pantalla de un ejercicio de programación en CodingBat, mostrando el problema "extraEnd" en Java.
Resolviendo el problema «extraEnd» en CodingBat.

#12 UVa Online Judge

Una colección de problemas complejos de programación olímpica que requieren un profundo conocimiento no solo de la sintaxis, sino también de los algoritmos. La solución debe optimizarse en cuanto a la velocidad de ejecución del código y la memoria consumida.

#13. Codechef

Plataforma para competiciones de programadores que se llevan a cabo varias veces al mes. Puedes prepararte para ellas con la ayuda de una colección de problemas. En algunas competiciones solo se puede participar en equipo. Codechef reparte regularmente premios en metálico, y el sitio web tiene una clasificación interna de usuarios.

Captura de pantalla de un cuestionario de programación en CodeChef que presenta un problema simple de concatenación de cadenas usando cout en C++.
Ejercicio de concatenación de cadenas en CodeChef.

#14. Codingame

Una búsqueda del tesoro para navegador que puedes superar resolviendo problemas. Puedes controlar el juego escribiendo código, y puedes elegir entre más de 20 lenguajes de programación. El sitio web también tiene un servicio gamificado para comprobar las habilidades durante las entrevistas de trabajo.

#15. Exercism

Exercism ofrece a los usuarios acceso a una gran cantidad de rompecabezas en diferentes lenguajes de programación. La lista incluye lenguajes populares y poco comunes. Todos los problemas se basan en situaciones reales de la vida. Así, los principiantes pueden comprender mejor las condiciones. Además de los problemas, el sitio web tiene programas educativos para el aprendizaje autónomo.

#16. InterviewBit

Servicio para prepararse para las entrevistas de trabajo en empresas de TI mundiales. El sitio web tiene problemas complejos sobre el conocimiento de algoritmos y características de la sintaxis, preguntas teóricas y consejos para la preparación. El servicio contiene más de 800 problemas en diferentes áreas de desarrollo.

#17. SQL EX

Una colección de problemas en inglés para el estudio de SQL y las bases de datos. El sitio web tiene una clasificación interna de usuarios, y después de aprobar el examen, puedes obtener un certificado que confirme tu nivel de conocimientos.

No importa tu nivel, siempre encontrarás un recurso que se adapte a tus necesidades. ¡Elige el que más te guste y comienza a programar!

Categorizado en:

Programación,