0% found this document useful (0 votes)
23 views

30+Day+Beginner+Coding+Challenge

The 30 Day Beginner Coding Challenge by HenrikM Dev is designed to introduce newcomers to programming fundamentals through a structured approach involving four projects over four weeks. Participants will learn key concepts in C programming, including syntax, variables, loops, and data management, while building practical applications like a tip calculator and a to-do list app. The challenge emphasizes consistency in practice and encourages self-learning, aiming to establish a strong foundation for aspiring developers.

Uploaded by

belo55073
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

30+Day+Beginner+Coding+Challenge

The 30 Day Beginner Coding Challenge by HenrikM Dev is designed to introduce newcomers to programming fundamentals through a structured approach involving four projects over four weeks. Participants will learn key concepts in C programming, including syntax, variables, loops, and data management, while building practical applications like a tip calculator and a to-do list app. The challenge emphasizes consistency in practice and encourages self-learning, aiming to establish a strong foundation for aspiring developers.

Uploaded by

belo55073
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

30 Day Beginner Coding Challenge

HenrikM Dev

🚀Congratulations on taking your first steps in the world of programming! This 30-day coding
challenge is designed to introduce you to the fundamentals of programming, one step at a time.
By the end of this challenge, you'll have a strong foundation and the ability to build basic
console applications.

Aspiring developers often ask me where they should start when it comes to learning how to
code. The coding world is vast and there are a ton of resources out there. My hope in this

🗺️🚶‍♂️
challenge is to simplify the learning process and give you a clear path and foundation to start
your programming journey!

The best way to learn programming is to constantly be building something. In this challenge, I
will guide you through 4 projects, 1 per week. No sweat if you need more time on a particular

🛠️📆
project. However, be sure to be consistent in your development! The programming concepts
will not stick if you are inconsistent in your coding practice.

The goal here is to help you start getting into the rhythm of coding in 30 days.
Watch the companion video for this guide - Your First 30 Days of Coding

Once you know some fundamental programming concepts, the possibilities for what you can

🚪✨
build will start to open up. And as you practice your programming language more, you will
become fluent!

🌐🤓
If you get confused about one of the steps, feel free to email me at [email protected].

Excited to get started? Great! Let's embark on this incredible coding adventure together. 🚗💨
Week 1: Introduction to Programming
Coding Concepts: Basic syntax, variables, data types, input/output functions, operators libraries,
and headers.

Day 1: Welcome to the Challenge!


● Read the first page of this challenge
● The tutorials in this challenge are in C. I personally recommend beginners start because
it forces you to understand more how computers work and "think". Many languages are
inspired by C, and so it's easier to learn other languages after having learned C. With
that said, it's up to you which programming language you want to learn first.
● Watch this video - Why Beginners Should Learn How To Code in C!
● If you can’t click the links, you can find them in my Coding Tutorials playlist.

Day 2: Set Up Your Development Environment


● Watch this video - How To Start Coding for Beginners!
● This video talks about the necessary tools you need to code: Code editor, code compiler,
and a code runner.
● It also introduces you to what an IDE is and how to use it (e.g., Visual Studio Code)

Day 3: Learn How to Input and Output Data


● Watch this video - How To Display Info and Data in C [C Tutorial]
● This video will teach you how to use the printf and scanf functions.
● Printf is used to output data for the user. Scanf is used to get input data from the user.

Day 4: Your First Program!


● Everyone’s first program is the “Hello, World!” program.
● Write your own “Hello, World!” program using the printf function.
● Compile and run your program using Visual Studio Code.
● Watch this video if you get stuck! - Your First 30 Days of Coding

Day 5: Learn About Variables and Data Types


● Watch this video - How To Use Data Types in C [C Tutorial]
● This video gives you a basic introduction on using variables and data types.
● Declaration and initialization of variables

Day 6-7: Practice and Review


● Fun Project 1: Build a fully functional Tip Calculator application in C that calculates the
tip amount for a given bill. Hint: Use the “double” data type.
● Use “scanf” to get the user’s bill, then calculate and use “printf” to display their tip
amount and total bill (bill including tip).
● Watch this video if you get stuck! - Avoid This Common Scanf Mistake! [C Tutorial]
Week 2: Building a Calculator App

Day 8: Learn How to Use While Loops


● Watch this video - How To Use While Loops in C [C Tutorial]
● While loops are fundamental when it comes to building applications.
● Use this in your calculator app to allow the user to do as many calculations as they like.

😉
○ User - the person who uses the app
○ Developer - the person who builds the app (aka you )

Day 9: Learn How to Use If and Else Statements


● Watch this video - How To Use If and Else Statements in C [C Tutorial]
● If and Else statements are also fundamental as they give users different “paths” to go
through within the application.
● This calculator app will have two main paths:
○ 1) Do another calculation 2) Finish doing calculations and quit the app.
● Use an if/else statement to check the user input to allow the user to exit the application.

Day 10: Learn What Console Applications Are


● Watch this video - How and Why Begin with Console Applications?
● Console applications are applications that have a text-only user interface. Your Tip
Calculator from Week 1 is a basic console application.
● These kinds of applications were the first programs I built when I was in University.
These are also the first programs that I teach beginners to develop.
● It helps beginners focus on the task of programming

Day 11-14: Practice and Review


● Fun Project 2: Create a basic calculator program that can perform addition, subtraction,
multiplication, and division.
● The purpose of this project is to get you familiar with console applications and using
arithmetic operations (addition, subtraction, multiplication, and division).
● Watch this video if you get stuck! - How to Use ChatGPT To Get Better at Programming
[Beginner Coding Challenge]
Week 3: Building a "Guess the Number" Console Game
Fun Project 3: Develop a complete "Guess the Number" console game where the computer
generates a random number, and the player has to guess it within a certain number of attempts.

