이제 석사 졸업하고 돈을 벌다가 3~4년 뒤에 아마 해외 박사로 떠날 것 같은데


그 기간 동안은 유투브하면서 과외를 하려고 해


주로 전공 기초 과목(컴퓨터구조, 운영체제, 컴파일러, 네트워크, 알고리즘 분석 설계)을 과외하려고 하고 있어


근데 C언어 Java언어는 전공 기초 지식 없이 응용하는 수준에서 강의하는 유투브나 kocw에 널려있으니까


내가 생각하는 강의의 차별화된 점은 전공 기초 지식을 기반으로 애들을 가르칠 생각이야


예를들어 C언어를 한다고 하면 프로그래밍언어론과 엮어서..


1) 기초 문법 + 함수 호출 + call by value + 구조적 프로그래밍

- 함수호출: c언어에는 call by value만 있는데, 이걸 가지고 call by ref, call by constant ref, call by result 등등 모두 흉내가능한데 어떻게 흉내낼 수 있는지?

(한마디로 언어 레벨엔 call by value만 있는데 유저 레벨에선 다양한 파라미터 패싱 시맨틱을 가상화할 수가 있음! 어떻게 할 수 있는지 내부동작과정)


2) C언어에서 객체지향 언어를 어떻게 흉내낼 수 있는지? - 자료구조 (커널 프로그래밍을 염두)

- type을 추상화한다는것의 의미? (data abstraction vs. function abstraction vs. data type abstraction )

- 다형성 개념

- 소프트웨어 공학 관점에서 어떻게 C언어의 function pointer, double pointer, void pointer를 이용해서 객체지향 프로그래밍을 흉내낼 수 있는지?

- C언어가 객체지향 언어가 아닌 이유. 즉 근본적 한계 (근데 그게 나쁜걸까?)


3) C언어 연도별 표준 레퍼런스 특징들


4) 이펙티브 C언어

- 어떻게 하면 효율적인 C언어를 프로그래밍할 수 있는지



이런 느낌으로 할 생각임


만약 한다면 애들이 좋아할까?


한국 산업특성상(네카라쿠배) 서비스로직 짜는데가 대부분이라서 차분히 기초를 다져서 장인정신으로 프로그래밍하는걸 좋아하는 사람은 없을것같아서


좀 걱정되긴 하네... 어떻게 생각해 다들 의견좀 ㅋㅋ