At the end of 2021 I found myself a programmer who only knows about some programming languages and some frameworks but with no real programming experience,no projects and no achievements.
Why ?
It was because I didn't start with the fundamentals, I didn't learn about algorithms, data structures or anything important as Big O.
My Decision
I decided to start from the beginning as if I learnt nothing before, and then wrote my goals of 2022, a modified roadmap every beginner should use.
My Roadmap 2022:
1- Introduction to programming:
Programming is writing computer code to create a program, to solve a problem. Programs are created to implement algorithms . Algorithms can be represented as pseudocode or a flowchart , and programming is the translation of these into a computer program.
Freecodecamp video
2-Algorithms and data structures
A data structure is a named location that can be used to store and organize data. And, an algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow us to write efficient and optimized computer programs.
Freecodecamp videos:
First video : https://www.youtube.com/watch?v=RBSGKlAvoiM&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=4
Second video: https://www.youtube.com/watch?v=zg9ih6SVACc&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=5
Third video: https://www.youtube.com/watch?v=BBpAmxU_NQo&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=8
)
3- Learn dynamic programming
Dynamic programming is both a mathematical optimization method and a computer programming method.
Freecodecamp dynamic programming video:
https://www.youtube.com/watch?v=oBt53YbR9Kk&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=7
4- Take CS50 Course:
CS50 is an on-campus and online introductory course on computer science taught at Harvard University and Yale University. In 2016, CS50 became available to high school students as an Advanced Placement Computer Science course
Most Important lectures in my opinion are :
5- learn about BIG O notation:
Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.
Freecodecamp : https://www.youtube.com/watch?v=Mo4vesaut8g&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=1
CS dojo: https://www.youtube.com/watch?v=D6xkbGLQesk&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=2
Hacker rank: https://www.youtube.com/watch?v=v4cd1O4zkGw&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=3
6- Learn Dart and flutter:
Flutter is a cross-platform software development framework that was presented by Google in 2015 and received its first release in May of 2017. Flutter nowadays has steadily grown and provided possibilities not only for iOS and Android mobile development but also for web and desktop applications as well.
Freecodecamp : https://www.youtube.com/watch?v=pTJJsmejUOQ&t=35s
Acadmind: https://www.youtube.com/watch?v=x0uinJvhNxI&t=272s
The net ninja : https://www.youtube.com/watch?v=1ukSR1GRtMU&list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ
7-Program projects on your own
After you practice projects in the coursesyou should make at least 4-6 projects on your own from scratch and upload them on GitHub
project ideas:
๐ Uber Clone with Flutter. ...
๐ E-Commerce App using Flutter. ...
๐ Clubhouse Clone UI using Flutter. ...
๐ SpaceX Go - Launch Tracker using Flutter. ...
๐ Tetris Game using Flutter. ...
๐ Build a Beautiful Pokedex (Pokemon) App using Flutter. ...
๐ Game Store using Flutter. ...
๐ Proximity - Flutter Widgets App.
Read this article for more project ideas
8- Read books
You must read one book at least about programming and it will help you.
Books about flutter:
- Beginning App Development with Flutter.
- Beginning Flutter: A Hands On Guide to App Development.
- Flutter Apprentice.
- Flutter Complete Reference.
- Flutter: Dรฉveloppez vos applications mobiles multiplateformes avec Dart.
- Flutter for Beginners.
- Flutter in Action.
- Flutter Libraries We Love.
9- Build your resume
Build a nice resume to land your first job, and it should include :
Your name, email address, and social media accounts
skills with the percentage of experience
project links on GitHub
your education level and degree if you have one
course certifications if present
languages you speak and mention your mother language
So,
That was it for this post , follow me , like ,share if you like it and if you have any comments type them in the comment section below and thanks for reading.
Information about me :
- Name: Rawan Amr Abdulsattar
- Gender: female
- Nationality: Egyptian
- Blog: https://codewithrona.blogspot.com/
- Email address: rawanamrabdulsattar@gmail.com
- Dev.To account: https://dev.to/rawan_amr_abdulsattar
- Twitter : https://twitter.com/RawanAmr1552006
- Instagram : https://www.instagram.com/rawanamr1552006/
Top comments (6)
I feel you trying to achieve too much stuff in only a year. Learning half of this stuff you aimed would be fantastic. For instance: taking a year to learn flutter would be totally reasonably and a great achievement. There's a quote I like that I think could be useful here: "we overestimate what we can do in a year and underestimate what we can do in ten.
I will try my best to do everything on my list , my problem isn't the number of things I want to learn , my problem is that I am a middle school student and I will be In high school at the end of 2022 and I have a lot of studies and exams.
Thanks for your nice comment!
Looks like some great stuff to learn to me. As an experienced developer who didn't get the full CS experience (just short of a minor in CS), I can see there's a mix of info here that is "nice-to-know" and some that is "you really should know this."
It's nice to know that my post helped you.
Thanks for your nice comment!
This is great. I recently started to review Algorithm and Datastructure using the super long video from FreeCodeCamp. But I fell asleep. in the first hour.
You don't have to watch all of it in one time, you can divide it into smaller chunks and watch them one by one in order to understand it better and make it effective and also in order not to sleep in the first hour๐๐๐ !
Thanks for your nice comment!