🌸01μž₯. ν”„λ‘œκ·Έλž˜λ°

βœ…1.1 ν”„λ‘œκ·Έλž˜λ°μ΄λž€?

ν”„λ‘œκ·Έλž˜λ°(Programming)

ν•΄κ²°ν•΄μ•Ό ν•  문제(μš”κ΅¬μ‚¬ν•­)λ₯Ό λͺ…ν™•νžˆ μ΄ν•΄ν•œ ν›„ μ •ν™•ν•˜κ³  μƒμ„Έν•˜κ²Œ μš”κ΅¬μ‚¬ν•­μ„ μ„€λͺ…ν•˜λŠ” μž‘μ—…
  • λ³΅μž‘ν•˜κ³  λͺ…ν™•ν•˜μ§€ μ•Šμ„ 수 μžˆλŠ” 문제(μš”κ΅¬μ‚¬ν•­)을 λ‹¨μˆœν•˜κ²Œ λΆ„ν•΄(decomposition)ν•˜κ³  자료λ₯Ό μ •λ¦¬ν•˜κ³  ꡬ뢄(modeling)ν•΄μ•Όν•˜λ©° μˆœμ„œμ— 맞게 ν–‰μœ„λ₯Ό λ°°μ—΄ν•΄μ•Ό ν•œλ‹€.

  • 문제 ν•΄κ²° λ°©μ•ˆμ„ κ³ λ €ν•  λ•Œ, μ»΄ν“¨ν„°μ˜ μž…μž₯μ—μ„œ 문제λ₯Ό λ°”λΌλ΄μ•Όν•˜λŠ”λ°, μ΄λ•Œ ν•„μš”ν•œ 것이 μ»΄ν“¨νŒ… 사고(Computational thinking)이닀.

μ»΄ν“¨νŒ… 사고(Computational thinking)

"λ“£λ‹€(Listen)"λΌλŠ” ν–‰μœ„λ₯Ό μƒκ°ν•΄λ³΄μž

πŸ‘©πŸ»πŸ‘¨πŸ» μ‚¬λžŒ
- ν•˜λ‚˜μ˜ κ°„λ‹¨ν•˜κ³  λ‹Ήμ—°ν•œ κΈ°λŠ₯
- μ†Œλ¦¬μ˜ 크기 : "크닀" or "μž‘λ‹€"둜 ν‘œν˜„ ( μƒλŒ€μ μΈ κ°œλ…, κΈ°μ€€ 뢈λͺ…ν™• )

πŸ’» 컴퓨터
- μ†Œλ¦¬μ˜ 크기 : "ν˜„μž¬ λ³Όλ₯¨λ³΄λ‹€ 1단계 크게 μ‘°μ •ν•˜λΌ" or "λ³Όλ₯¨μ„ 60으둜 μ‘°μ •ν•˜λΌ" ( 양적 κ°œλ…μΈ 숫자λ₯Ό μ‚¬μš©)
  • 컴퓨터와 μ‚¬λžŒμ€ 사고, μΈμ§€μ˜ 방식이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ—, μ»΄ν“¨ν„°μ˜ κ΄€μ μ—μ„œ 문제λ₯Ό 사고(Computational thinking)ν•΄μ•Ό ν•œλ‹€.

  • 논리적, μˆ˜ν•™μ  사고가 ν•„μš”ν•˜λ©°, ν•΄κ²° 과제λ₯Ό μž‘μ€ λ‹¨μœ„λ₯Ό λΆ„ν•΄ν•˜κ³  νŒ¨ν„΄ν™”ν•΄μ„œ μΆ”μΆœν•˜λ©°, ν”„λ‘œκ·Έλž˜λ° λ‚΄μ—μ„œ μ‚¬μš©λ  λͺ¨λ“  κ°œλ…μ€ 평가 κ°€λŠ₯ν•˜λ„λ‘ μ •μ˜ν•΄μ•Όν•œλ‹€.

