- μ΄λ€ μ’
λ₯μ μ±
μΈμ§?
- μ λ°μ μΈ λ΄μ©μ λν λΌλ & ꡬμ±λ°©μ
- μ₯λ₯΄κ΅¬λΆ?
- λ΄μ©μμ λΆλ₯
- μ±
μ 체νλ¦μ λν abstraction
- κ°μ
- μ μκ° μ κΈ°νλ μ§λ¬Έμ? & μ±
μμμ λλ΅μ? ( + )
- κ΄λ ¨ μλ£ λ§ν¬
- μ½κ³ λ λ€μ λμ μκ°
~cpp
Part 3 Programming as an individual activity
Comment on Part 3
My goal was
νλ‘κ·Έλλ¨Έλ€μ΄ κ·Έλ€μ μμ
μ νλ λ°©λ²μ λν μ°κ΅¬ κ²©λ €
κ°μΈ νλ‘κ·Έλλ¨Έλ€μ μ€λ ₯μ ν₯μμν€λ κ²μ λν μ΄ν΄λ₯Ό μ΄μ§
25λ
μ΄ μ§λ¬μ§λ§, νλ‘κ·Έλλ¨Έ κ°μΈμ μ΄μ λ³΄λ€ λ μ ν©νμ§ μμ. λΉλ‘ μμ°μ±μ λμμ‘μ§λ§.
Variations in the programming task
Professional versus amateur programming
Amateur
μκΈ°μμ μ μ΄μ©μ μν΄ μμ±
try & error μμΌλ‘ μ κ·Ό. νλ‘κ·Έλλ°μ 미리 μκ°νκ±°λ λ¨Έλ¦ΏμμΌλ‘ κ·Έλ €λ³΄μ§ μμ
νλ‘κ·Έλλ° λ€μ μμ΄λ²λ¦°λ€.
μ΄λ €μμ΄ λ₯μ³€μλ, λ¬Έμ μ체λ§μ μ²λ¦¬νκΈ°λ₯Ό μνλ€.
λ¬Έμ μ λν΄μλ§ λ°°μ΄λ€.
Professional
λ€λ₯Έ μ¬λλ€μ΄ μ΄μ©νλ€λ κ²λ κ³ λ €
μΆν λ³νλλ λΆλΆμ ν립νκ±°λ, μ€νμ λͺ
νννλ€.
ν¨ν€μ§μ μ μ₯ν΄λλλ€.
λ¬Έμ μ체λ₯Ό μλ§μΆμ΄λ§νΌ μ¬κ°νκ² κ³ λ―Όνμ§ μλλ€.
λ¬Έμ ν΄κ²°λ°©λ²μ μ°Ύλ μ¬λ¬ λ°©λ²λ€μ μΈμνκ³ μλ€. λ¬Έμ λ₯Ό μ΄ν΄νκΈ° μν νλ‘κ·Έλ¨μ μ€λΉνκΈ°λ νλ€
νλ‘κ·Έλλ°μ λν΄ λ°°μ΄λ€. (λ¬Έμ μν©μ΄λ κ·Έμ κ°λ° κ³Όμ μ€ λΆμμ μΈ μΌλ€)
exam) 2μ°¨ λ°©μ μ νμ΄ μ
What the programmer is trying to do
case) 물리 κ΅μλ‘λΆν° ν΄λΉ λ©νΈλ¦μ€λ₯Ό λ°μ νλ νλ‘κ·Έλ¨ μμ±. ν κ°λ°μλ (A) λκ° λ°°μΈ μ μλ μ’μ κΈ°νλΌκ³ μκ°, buffering μ μ΄μ©νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ €κ³ ν¨.
κ°κ°μ νλ‘κ·Έλ¨μλ μ μ ν λ λ²¨μ΄ μλ€.
μ±λ₯ : ν¨κ³Ό
case2) 4κ°μ νλ‘κ·Έλλ¨Έ κ·Έλ£Ήμ ν΄λΉ μΌμ λ§‘κΉ.
A : as efficient as possible (λΉ λ₯Έ μ±λ₯ μμ£Ό)
B : as short a time as possible (λΉ λ₯Έ κ°λ° μμ£Ό)
λΉκ΅ :
B κ·Έλ£Ήμ΄ λ¨Έμ νμμ 2/5 λ 1/3 μ λλ§ μ΄μ©.
B κ° νΌν¬λ¨Όμ€μμ A λ³΄λ€ 10λ°° λλ¦Ό.
B - λ©μλκ° μ₯λνμ§ μμλ, κ·Έλ₯ drop ν΄λ²λ¦¬κ³ λ€λ₯Έ κ²μΌλ‘ κ΅μ²΄λ²λ¦Ό.
A - λ¬Έμ λ°μμ μ κ·Όλ°©λ²μ λ°κΎΈκΈ° μ«μ΄ν¨.(μ±λ₯μ ν¬μν΄μΌ ν κ²μ΄λΌ μκ°ν΄λ²λ¦Ό)
μ€μΌμ€ μμΈ‘μμ λ°λ₯Έ μ°¨μ΄
νν¨μ¨μ λ²μΉ : μΌκ±°λ¦¬λ ν λΉλ μκ°μ μ±μΈλ§νΌ λμ΄λλ€.
'λͺ©ν'λ‘μμ μ€μΌμ€μ 'ν λΉλ μκ°'μ μν₯μ μ€ μ μλ€.
Stages of programming work
νλ‘κ·Έλλ°μ κ° λΆλΆμ λν΄ λμΌν λ₯λ ₯κ³Ό μκ³ κ° νμνλ€κ³ μκ°νλ κ²μ μλͺ»μ΄λ€.
'λΆμ, νλ‘μ° λ€μ΄μ΄κ·Έλ¨ μμ±, μ½λ©, ν
μ€ν
, λνλ¨ΌνΈ' λ‘ λΆλ¦¬νλ μ¬κ³ λ μ¬λ¬ λ©΄μμ νλ‘κ·Έλλ°μ μ곑μν¨λ€.
* μ€μ μμκ° κ³ μ μ μ΄μ§ μλ€.
* λͺ¨λ μ μ°¨λ€μ΄ νμνμ§ μλ€.
* μμ°¨μ μΌ νμκ° μλ€.
μ°λ¦¬λ μ΄λ¬ν 볡μ‘ν νμλ€μ λ¨μν νλλ‘ λ§λ€μ΄μΌ νλ€.
νλ‘κ·Έλλ° νλ‘μ νΈλ₯Ό μ μλ λ¨κ³λ€λ‘ μΈλ°νκ² λλ μ μμ§λ§, μ’μ μμ΄λμ΄λ μλλ€.
μ°λ¦¬λ νλ‘μ νΈμ μΌλ€μ μ 리νμ¬ κ°κ°μ μ¬λλ€μ΄ μμ μ΄ μνλ μμμ λν΄μλ‘ νΉμνν μ μλλ‘ ν μ μμ§λ§, μ μ΄λ λκ°μ§ λ¨μ μ΄ μ‘΄μ¬νλ€.
* μ무λ λνλ¨ΌνΈ μμ
μ νλ €κ³ νμ§ μμ κ²μ΄λ€.
* μ무λ κ·Έλ κ² λ°°μΈ κ² μλ€.
μ°λ¦¬λ κ°κ°μ νλ‘κ·Έλλ¨Έλ€μ΄ μμ μ΄ μ λͺ»νλ μμμ λν΄ μ€νμ
리μ€νΈκ° λκ² μΌμ ν λΉν¨μΌλ‘μ νμ΅λ₯ μ κ·Ήλνν μ μλ€. λν, κ·Έκ° λ¬Έμ μν©μ΄ μκ²Όμλ κ°κ°μ΄ λ€λ₯Έ μμ
μΌλ‘ κ΅μ²΄ν μ μλ κΈ°νλ₯Ό κ°μ§ μ μλ€.
νλ‘κ·Έλλ° νλ‘μ νΈμ λν μ 체 νλ°ν΄λ₯Ό λκ³ λλ€, νλ‘κ·Έλλ¨Έλ€μ΄ μμ
νλ λ μ¬λ°λ₯Έ λ°©λ²μΌλ‘ μμ
μ λλλ κ²μ μλνλ€.
exam) ν
μ€ν
λ¨κ³
μλ¬μ μ‘΄μ¬λ₯Ό νμ§νλ€.
μλ¬μ μμΉλ₯Ό μ°ΎμλΈλ€.
μλ¬λ₯Ό μμ νλ€.