Computational thinking and Git basics
Connect data representation, algorithms, abstraction, and computer architecture with version control.
Read the Korean original on Velog ↗English translation

Computational thinking breaks a problem into steps that can be expressed as rules and data. It helps with writing code, but also with understanding the structure of a complex problem.
Representing data with zeros and ones
Computers store numbers, text, images, and sound as combinations of bits. Character encodings map text to numeric representations. UTF-8 encodes Unicode characters as bytes, and charset="UTF-8" tells a browser how to interpret those bytes.
Algorithms and abstraction
An algorithm is a finite procedure for solving a problem. Methods that produce the same result can differ in time, memory use, and readability. Extracting repeated code into a function is an example of abstraction: implementation details become a named concept.
Why computer architecture matters
A computer operates through communication between the CPU, memory, storage, and input/output devices. Terms such as 32-bit and 64-bit describe architectural properties, including register widths and address-space conventions, that affect memory addressing and data models.
Tracking change with Git
Git is a distributed version control system that records changes in commits.
Working tree → Staging area → Commit
Branches provide separate lines of work, and merges combine them. When overlapping changes conflict, resolve the conflict to decide the final content. Computational thinking structures a problem into steps and rules; Git structures the evolution of a solution into traceable changes.