매주 토요일마다 코딩에 열의가 있는 중학생 12명을 대상으로 C언어 수업을 하게 되었다.
나는 초등학교 4학년 때 처음으로 C언어를 독학했는데, 내가 정말 바보 같게도 뒤늦게 깨달은 것들을 (예를 들면, 간단하지만 scanf의 변수에는 왜 &가 붙는지 같은..) 이 학생들에게는 명쾌하게 설명해 줄 수 있다는 게 너무 좋았다.
고등학교 때 코딩 동아리를 개설해서 많은 학생들을 가르쳐 본 경험과 대학생을 대상으로 안드로이드 앱 과외를 한 적도 있지만..
실제로 교육받기 위해 대가를 지불하고 온 여러명의 학생을 동시에 상대하는 것은 처음이었다. 따라서 어느 정도의 무거운 책임감이 따랐다.
C언어는 Python에 비해 시스템 레벨에 근접한 언어이기 때문에, 그냥 "이거 따라 치고 외우세요" 식이 아닌 진짜 이해를 위해서라면 약간의 컴퓨터 이론이 필수적이었다.
그래서 오늘 수업의 주 내용은 컴퓨터 이론이었다.
자세하게는 변수를 선언하고 값을 저장하면 실제로 컴퓨터의 어디에 저장되는지, 왜 RAM(Random Access Memory)라고 불리는지. 2진수의 전기 신호(0, 1) 만으로 어떻게 모든 숫자와 문자를 표현할 수 있는지에 대해서 설명했다.
기계어와 어셈블리어를 설명하면서 우리가 사용하는 언어는 항상 컴파일 (혹은 인터프리터)이라고 부르는 번역 과정을 거치고 0과 1로 변환되어 실행된다고도 설명했다.
이런 식으로 나중에 포인터* 를 가르치기 위한 이론 밑밥을 깔아놓고 본격적인 C언어 강의를 시작했다.
초반에는 Python과 C언어의 똑같은 기능에 대한 문법 차이를 중점으로 설명했고, 생각보다 학생들이 잘 따라와 줘서 놀랐다.
오늘 수업은 이렇게 끝이 났다. 이론을 힘들어할 줄 알았는데 생각보다 잘 따라와준 학생들에게 고마웠고, 수업 끝나고 나서 이론 재밌다고 다음에도 해달라고 하는 학생 덕분에 자신감이 생겼다.
'끄적끄적' 카테고리의 다른 글
Timeline (0) | 2024.03.04 |
---|---|
수학을 위해 덧셈과 뺄셈을 얼마나 많이 연습했는지 생각해보세요 (0) | 2024.01.17 |
작업실 데스크업 ~ (0) | 2023.12.14 |
당신은 대학을 졸업하고도 여전히 바보일 수 있다 (0) | 2023.10.30 |
이제는 교과서를 넘길 차례 (0) | 2023.08.17 |