Back to Education
Course · Maktabkhooneh · Jadi

Understanding Programming

This course was important because it focused less on memorizing syntax and more on understanding how programmers think. It helped me connect the act of coding with problem decomposition and algorithmic reasoning.

Programming mindsetProblem solvingAbstractionLogicDebugging
Course or track certificate preview

What I learned

I used it to strengthen the conceptual side of programming: how to break problems into smaller steps, how to reason about inputs and outputs, and how to write code that expresses an idea clearly.

Why it mattered in my path

It made the transition into CS50 and software engineering easier because I already had a stronger base for thinking about programs, not just writing commands.

What this course added to my engineering stack.

Understanding Programming was not just a certificate item. I used it as one layer in a longer path: understand the concept, implement it in code, test it on assignments or notebooks, then connect the idea to future portfolio systems.

01 · Core role

Why I studied it

This course was important because it focused less on memorizing syntax and more on understanding how programmers think. It helped me connect the act of coding with problem decomposition and algorithmic reasoning. The reason it matters on this page is that it shows the exact stage where my learning moved forward, instead of presenting education as a flat list of names.

02 · Concepts

What I focused on

The most important layer was not memorizing definitions; it was learning how the course concepts behave when they are turned into working code, trained models, evaluation outputs, and notebooks.

Programming mindsetProblem solvingAbstractionLogicDebugging
03 · Practice method

How I used it

I treated the course as a practical loop: watch the theory, re-implement the assignment logic, inspect outputs, record results, and then keep the code in a public repository as evidence of the learning process.

04 · Portfolio connection

How it connects

It made the transition into CS50 and software engineering easier because I already had a stronger base for thinking about programs, not just writing commands. This page is represented as a learning foundation. Even without a separate milestone gallery here, it explains the role of the course in the larger path from programming foundations to AI engineering.

Theorymathematical or conceptual model
Implementationnotebooks, functions, model code
Evidencecertificate, repo, outputs, milestones
Engineering useapplied later in apps and research

Learning notes

I used it to strengthen the conceptual side of programming: how to break problems into smaller steps, how to reason about inputs and outputs, and how to write code that expresses an idea clearly. I also used the course to improve how I explain technical decisions: why a model is chosen, what assumptions it makes, where it fails, and what the next improvement should be. That explanation layer is important because my goal is end-to-end AI engineering, not only passing assignments.

Evidence and navigation

  • Official course page is linked for source context.
  • GitHub repository is linked where I have public code.
  • Certificate or badge appears in the showcase when available.
  • Milestone cards open separate pages when the course has larger labs or projects.