위치

요일

가능
시간
(날짜)

  • 오후 3시 ~ 6시 (협의)
  • 오후 7시 30분 ~ 10시 30분 (협의)
장소 : 안암역 2번출구 더스터디 카페
추가비용 : 본문 참조
성북에서 수업할 경우 안암역 바로 옆에 위치한 스터디카페 "더스터디"에서 진행합니다. 종로에서 수업할 경우 종로2가/종각역 주변 스터디카페에서 진행합니다.
₩16,000원 / 시간
₩384,000 / 총 8회 24시간
실시간 톡하기 찜하기
MinSung Kim
김민성
Python(파이썬) 깊게 배워보기
  • 성북, 종로
  • 3시간/회
  • 최대인원:1~5
  • ₩16,000/시간

튜터정보

  • 고려대학교 컴퓨터학과
2013 국제정보올림피아드(IOI) 국가대표 선발전 여름학교 참가
2014 한국정보올림피아드(KOI) 전국동상 수상
2015~ 고려대학교 컴퓨터학과 재학
2017~ Google Code Jam - Python 참가경험
2018 서울대/한기대와 함께 Haptics Visualization 정부 산하 연구과제 참여
2018~ Python으로 비트코인 트레이딩/선물 트레이딩 플랫폼 개발중
2018 고려대학교 프로그래밍 경시대회 출제진
2019 im4u 코딩학원 겨울 알고리즘 코딩캠프 강사진 / 서버운영진
개인적인 Python 개발 프로젝트 제작 경험 多
7명 이상의 다양한 프로그래밍 1:1 과외지도 경험(금융대기업 재직자, 아이비리그 교육학 석사과정, 금융사업자, 과학고등학교 학생, 중학생 등)

저는 프로그래밍을 아주 좋아하는 사람입니다. 합동연구과제, 개인적인 파이썬 개발 프로젝트 진행 등 다양한 활동을 하고 있습니다. 이러한 점들은 수강생분들께 긍정적인 영향을 줄 수 있을거라 생각합니다!

수업소개

[중요 공지]

2019년 2월부터 본 강의가 "기초 파이썬 문법"에서 "파이썬 깊게 배워보기"로 변경될 예정입니다. 커리큘럼도 중반부에 약간의 변경이 있고, 후반부가 새로 추가되었습니다.


[소개]

제목에서 보신 바와 같이 Python 프로그래밍 언어 및 프로그래밍에 대한 여러 개념을 배우는 수업을 진행합니다.

Python은 다른 프로그래밍 언어들에 비해 쉽고 간결하면서도 강력합니다. C++ 같은 언어보다 퍼포먼스가 느리긴 하지만, 보통 프로그래밍 비전공자가 프로그래밍에 입문하는 데 제일 많이 추천되는 언어죠. 실제로도 업계에 쓰이는 경우가 많습니다! reddit.com, Eve Online, Youtube 등이 대표적인 예시입니다.

위 예시들과 같이 파이썬만 할 줄 알아도 진행할 수 있는 프로젝트가 아주 많습니다. 웹 연결부터 게임 만들기, 주식 트레이딩, 심지어 블럭체인까지! 저도 비트코인 트레이딩, 데이터베이스 제어 등에 Python을 사용했습니다.

이 수업의 목표는 다음과 같습니다.
1. Python의 기본기와 프로그래밍에서 중요한 몇가지 개념(멀티쓰레딩 등)을 익히게 됩니다.
2. 앞으로 하고 싶은 무언가가 있을 때, Python을 잘 활용할 수 있습니다.
3. 기초적인 알고리즘적 사고를 가지게 됩니다.


[구체적인 방식]

수업은 다음과 같은 요소로 구성되어 있습니다.
1. Github를 이용한 강의 레퍼런스 + 예제 코드 제공
2. 문제 풀이 및 토론, 질의응답(평소에 수업이나 카톡에서 아무거나 무작정 질문하셔도 다 받아드립니다!)
3. 커리큘럼 부분에 짜여진 진도 계획

이 3가지를 결합하여 파이썬을 마스터해드리겠습니다!


[비용]

