Roadmap weekly programming challenges 2024
Study path with exercises to improve your programming logic and learn any language. Free, at your pace and in community.
https://retosdeprogramacion.com/roadmap
Ranking of languages and users
Are you participating in the challenges? Now you can check the ranking of users and languages according to their number of contributions.
https://retosdeprogramacion.com/roadmap/ranking
Important information
- Every week a new challenge is published and last week's exercise is corrected live from Twitch .
- In the "Events" section of our Discord server you will find the day and time by country of the live events.
- You can use any programming language , and find both my corrections and those of the community in the directory of each challenge.
- Do you want to participate? I explain it to you in the Instructions section of this same document.
- The challenges follow an order based on their study path, but if you already have knowledge you can solve them completely independently. Simply check its difficulty level.
- Once the week of publication of the challenge has passed, you will be able to consult my correction and those of the community in any programming language.
Check the website for more information.
Correction and next exercise
Monday, December 23, 2024 at 8:00 p.m. (Spain time) from Twitch
Check the schedule by country and create a reminder
Roadmap
# | Exercise | Correction | Video | Community |
---|
00 | SYNTAX, VARIABLES, DATA TYPES AND HELLO WORLD | | ▶️ | |
01 | OPERATORS AND CONTROL STRUCTURES | | ▶️ | |
02 | FUNCTIONS AND SCOPE | | ▶️ | |
03 | DATA STRUCTURES | | ▶️ | |
04 | CHARACTER STRINGS | | ▶️ | |
05 | VALUE AND REFERENCE | | ▶️ | |
06 | RECURSIVITY | | ▶️ | |
07 | PILES AND QUEUES | | ▶️ | |
08 | CLASSES | | ▶️ | |
09 | INHERITANCE AND POLYMORPHISM | | ▶️ | |
10 | EXCEPTIONS | | ▶️ | |
11 | FILE MANAGEMENT | | ▶️ | |
12 | JSON AND XML | | ▶️ | |
13 | UNIT TESTS | | ▶️ | |
14 | DATES | | ▶️ | |
15 | ASYNCHRONY | | ▶️ | |
16 | REGULAR EXPRESSIONS | | ▶️ | |
17 | ITERATIONS | | ▶️ | |
18 | SETS | | ▶️ | |
19 | ENUMERATIONS | | ▶️ | |
20 | HTTP REQUESTS | | ▶️ | |
21 | CALLBACKS | | ▶️ | |
22 | HIGHER ORDER FUNCTIONS | | ▶️ | |
23 | SINGLETON | | ▶️ | |
24 | DECORATORS | | ▶️ | |
25 | LOGS | | ▶️ | |
26 | SOLID: SINGLE RESPONSIBILITY PRINCIPLE | | ▶️ | |
27 | SOLID: OPEN-CLOSED PRINCIPLE | | ▶️ | |
28 | SOLID: LISKOV SUBSTITUTION PRINCIPLE | | ▶️ | |
29 | SOLID: INTERFACE SEGREGATION PRINCIPLE | | ▶️ | |
30 | SOLID: PRINCIPLE OF INVESTMENT OF DEPENDENCIES | | ▶️ | |
31 | OLYMPIC GAMES SIMULATOR | | ▶️ | |
32 | DEADPOOL AND WOLVERINE BATTLE | | ▶️ | |
33 | RESCUING MICKEY | | ▶️ | |
34 | HOUSE OF THE DRAGON FAMILY TREE | | ▶️ | |
35 | DISTRIBUTING THE RINGS OF POWER | | ▶️ | |
36 | THE SORTING HAT | | ▶️ | |
37 | OASIS VS LINKIN PARK | | ▶️ | |
38 | MOUREDEV PRO | | ▶️ | |
39 | BATMAN DAY | | ▶️ | |
40 | FORTNITE RUBIUS CUP | | ▶️ | |
41 | RAR T-SHIRT | | ▶️ | |
42 | DRAGON BALL TOURNAMENT | | ▶️ | |
43 | GIT GITHUB CLI | | ▶️ | |
44 | MOUREDEV PRO COUNTDOWN | | ▶️ | |
45 | GITHUB OCTOVERSE | | ▶️ | |
46 | X VS BLUESKY | | ▶️ | |
47 | ADVENT CALENDAR | | ▶️ | |
48 | CHRISTMAS TREE | | | |
49 | SANTA CLAUS'S WAREHOUSE | ?️ 12/23/24 | | |
Courses on YouTube
As we move forward in the roadmap I am creating courses that group the classes together.
Instructions
Fork the project and work with Git to synchronize updates.
- In the project you have a directory for each exercise in the Roadmap folder. Within each directory you will find a file called exercise.md with the statement of each challenge.
- If you want to share your own exercise solution with the community, create a code file with your name and extension, and make a PULL REQUEST against the repository.
- The code file must be placed within the challenge directory, in the folder corresponding to the programming language used (if the language folder does not exist, create it with all its letters in lowercase). For example, if you solved challenge #00 using the Python programming language and your GitHub user is called "mouredev", your fix should be in "Roadmap/#00/python/mouredev.py" . The title of the Pull Request must also follow this format: "#[number] - [language_used]" . In the example above it would be "#00 - Python" . Pull Requests that do not follow this format or contain additional files will be rejected.
- Every WEEK (check the day in the corresponding exercise) I will do a live broadcast from Twitch correcting the challenge, reviewing community solutions and publishing a new exercise.
- If you need help or want to comment on anything about the weekly challenges, you have the "weekly-challenge" channel on our Discord server (also the day and time of correction in the "Events" section).
- You can propose Pull Request with proposals or corrections on exercises from the rest of the community if they have errors. In this way we will collaborate to create an increasingly valuable repository.
- If you are asked for a change/fix in a Pull Request, and after 2 weeks there is no new activity, that request will be closed to keep the repository clean. Of course, you can resubmit the Pull Request whenever you want.
Clarifications
If you have doubts about the name of the directory of a language, try to consult the name that has been used in previous exercises. Some examples that you may doubt:
- c#, not csharp
- c++, not cplusplus
- go, no golang
- javascript, not js
Git and GitHub Quick Guide
- FORK the weekly challenges repository from GitHub.
- CLONE that repository to your local machine
git clone [TU-REPOSITORIO]
. - (Optional) Create a BRANCH for the solution and navigate to it
git checkout -b [EL-NOMBRE-DE-TU-RAMA]
. - Add your solution file to STAGE
git add [FICHERO-DE-TU-RETO]
. - COMMIT with the solution message
git commit -m "#[NÚMERO-RETO] - [LENGUAJE-UTILIZADO]"
. - PUSH
git push [EL-NOMBRE-DE-TU-RAMA]
(can be the "main" or the one you created in step 3) - In the main repository you must go to the branch and do PULL REQUEST.
- CONTRIBUTE.
- CREATE PULL REQUEST (cover the template that will appear).
- If the delivery process has been carried out correctly, your correction will be added to the repository. Otherwise, you will be notified of the changes to be made or the reasons for the rejection.
I've created a complete free course to learn how to work with Git and GitHub from scratch.
More programming challenges
Check out the 101 programming challenges solved and the 12 applications for your portfolio that we have already developed.
Join Campus Community Programming
I present to you mouredev pro, my most important project to help you study programming and software development differently.
Looking for an extra? Here you will find my courses edited by individual lessons, to advance at your own pace and save your progress. You will also have exercises and corrections, tests to validate your knowledge, exam and public certificate of completion, support, student forum, group meetings, exclusive courses and much more.
Go to mouredev.pro and use the coupon "PRO" for a 10% discount on your first subscription.
Hello, my name is Brais Moure.
Freelance full-stack iOS & Android engineer
I have been a software engineer since 2010. Since 2018 I have combined my work developing Apps with the creation of training content on programming and technology on different social networks such as @mouredev .
If you want to join our development community, learn programming, improve your skills and help project continuity, you can find us at: