📚 학습 목표

초보자부터 상급자까지 체계적으로 Python을 마스터하여 실무 프로젝트를 수행할 수 있는 능력 배양


🎯 Phase 1: 초급 (1-4주)

Week 1: Python 기초

  • Python 설치 및 환경 설정 (VSCode, PyCharm)
  • 변수와 데이터 타입 (int, float, string, boolean)
  • 기본 연산자 (산술, 비교, 논리 연산자)
  • 입출력 함수 (print, input)
  • 실습 과제: 간단한 계산기 프로그램 만들기

Week 2: 제어문과 반복문

  • 조건문 (if, elif, else)
  • 반복문 (for, while)
  • break, continue, pass
  • 리스트 기초
  • 실습 과제: 숫자 맞추기 게임, 구구단 출력 프로그램

Week 3: 자료구조

  • 리스트 (list) 심화
  • 튜플 (tuple)
  • 딕셔너리 (dictionary)
  • 세트 (set)
  • 자료구조 메서드 활용
  • 실습 과제: 학생 성적 관리 프로그램

Week 4: 함수

  • 함수 정의와 호출
  • 매개변수와 반환값
  • 지역변수와 전역변수
  • 람다 함수
  • *args, **kwargs
  • 실습 과제: 다양한 유틸리티 함수 모음 만들기

🚀 Phase 2: 중급 (5-10주)

Week 5: 문자열과 파일 처리

  • 문자열 메서드와 포맷팅
  • 정규표현식 기초
  • 파일 읽기/쓰기
  • with 문
  • 실습 과제: 텍스트 파일 분석 프로그램

Week 6: 모듈과 패키지

  • 모듈 import와 사용
  • 표준 라이브러리 (os, sys, datetime, random)
  • 패키지 구조
  • pip와 가상환경
  • 실습 과제: 자신만의 유틸리티 패키지 만들기

Week 7: 객체지향 프로그래밍 (OOP) 1

  • 클래스와 객체
  • 생성자와 소멸자
  • 인스턴스 변수와 메서드
  • 클래스 변수와 정적 메서드
  • 실습 과제: 도서 관리 시스템 (클래스 설계)

Week 8: 객체지향 프로그래밍 (OOP) 2

  • 상속
  • 메서드 오버라이딩
  • 다형성
  • 캡슐화와 접근 제어
  • 실습 과제: 게임 캐릭터 시스템 구현

Week 9: 예외 처리와 디버깅

  • try, except, finally
  • 예외 종류와 처리
  • raise로 예외 발생시키기
  • 사용자 정의 예외
  • 디버깅 기법
  • 실습 과제: 안전한 입력 처리 시스템

Week 10: 컬렉션 심화

  • List Comprehension
  • Dictionary Comprehension
  • Generator와 Iterator
  • map, filter, reduce
  • collections 모듈
  • 실습 과제: 데이터 변환 파이프라인 구현

💪 Phase 3: 중상급 (11-16주)

Week 11: 데이터 처리 - Numpy

  • Numpy 배열 생성과 연산
  • 배열 인덱싱과 슬라이싱
  • 브로드캐스팅
  • 수학 함수와 통계
  • 실습 과제: 행렬 연산 프로그램

Week 12: 데이터 처리 - Pandas

  • DataFrame과 Series
  • 데이터 읽기/쓰기 (CSV, Excel)
  • 데이터 선택과 필터링
  • 그룹화와 집계
  • 데이터 병합과 조인
  • 실습 과제: 실제 데이터셋 분석

Week 13: 데이터 시각화

  • Matplotlib 기초
  • 다양한 차트 유형 (line, bar, scatter, pie)
  • Seaborn으로 고급 시각화
  • 시각화 커스터마이징
  • 실습 과제: 데이터 분석 리포트 작성

Week 14: 웹 스크래핑

  • requests 라이브러리
  • BeautifulSoup
  • HTML 파싱
  • API 사용
  • 크롤링 윤리와 robots.txt
  • 실습 과제: 뉴스 또는 쇼핑몰 데이터 수집

Week 15: 데이터베이스

  • SQLite 기초
  • SQL 쿼리 (SELECT, INSERT, UPDATE, DELETE)
  • Python에서 DB 연결
  • ORM 개념 소개
  • 실습 과제: 데이터베이스 기반 애플리케이션

Week 16: 웹 개발 기초

  • Flask 소개
  • 라우팅과 뷰 함수
  • 템플릿 (Jinja2)
  • 폼 처리
  • 간단한 REST API
  • 실습 과제: 블로그 또는 게시판 웹 애플리케이션

🏆 Phase 4: 상급 (17-24주)

Week 17: 비동기 프로그래밍

  • 동기 vs 비동기
  • asyncio 기초
  • async/await
  • 비동기 I/O
  • 실습 과제: 비동기 웹 크롤러

Week 18: 멀티스레딩과 멀티프로세싱

  • Thread와 Process
  • GIL (Global Interpreter Lock)
  • concurrent.futures
  • 동시성 제어
  • 실습 과제: 병렬 데이터 처리 시스템

Week 19: 테스트와 디버깅

  • unittest 프레임워크
  • pytest
  • 테스트 주도 개발 (TDD)
  • 코드 커버리지
  • 디버거 활용
  • 실습 과제: 기존 프로젝트에 테스트 코드 작성

Week 20: 디자인 패턴

  • 싱글톤, 팩토리 패턴
  • 옵저버, 데코레이터 패턴
  • MVC 패턴
  • 의존성 주입
  • 실습 과제: 디자인 패턴을 적용한 애플리케이션

Week 21: 머신러닝 입문

  • scikit-learn 소개
  • 데이터 전처리
  • 회귀와 분류
  • 모델 평가
  • 실습 과제: 간단한 예측 모델 구축

Week 22: 심화 웹 개발

  • Django 기초
  • 모델, 뷰, 템플릿 (MVT)
  • Django ORM
  • 인증과 권한
  • 실습 과제: 완전한 웹 서비스 구현

Week 23: API 개발

  • RESTful API 설계 원칙
  • FastAPI
  • API 문서화 (Swagger)
  • 인증 (JWT)
  • 실습 과제: 백엔드 API 서버 구축

Week 24: 최종 프로젝트

  • 팀 프로젝트 기획
  • Git/GitHub 협업
  • 프로젝트 구현
  • 코드 리뷰
  • 발표 및 피드백

📝 학습 방법론

일일 학습 루틴

  1. 이론 학습 (30분): 개념 이해
  2. 실습 (60-90분): 직접 코딩
  3. 복습 (30분): 당일 내용 정리

주간 활동

  • 주중: 이론과 실습
  • 주말: 과제 완성 및 복습
  • 스터디 모임: 코드 리뷰 및 토론

추천 리소스

  • 공식 문서: Python.org
  • 온라인 플랫폼: 백준, 프로그래머스 (코딩 테스트)
  • : "파이썬 코딩의 기술", "Effective Python"
  • 커뮤니티: Stack Overflow, Python Korea Facebook 그룹

체크리스트

각 주차 완료 시:

  • 모든 실습 코드 작성 완료
  • 과제 제출
  • 개념 정리 노트 작성
  • 다음 주 예습

🎓 평가 기준

초급 통과 조건

  • 기본 문법 숙지
  • 간단한 프로그램 작성 가능

중급 통과 조건

  • OOP 이해 및 적용
  • 실제 문제 해결 가능

상급 도달 목표

  • 복잡한 프로젝트 설계 및 구현
  • 최신 기술 스택 활용
  • 협업 프로젝트 경험

+ Recent posts