Python Lectures
- 파이썬을 활용한 소스코드Source Code와 강의자료Lecture Slide)를 모아둔 Repository 입니다.
Bigdata Analysis for management
[Star]버튼을 누르면, 강의자료 업데이트에 큰 힘이됩니다.
- 2018년 2학기 상명대학교 경영빅데이터 분석과목 (2018년 12월 업로드 완료 예정)
- 강의슬라이드 및 소스코드 바로가기
/2018_02_SMU_Lecture_Slide
강의개요
주차별 강의 계획 Syllabus
Start Programming with Google Python Style Guide
-
2016년 겨울방학 중앙대학교 Python 기초과목
-
강의슬라이드 및 소스코드 바로가기
/2016_WV_CAU_Lecture_Slide
-
구글 파이썬 스타일 가이드로 시작하는 프로그래밍 Ver 1.1.1 (Last Update 2018-06-14)
-
본 Repository는 GPL-3.0 라이센스를 따릅니다. 상업적, 교육용, 개인적인 사용이 가능합니다. 자세한 라이센스 제약사항은 본 글 하단을 참조하세요.
강의개요
- 프로그래밍을 처음 시작하는 분들에게 구글 파이썬 스타일 가이드를 기준으로 강의가 진행되었습니다. 여기에서 초점은 python보다는 '프로그래밍을 처음 시작하는 사람'에 맞추어져 있습니다. 난이도의 하향을 의미하는 것이 아닌, 프로그래밍을 할 때, 무엇을 염두해두어야 하는지에 초점을 맞추었습니다. 때문에 프로그래머로서 협업하는 방법, 현업과의 커뮤니케이션에 어떤 Tool들이 사용되는지 등에 대해서도 본 강의는 다루게 됩니다.
- 본 강의는 프로그래밍에 대한 전반적인 기초지식과 함께 Python 코드를 해석하고 응용하는 데에 초점을 맞추어 강의를 진행합니다.
- 학생들은 강의를 통해 Git/Github를 통해 버전관리를 진행하고 프로그래머로서 협업하는 방법을 배우게 됩니다.
- 본 수업에 사용되는 모든 교재는 웹상으로 공개되어 교육용 목적으로 제한없이 사용가능합니다. 오프라인 책이 필요한 경우만 개별 구매하시기 바랍니다. 본 수업은 Python 2 버전을 기준으로 진행됩니다. Python 3 버전의 경우 부교재를 참조하시기 바랍니다.
주차별 강의 계획 Syllabus
- Python 소개 및 개발환경 구성 (interpreter 언어 패러다임, 버전 2vs3, Anaconda) (심화) Notebook 기반 iPython, linux 상에서의 실행, Docker
- 버전관리 – Git/Github 활용. Commit, Pull Request, Branch, Merge 등 명령어, GIST (심화) Markdown, Jekyll 을 활용한 정적 웹 페이지 제작
- 변수 타입과 연산 - Numbers, String, variables, operator 등 (심화) Typecasting, 정규표현식 (Regular Expression), 부동 소수점 문제
- 흐름 제어 - if, while, for loop, break, continue (심화) 디버깅 모듈
- 함수 – 추상화, 매개변수, 지역변수, 전역변수 구분 (심화) 재귀 함수
- 자료구조 - List, tuple, Dictionary, Set 등 (심화) 코딩인터뷰 대비 자료구조 구현
- 객체 지향 프로그래밍 - self, class, method, 상속 (심화) encapsulation, overloading, overriding
- 파일입출력 및 예외처리 – Pickle, Try...Finally (심화) 유니코드
- 데이터시각화 – ggplot, Tableau (심화) AWS, Tableau Server, Backend/Frontend 등
- 정렬 알고리즘 – Bubble Sort, Quick Sort 등 (심화) 코딩인터뷰 대비 정렬 알고리즘 구현 Pseudocode 프로그래밍, BIG-O(n) 표기법, 시간/공간 복잡도
강의 자료 구성
-
강의 슬라이드는 복습 => 구글 스타일 가이드 확인 => 파이썬 문법 기반의 진도=>과제의 순으로 구성되어 있습니다.
-
Python 수업중에 사용된 코드 (Live Coding으로 수업시간에 진행했던 코드)
https://gist.github.com/yunho0130
개발환경 및 사용프로그램
-
Anaconda
https://www.continuum.io/downloads -
SublimeText2
https://sublimetext.com/2 -
Pycharm Edu
https://www.jetbrains.com/pycharm-edu/download/ -
Vim Editor
http://www.vim.org/download.php
요약자료 (Cheat Sheet)
-
Pycharm Cheat Sheet
https://github.com/yunho0130/CAU_Python/blob/master/Cheat_sheet/PyCharm_Reference_Card.pdf -
GitHub Cheat Sheet
깃허브 기능 모음
https://github.com/yunho0130/github-cheat-sheet/blob/master/README.ko.md -
git rebase 연습하기
http://learnbranch.urigit.com/ -
Markdown
- 마크다운 문법 모음
http://blog.kalkin7.com/2014/02/05/wordpress-markdown-quick-reference-for-koreans/ - John Gruber markdown
https://nolboo.kim/blog/2013/09/07/john-gruber-markdown/
- Almind (교재 요약 마인드맵 여는데 필요) http://www.altools.co.kr/Download/ALMind.aspx
서적 및 코드 모음
-
awesome-python
각 상황별 파이썬 frameworks, libraries 등 모음
https://github.com/yunho0130/awesome-python -
Data Analysis
"Python for Data Analysis" by Wes McKinney, published by O'Reilly Media
https://github.com/yunho0130/pydata-book
기타
- Google Python Style Guide 저자 명시
- Python 프로그래밍에 있어, 가이드 라인을 작성해주신 Amit Patel, Antoine Picard, Eugene Jhong, Jeremy Hylton, Matt Smart, Mike Shields 님들께 감사드립니다.
- PEP8 vs Googlel Python Style Guide
- 언어의 창시자가 만든 컨벤션도 물론 중요하지만, 실제로 현업에서 어떻게 사용되는지를 더 중요하게 생각하고 Google의 기준을 기준으로 삼았습니다. 이 부분 감안하시기 바랍니다.
LICENSE
- 기본적으로 GPL-3.0 라이센스를 따릅니다. 아래의 항목은 GPL-3.0에 추가적인 항목입니다.
- GPL 라이센스의 사용은 여러 인용/차용한 Reference Opensource 자료들의 최상위 항목이기 때문에 적용하였습니다.
- 저작자 명시 배포를 허용합니다.
- 서적출판, 특허, 2차 라이센스는 허용하지 않습니다. (공동 저자는 연락주세요)
- 비영리 출처표기에 의한 인용 자료의 경우, 해당 원작자의 라이센스 정책을 따릅니다.
Version Update History
- 2.0.0 상명대 데이터 분석 강의자료 업로드 시작
- 1.1.1 마이너 README.md 업데이트
- 1.1.0 Pull Request 반영, 실러버스 이미지 수정, Disclaimer 추가
- 1.0.3 저자정보 업데이트
- 1.0.2 Readme 수정
- 1.0.1 최초 외부 공개본 (저작권 관련 커밋 및 로그 추가)
- 1.0.0 최초 수업 공개용 완성
http://maengdev.tistory.com/166
저자: 맹개발저자는 현재 IBM Watson Cognitive 엔지니어로 근무하고 있으며, 연세대학교 정보대학원에서 비즈니스 빅데이터 분석 석사과정을 전공했다. California에서 실시된 AutoDevBot 해커톤에서 준우승하였으며, 카네기멜론 아시아 STEM Academy와 중앙대학교에서 Python을 강의했다. SK C&C, 한국과학기술정보연구원(KISTI), 한국연구재단(NRF), DBpia 등에서 프로젝트를 수행하였으며, 오픈소스 활동으로 Apache Zepplin, 양자컴퓨팅 Python SDK인 QISKIT에 기여했다.
Disclaimer
- 참고로 저는 구글과 아무 관련이 없으며, 웹상에 공개되어 있는 Google Python Style Guide의 내용을 기반으로 강좌를 구성하였습니다.(CC-4.0 라이센스로 상업적 사용 무관, https://google.github.io/styleguide/pyguide.html)
- 본 레파지토리는 몇몇의 파이썬 학습자료를 모아둔 곳입니다. 개인의 자격으로 운영되며 작성자의 소속과 관련이 없습니다. 또한, 본 레파지토리에 있는 코드를 사용할 경우 발생하는 모든 종류의 문제(기술적/보안적/법률적/etc)를 책임지지 않습니다. This repository is consist of several python learning materials. Not related to current job and organization. It's personal repository. So I have no responsibility for using this code about all kind of problems such as technical/security/legal/etc.