βœ…1.2 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(programming language)

  • 문제 ν•΄κ²° λŠ₯λ ₯을 λ°”νƒ•μœΌλ‘œ μ •μ˜λœ 문제 ν•΄κ²° λ°©μ•ˆμ€ 컴퓨터가 이해할 수 μžˆλŠ” 언어인 기계어(machine code)둜 μ „λ‹¬ν•΄μ•Όν•œλ‹€.

  • ν•˜μ§€λ§Œ, μ‚¬λžŒμ΄ 기계어λ₯Ό μ΄ν•΄ν•΄μ„œ κΈ°κ³„μ–΄λ‘œ 직접 λͺ…령을 μ „λ‹¬ν•˜λŠ” 일은 μ–΄λ ΅λ‹€.

  • πŸ‘‰λ”°λΌμ„œ, μ‚¬λžŒμ΄ 이해할 수 μžˆλŠ” μ•½μ†λœ ꡬ문(문법)으둜 κ΅¬μ„±λœ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(programming language)λ₯Ό μ‚¬μš©ν•΄ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•œλ‹€. 그리고 컴파일러(compiler) ν˜Ήμ€ 인터프리터(interpreter)λ₯Ό μ΄μš©ν•΄ 컴퓨터가 이해할 수 μžˆλŠ” κΈ°κ³„μ–΄λ‘œ λ³€ν™˜ν•œλ‹€.

  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” ꡬ문(Syntax)와 의미(Sematics)의 μ‘°ν•©μœΌλ‘œ ν‘œν˜„λœλ‹€.

βœ…1.3 ꡬ문과 의미

ꡬ문(Syntax)과 의미(Semantics)

  • μœ„μ˜ 예제λ₯Ό μ‚΄νŽ΄λ³΄λ©΄, μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λ³€μˆ˜μ—λŠ” μ–΄λ– ν•œ νƒ€μž…μ˜ 값도 ν• λ‹Ήν•  수 μ—†κΈ° λ•Œλ¬Έμ— ꡬ문(문법)μ μœΌλ‘œλŠ” μ „ν˜€ λ¬Έμ œκ°€ μ—†λ‹€.

  • ν•˜μ§€λ§Œ, numberλΌλŠ” μ΄λ¦„μ˜ λ³€μˆ˜μ— λ¬Έμžμ—΄μ΄ ν• λ‹Ήλ˜μ–΄ 있기 λ•Œλ¬Έμ— μ˜λ―Έμ μœΌλ‘œλŠ” μ˜³μ§€ μ•Šλ‹€.

ν”„λ‘œκ·Έλž˜λ°μ˜ λͺ©μ μ€ 문제 해결이닀.

img
  • 문제 ν•΄κ²° λŠ₯λ ₯을 톡해 λ§Œλ“€μ–΄λ‚Έ ν•΄κ²° λ°©μ•ˆμ€ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ 문법을 μ‚¬μš©ν•΄ ν‘œν˜„ν•œλ‹€.

  • 즉, μž‘μ„±λœ μ½”λ“œλŠ” ν•΄κ²° λ°©μ•ˆμ˜ ꡬ체적 κ΅¬ν˜„λ¬Όμ΄λ‹€.

  • 이 λ•Œ, μˆ˜ν–‰ν•˜κ³ μž ν•˜λŠ” λ°”λ₯Ό μ •ν™•νžˆ μˆ˜ν–‰ν•˜λŠ” 것, 즉 μš”κ΅¬μ‚¬ν•­μ΄ μ‹€ν˜„(λ¬Έμ œκ°€ ν•΄κ²°)λ˜μ–΄μ•Ό 의미(Semantics)κ°€ μžˆλ‹€.

  • κ°œλ°œμžλŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ μ œκ³΅ν•˜λŠ” 문법을 적절히 μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜λ₯Ό 톡해 값을 μ €μž₯ν•˜κ³  μ°Έμ‘°ν•˜λ©° μ—°μ‚°μžλ‘œ 값을 μ—°μ‚°, ν‰κ°€ν•˜κ³  쑰건문과 λ°˜λ³΅λ¬Έμ— μ˜ν•œ νλ¦„μ œμ–΄λ‘œ μ½”λ“œμ˜ μ‹€ν–‰ μˆœμ„œλ₯Ό μ œμ–΄ν•˜κ³  ν•¨μˆ˜λ‘œ μž¬μ‚¬μš© κ°€λŠ₯ν•œ λ¬Έμ˜μ§‘ν•©μ„ λ§Œλ“€λ©° 객체, λ°°μ—΄ λ“±μœΌλ‘œ 자료λ₯Ό κ΅¬μ²΄ν™”ν•œλ‹€.

Last updated