그룹과외는 시간당 16000원을 받으며, 이외 추가비용은 없습니다. 단, 맞춤 문의를 받을 경우 커리큘럼과 인원에 따라 시급이 약간 달라질 수 있습니다.

개인과외는 시간당 최소 30000원입니다. (커리큘럼에 따라 상이) 스터디룸 대관비용의 절반(안암역 더스터디 기준 7500원 ~ 9000원)이 추가됩니다. 왕복 1시간 이상의 이동을 하게 될 경우, 이 이동시간에 대한 비용(시간당 15000원)이 추가됩니다.

수업대상

  • [다음 분들께 추천합니다]

    - 프로그래밍을 온라인 강좌나 문서가 아닌 튜터링으로 배우고 싶은 사람

    - Python을 이미 조금 알지만, 좀 더 깊게 다뤄보고 싶은 사람

    - 개발자가 되고 싶은 사람

    - 멀티쓰레딩, 비동기(asynchronous) 등의 약간 심화적인 개념을 접해보고 싶은 사람

    - 기초적인 알고리즘적 사고를 기르고자 하는 사람


    [다음 분들께 비추천합니다]

    - 고등학생 수준의 수학 지식이 없는 사람: 본 수업은 알고리즘 파트 등에서 약간의 수학지식이 동원됩니다.

    - 최소한의 파이썬 사용법만 익히고 넘어가고 싶은 사람: 수업 후반부에서 흥미를 잃으실 수 있습니다.

    - 프로그래밍 경험이 많은 사람: 프로그래밍 경험을 몇 년 이상 해본 분은 굳이 이 강의를 듣지 않아도 충분히 독학하실 수 있는 개념입니다.

    - 웹 크롤링, 머신러닝 등에 대해 자세히 배우고자 하는 사람: 본 수업은 Python 및 프로그래밍적인 여러 개념을 배우는 수업입니다. 이런 게 있다 정도는 다루지만, 깊은 내용은 다루지 않음을 알려드립니다.

커리큘럼

1회차

[유의사항] 진도는 수강생의 배경지식에 따라 조금씩 달라질 수 있습니다.

1. Python 설치 및 개발환경 조성
- IDLE 또는 Pycharm 선택
- 소스코드 공유 용도 + alpha로 Github을 추가로 사용해볼 수도 있음

제일 먼저 파이썬, IDLE, PyCharm, Github에 대한 간단한 설명을 진행한 후, 파이썬을 설치하고 개발환경을 기본적으로 세팅하는 시간을 가질 겁니다.

2. Basics
- 데이터 타입: int, bool, float, none, string, tuple, list, set, dict 등
- 기본적인 연산: 사칙연산, 논리연산, append 등

그리고, 파이썬에서는 데이터마다 유형(정수, 실수, 문자열 등)이 조금씩 다른데 이걸 "데이터 타입"이라고 합니다. 데이터 타입과 그와 관련된 기본적인 연산에 대해서 다룰 예정입니다.

3. Flow Control
- 조건에 의한 분기: if, elif, else
- 루프: for, while

if, elif, else는 코드 상에서 어떠한 특정 조건을 만족했을 때만 실행할 수 있는 기능을 제공합니다. for, while은 주어진 조건 하에서 계속해서 특정 코드를 반복할 수 있는 기능을 제공합니다. 이 2가지를 이용하여 여러가지 간단한 코딩을 진행할 예정입니다.

2회차

4. Function
- 커스텀 함수 선언: def, lambda
- 함수 내부에 함수 선언하기
- 재귀함수

함수라는 개념을 간단히 배워볼 것입니다. 그 후, 함수라는 개념을 사용하여 여러 코딩을 해보고, 또 재귀라는 개념을 익혀볼 것입니다.

5. Object-Oriented Programming
- 객체지향 프로그래밍: class
- 연산자 오버로딩
- 클래스 상속
- 특별한 메소드: __init__, __str__ 등

파이썬은 "객체지향 프로그래밍"을 제공합니다. 이 시간에는 이 객체지향 프로그래밍이라는 것에 대한 공부를 진행할 것입니다. class 등을 이용하여 클래스를 만들어보고, 더 나아가 연산자 오버로딩, 클래스 상속(Inheritance)도 배워보는 시간을 가질 것입니다.

6. Modules (기초)
- import
- 기본(built-in) 모듈: math, time, sys, os 등
- pip 사용법 배우기

객체지향 프로그래밍을 배운 후, 모듈에 대해서 간단히 배워볼 것입니다. 모듈이 뭔지, 어떻게 사용할 수 있는지, 파이썬에서 기본적으로 제공하는 모듈들은 어떤 것이 있는지, 그리고 그것들은 무슨 기능을 제공하는지 간단하게 알아볼 것입니다.

3회차

7. Iterable
- 반복자(Iterator)의 개념
- iter, next
- yield, yield from
- Generator: 함수를 이용한 형태 vs for를 이용한 짧은 형태

파이썬이 아주 강력한 이유 중 하나는 반복 가능한 객체(Iterable)라는 개념을 제공하기 때문입니다. 이것들이 뭔지, 어떻게 만들 수 있는 건지를 배워볼 것입니다.

8. File I/O
- File Input / Output
- open, with
- read, write, flush

이전 시간까지는 콘솔에서 직접 입출력을 하는 것만 배웠지만, 이제부터는 파일을 통해서 입출력을 하는 것을 배워볼 것입니다.

9. Error Handling
- raise, try, except, finally
- Exception, ZeroDivisionError, FileNotFoundError, etc
- 커스텀 에러 클래스 만들기

파이썬 프로젝트를 개발하다보면 에러가 발생하는 상황이 아주 흔합니다. 그 상황에서 에러를 어떻게 커버해야 할 지에 대해서 자세히 배우게 됩니다. 또한, 기본으로 제공되는 에러들 중 일부에 대해 알아보고, 직접 커스텀 에러 클래스도 만들어보는 연습을 할 것입니다.

4회차

10. MultiThreading, Asynchronous Programming
- threading, asyncio
- Coroutine 개요
- async def
- GIL (Global Interpreter Lock)

여러 작업들을 병렬적으로 진행하기 위한 방법론인 멀티쓰레딩과 비동기 프로그래밍에 대해서 간단하게 배워볼 것입니다. 이를 통해 특정 여러 작업들을 진행하기 위해 필요한 시간을 대폭 절약할 수가 있게 될 것입니다.

11. Algorithmic Approach
- 함수의 상한선과 하한선 표기법: Big O 표기법, Small O 표기법
- 최적화 방법론

똑같은 기능을 하더라도, 어떻게 구현하느냐에 따라 프로그램의 실행속도가 무지막지하게 달라질 수 있습니다. 어떤 기능을 구현하는 원리를 알고리즘이라고 하는데요. 이런 알고리즘에 대한 개론을 간단히 다뤄볼 것입니다.

12. Unit Test
- 유닛테스트의 개념 및 실습

어떤 기능을 구현했을 때, 그 기능이 제대로 실행되는 지 점검해보는 과정은 매우 중요합니다. 그런 과정을 Unit Test라고 하는데요. 유닛 테스트를 실습해보는 시간을 가질 것입니다.

5회차

번외 1. 기타 모듈들(맛보기)
- requests, pytz등 소개

전에 배웠던 모듈들 말고도 사람들이 만들어놓은 모듈들은 아주 많습니다. 이 중 유명하고 검증된 모델 몇가지를 골라 pip를 이용해서 받아보고, 직접 시도해보는 연습을 해볼 것입니다.

번외 2. 프로젝트
- 튜터가 진행했던 프로젝트들 소개
- 직접 하고 싶은 간단한 프로젝트 구상해보기

튜터가 진행했던 프로젝트들을 다시 소개할 것입니다. 처음 배웠을 때랑 보이는 게 많이 다를 겁니다. 그리고, 직접 하고 싶은 프로젝트를 계획해보는 시간을 가질 것입니다.

리뷰(1)

리뷰쓰기
5.0
  • 커리큘럼
  • 전달력
  • 준비성
  • 친절도
  • 시간준수

실시간톡

실시간 톡하기

위치

지도가 들어갑니다.