코딩을 매개로 한 자기주도 학습의 체계적 훈련 과정
새로운 기술을 익히는 과정에서 막히는 순간, 단순히 답을 찾는 대신 스스로 문제를 해결하는 힘을 기를 수 있습니다. 이 자료는 프로그래밍 언어를 도구로 삼아 학습 방법론을 체득하도록 설계된 인터랙티브 노트입니다. 독자는 코드를 직접 실행하며 개념을 이해하고, 반복적인 연습을 통해 학습 습관을 형성하게 됩니다.
코딩을 통한 학습의 시작
저자는 프로그래밍을 자학의 입문으로 삼는 이유를 설명합니다. 코드는 논리적 사고를 훈련하고, 즉각적인 피드백을 제공하며, 복잡한 문제를 작은 단위로 분해하는 과정을 자연스럽게 익히게 합니다. 이 책은 Python을 사용하며, Jupyter Notebook 환경에서 코드를 직접 입력하고 실행하는 방식으로 구성됩니다. 독자는 단순히 읽는 것을 넘어, 손으로 코드를 작성하고 오류를 수정하는 과정을 통해 학습 효과를 극대화합니다.
학습 단계별 구성
전체 내용은 기초 개념부터 고급 주제까지 단계적으로 나뉘어 있습니다. 첫 번째 부분은 왜 자학 능력이 중요한지, 그리고 왜 코딩이 그 시작점인지에 대한 이론적 배경을 다룹니다. 두 번째 부분은 함수, 변수, 제어 흐름 등 Python의 기본 문법을 다루며, 각 개념을 이해하기 위한 연습 문제를 제공합니다. 세 번째 부분은 클래스, 정규식, 재귀 함수 등 더 복잡한 주제를 다루며, 문제 해결 능력을 심화합니다. 마지막 부록에는 Jupyter와 Git 등 필요한 도구들의 설치 및 설정 방법을 안내합니다.
준비물과 환경 설정
이 자료를 효과적으로 활용하려면 Jupyter Notebook 환경이 필요합니다. README에는 Jupyterlab을 설치하고 설정하는 방법을 안내하는 별도 노트가 포함되어 있습니다. 또한, Git을 사용하여 프로젝트를 관리하는 방법과 Visual Studio Code를 설정하는 방법도 부록에서 다룹니다. 독자는 이 도구들을 설치한 후, 각 장의 노트를 열어서 코드를 실행하며 학습을 진행합니다. Markdown 버전도 제공되므로, 선호하는 형식으로 읽을 수 있습니다.
적용 대상과 주의사항
이 자료는 프로그래밍을 처음 배우는 사람이나, 학습 방법론을 체계적으로 익히고 싶은 사람에게 적합합니다. 특히, 단순히 지식을 암기하는 것이 아니라 문제를 해결하는 능력을 키우고 싶은 독자에게 도움이 됩니다. 다만, 이 자료는 CC-BY-NC-ND 라이선스로 배포되므로, 상업적 이용이나 변형이 제한됩니다. 또한, 최신 버전의 Python과 Jupyter 환경이 필요하며, 독자가 직접 코드를 실행하며 학습해야 효과를 볼 수 있습니다. 수동적인 읽기만으로는 이 자료의 의도를 충분히 달성하기 어렵습니다.