Programming Fundamentals Roadmap

A solid foundation for anyone wanting to start their journey to becoming a software developer.

Back to Roadmap
Phase Main Area Content Objective
1. Introduction Overview & Environment Setup
  • What is programming? History, types of languages.
  • Install IDE/Editor (VS Code), JDK/Python.
  • Write and run the "Hello, World!" program.
Understand basic concepts and successfully run the first program.
2. Basic Components Variables, Data Types & Operators
  • Variables and naming conventions.
  • Data types: number, character, boolean.
  • Operators: arithmetic, comparison, logical, assignment.
Store and manipulate different types of data.
3. Control Structures Branching & Loops
  • Branching structures: `if-else`, `switch-case`.
  • Loops: `for`, `while`, `do-while`.
  • Keywords `break` and `continue`.
Control execution flow and solve repetitive problems.
4. Basic Data Structures Arrays & Strings
  • One-dimensional arrays: declaration, access, traversal.
  • Strings and common handling methods.
  • Introduction to multi-dimensional arrays.
Organize a collection of data and process text.
5. Modular Programming Functions / Methods
  • Define, call functions.
  • Parameters and return values.
  • Variable scope.
Write organized, readable, and reusable source code.
6. OOP Introduction Classes & Objects
  • Concepts of Class and Object.
  • Properties and Methods.
  • Introduction: Encapsulation, Inheritance, Polymorphism.
Understand the mindset and design simple classes.
7. Final Project Build a Small Application
  • Apply learned knowledge.
  • Ideas: Calculator, Contact manager, Text-based game.
  • Focus on code organization, problem-solving.
Consolidate knowledge and have a small product for the portfolio.

Core Mindsets

1. Divide and Conquer

Don't try to solve a big problem all at once. Break it down into smaller problems and solve each part one by one.

2. Debugging is a Skill

It's normal for code to have bugs. Learning to read error messages, trace, and fix bugs is as important as writing code.

3. Read the Documentation

No one remembers everything. The ability to search and understand official documentation is a developer's superpower.

4. Persistence & Consistency

Programming is a long journey. Learn and code consistently every day, even just a little, instead of cramming it all in one day.