Day 15: Learn How to Use For Loops


● Watch this video - How to Use For Loops [C Tutorial]
● For loops are like while loops, but they have some special properties.
● While loops may not have what is called an “iterator”, but for loops usually do.
● Use a for loop in your game as a way to give the player a certain number of attempts.

Day 16: Learn How to Generate a Random Number


● Watch this video - How to Generate Random Numbers and Strings in C [C Tutorial]
● Generating a random number in your program is a fundamental programming skill. For
example, they’re essential for simulation and modeling. Especially for natural processes
that are random. Or maybe you want to give a user random suggestions to help in their
creative process. Random number generators are key!
● But if you're a beginner, you're probably going to be using a random number generator
for your games. For example, if you want to simulate a coin flip or a die roll.
● When I was first coding in my TI-83, I was using a random number generator for this
space game I was developing. I had these two airships and I was controlling one ship,
but I wanted the computer I wanted a computer to fight with lol. So I used a random
number generator to give the computer some “intelligence” to move in different kinds of
ways and shoot at me at different random times. That game was fun to program and play
haha

Alright, time to start building the game! 🎮


Day 17: Game Concept and Design
● Plan the game's rules and mechanics
○ The program generates a random number between 1 and 20.
○ The player has up to 5 guesses to determine the secret number.
● Design the user’s experience
○ After each guess, the program provides feedback on whether the guess was too
high or too low.
○ If the player correctly guesses the number within 5 attempts, they win.

Day 18: Game Logic and Implementation


● Capture the user input for guessing
● Generate a random number for the player to guess
● Implement game rules and win/lose conditions
○ Hint: Use if/else statements

Day 19: User Interaction and Gameplay


● Provide feedback on the correctness of guesses
● Implement the game loop for repeated play and tracking on the number of guesses.
○ Hint: Here’s where you can use the for loop!

Day 20-21: Game State and Scoring


● Manage the game state (start, playing, win, lose)
● Optional: Implement some sort of scoring. Be creative!
● Display the final results
Week 4: Building a To-Do List Console App
Fun Project 4: Develop a fully functional To-Do List Console App in C that allows you to add,
view, mark as complete, and delete tasks.

Day 22: Learn How to Use Arrays and Strings


● An array is a way to have one variable name refer to a collection of variables of the
same data type.
● A string in C is just a char array!
● Watch this video - How To Use Arrays in C

Day 23: Learn How to Use Structs


● Watch this video - Organize Your Data Using Structs
● Structs are a way for you to create your own special data types.
● For your To-Do List app, you can use a struct to store each task.

Day 24: Learn How to Use a CSV File


● Watch this video - How To Read a CSV File in C
● This video introduces you to the idea of reading and storing data.
● Think about how you can use a CSV file to read and store user data.
● The CSV file allows the user to have their to-do list even if they close the application and
run it at a later time.

Day 25: Implementing Task Management


● Write code for adding, viewing, and deleting tasks
● Create the struct data type for a task
○ Handle task descriptions as strings
● Manage task lists using arrays
○ You can create a struct for your tasks and use an array of that struct data type.
○ This array of your struct is the list of the tasks.

Day 26: Task Status and Prioritization


● Add functionality to mark tasks as complete
● Implement task priorities

Day 27: Error Handling and Validation


● Ensure user inputs for tasks are valid (e.g., non-empty)
● Provide feedback for incorrect inputs

Day 28-30: Practice and Review


● Finish up and test your app
Day 30: Celebrate! 🎉🥳
😎
● Yay! You did it!
● Look back at all the cool applications you built in 30 days
● Even if you didn’t write perfect code, you still learned the fundamentals of programming
that you can use in other programming languages!

Didn’t make it to day 30? 😰


🙂
● Don’t sweat it, the goal is not to make it to day 30 (per se)
● The goal is to keep growing and “developing”
● Consistency is the key!
● If you’ve spent at least 30 minutes of coding on multiple days of the week every week, I
say you are already better than most beginners I’ve worked with hehe!

Extra Tips:
● Use variable names that are descriptive. You don’t want to use variables with the name
“a” and “b”, because you will eventually forget what each variable is for, especially if you
take an extended break from your program.
● Use a lot of comments in your program to help you remember what each part of your
code does. This will help you think through your program, but ultimately helps others and
your future self know what the code is doing.
● When something isn't working properly, use print statements to verify the value of certain
variables.
● When you can't figure out why there is an error:
○ Use print statements to find the exact line that is causing the error
○ Comment out parts of the code to narrow down which part is causing the error
● Your code doesn’t have to be perfect. Get it to work first, then optimize/clean it up later
● Watch this video for some code management tips - How I Manage My Code - 7 Tips
That Changed My Career!
Becoming a Developer
Here’s why I think this would be a good challenge for aspiring developers.

You learn some core fundamental programming concepts, set up a development environment
you can use to build other app ideas, and build a habit of learning and developing.

You also learn an essential programming skill: self learning. Every programmer practices this
skill at some point since there are endless useful programming tools, libraries and languages
out there.

The coding challenge gives you the typical programming experience but with the path forward
laid out.

As you learn more paths of programming and how programs work, you gain more insight into
what's possible. With this comes more ideas for more apps!

As you build more, it turns into this snowball effect and you become a better and better
programmer.

I hope this encourages you and helps you make good initial progress. Be sure to check out my
YouTube channel for tutorials that will help you get better at coding!

Thank you for downloading this challenge. May this be a good start to your programming
journey!

Your programming coach,


-Henrik
Henrikmdev.com

P.S. If you would like more in depth help, I also do 1-on-1 coaching! You can apply for my
mentoring program at the link below:
Click here to apply!

You might also like