Skip to content
Minsing Log
Go back

English Edition

Top-Down vs Bottom-Up

Programming & CS

As a beginner programmer blindly trying to figure things out from scratch, I had only an abstract understanding of the top-down approach and did not truly understand it. Whenever I tried top-down and encountered an unfamiliar word or term, I ended up straying from the essence of the problem more than once while trying to understand it. Therefore, to resolve this issue, I want to organize and understand the top-down and bottom-up approaches more easily.

If there are any incorrect or problematic parts, please feel free to leave feedback in the comments at any time!

minsing-sik One-Line Summary

1. top-down

Look at a highly abstract concept and define the other conceptual elements by breaking it down step by step.

2. bottom up

Start by understanding concrete component concepts, then assemble them to understand higher-level concepts.

Top-Down

the top-down approach starts with a highly abstract concept. If we say that we are flushing a toilet, we begin the design with “pressing the button makes the water go down.” Press the button -> lever moves -> lever principle -> toilet flapper opens -> pre-filled water flows … This is the process of defining other specific design elements like these.

In other words, the top-down approach starts with something abstract and progressively increases the level of detail.

Bottom-Up

This is an approach that starts with concrete elements, assembles them step by step, and works toward the general. You design the process as follows: fill the tank with water, open the flapper, use a lever to open the flapper, and press the toilet button to make the water go down.

In other words, concrete elements -> general concept

For more details about the advantages, disadvantages, and uses, see the link. Source

공개 여정 구독

글이 올라오면 이메일로 보내드릴게요.

개발, 창업, 배움, 실패와 회고를 짧고 솔직하게 기록합니다. 검색으로 스쳐가는 독자가 아니라 여정을 따라오는 팬을 만들기 위한 뉴스레터입니다.

뉴스레터는 준비 중입니다. 그동안 RSS 로 구독하거나 이메일 로 알림을 요청해 주세요.


Share this post:

Comments

Sign in with GitHub to leave a comment.


Previous Post
Could Algorithms Also Be Considered Studying Mathematics?