프로그래밍 교육 단상

Quora에 좋은 질문이 올라왔다. 내용을 바꿔 해석하면, 컴퓨터 프로그래밍 교육에 언어는 별로 중요하지 않은가? 또는 언어는 부차적인가?로 말할 수 있겠다. 답변은 다들 매우 부정적이다. 이유는, 순차적인 프로그래밍의 아주 단순한 부분만을 커버할 뿐 보다 복잡한 문제해결까지는 직접 언어를 쓰지 않으면 미치지 못한다는거다. pseudo 코드를 쓰는 것을 추천하기도 했다.

그 아래 붙어있는 연관글인데, 좋은 프로그래밍 훈련에 대해 내 눈에 띈 좋은 조언은 다음과 같다.

I recommend you pick a project, say creating a Tetris or Pacman game, and complete it. Make sure your code (a) works, (b) is well organized, (c) is easy to read, and (d) is testable.

내 요즘의 프로그래밍은 4가지에 대해 각각 거의 같은 시간을 쓰는데, (1) 코딩 (2) 주석 (3) 문서화 (4) 테스트이다. 로직은 주석을 psuedo 코드 형태로 작성하니까 로직을 고민하는 시간은 코딩과 주석 작성할 때 거의 녹아든다.

작업 순서는, (1) 주석으로 psuedo 코드를 먼저 작성한 후, (2) 테스트를 작성하고, (3) 코딩을 하고, (4) 테스트가 모두 성공하면 문서화를 수행한다. TDD에 엄격하면 테스트 먼저 작성하는거고, 가끔은 예전처럼 (2) 코딩을 하고 (3) 테스트를 작성한다.

여하간 말하고자 하는 짧은 결론은, 코딩교육에서 코딩을 배제하는건 무리수가 있다는거다.

Advertisements