미국 공학박사 아빠의 코딩 연구소


공지

강의 Python 시작~!영어로도 제작하여 업로드 했어요. 강의 화면 오른쪽 상단의 English 버튼을 누르면 영문 강의로 볼 수 있답니다. 영문 강의 제작은 앞으로도 계속 해나갈 계획이예요.

Python 배움터

4차 산업혁명을 이끌 것이라는 로봇(Robot)과 인공지능(AI) 분야에 관심이 있다면 꼭 알아야 하는 Python!
금융업무나 가계부, 시세분석 등 공학적 목적 없이도 일반적으로 유용하게 사용할 수 있는 Python!

지금부터 공학박사 아빠가 직접 만드는, 실제 사례 중심의 강의들로 쉽고 재미있게 배워 봅시다~
(주목: 미국에서 자라고 있는 제 아이들에게 한국어를 예쁘게 가르치고자 평소에도 항상 존댓말을 쓰고 있답니다. 강의에서도 제 아이들에게 사용하는 말투가 나오더라도 거북해하지 마시고 양해 바랍니다~)

강의에서 문법 설명을 틈날 때마다 하겠지만, 본인이 필요하다고 느끼면, 귀찮아 하지 말고 반드시 문법 노트를 수시로 보면서 복습하도록 하세요.
실제 사례의 관점에서도 보고, 문법의 관점에서 보는 등 입체적이고 다면적인 학습을 해야 훨씬 기억도 잘 나고 응용력도 늘어 난답니다. 또한, 말 그대로 새로운 "언어"를 익히는 것이기 때문에, 몇 번씩 다시 보는 반복적인 학습이 반드시 수반되어야 해요.
참고로, 강의 중에 수시로 Linux 명령어도 사용하게 될 거예요. 즉, 강의를 통해 Linux도 자연스럽게 배워가는 덤도 있다는 이야기죠~!

번호 제목 문법 개요
0 Python 시작~! . 왜 Python이 중요한지 간단하게 이야기 해보고, Ubuntu와 Python을 설치해 봅시다.
1 로봇 경로 만들기 import
list
보고서 등에 첨부할 간단한 로봇 경로를 보여주는 그래프를 만들어 볼까요?
- matplotlib의 이용하기
2 다른 순간의 로봇 위치들 보여주기 . 다른 순간에 관찰한 로봇의 위치들을 여러개의 그래프로 동시에 보여줘 볼까요?
- matplotlib의 subplot 이용하기
3 로봇 위치들을 동영상으로 보여주기 for 로봇의 시간에 따른 위치들을 그래프 상에서 동영상처럼 보여줘 볼까요?
- matplotlib의 subplot 이용하기
4 다른 마커로 로봇 위치들을 보여주기 if/else 로봇의 시작점과 도착점, 그리고 다른 위치들을 조건에 따라 다른 마커로 보여줄까요?
- matplotlib 이용하기
5 Numpy 이용하여 로봇 위치들을 동영상으로 보여주기 Array 로봇의 시간에 따른 위치들을 그래프 상에서 동영상처럼 보여줬었죠? Numpy의 array를 이용해서 똑같이 만들어 보지요.
- matplotlib 이용하기
6 데이터 분석의 기초인 균등분포 난수 공부하기 . 센서 신호, 경제 지표 등 실제 데이터들을 수많은 불확실성을 내포하고 있어요. 그 불확실성을 분석하기 위해, 난수를 많이 이용하는데요. 그 중 기계학습 등에서도 사용되는 균등분포 난수에 대해 알아 봅시다.
(막상 보면 어려운 내용 없으니 겁먹지 마세요~~!!)
- numpy의 uniform()을 이용하여 균등분포 난수 생성하기
- matplotlib 이용하기
7 무작위 방향으로 로봇 움직이기 Array 로봇을 좌, 우, 위, 아래 중 무작위 방향으로 움직여 볼까요? 이를 통해, 요즘 많이 회자되는 기계학습(Machine Learning)의 한 종류인 강화학습(Reinforcement Learning)의 원리를 조금이나마 이해해 볼까요?
(막상 보면 어려운 내용 없으니 겁먹지 마세요~~!!)
- numpy의 array 이용하기
- numpy의 random.uniform() 함수를 이용하여 무작위로 로봇 움직이기
8 주식 분석의 기본인 이동 평균선 만들기 function 경제 뉴스에서 주식 분석할 때 항상 나오는 용어인 이동 평균선 아시나요? 이동 평균(Moving Average), 사실 공학적으로는 신호 처리(Signal Processing)의 기초적인 기법 중 하나랍니다. Python의 Function(함수)으로 코딩해 보면서 공학적/경제적 소양도 하나 습득해 보아요~
(막상 보면 어려운 내용 없으니 겁먹지 마세요~~!!)
- Moving Average의 공학적/경제적 의미 알아보기
9 간단한 로봇 게임 만들기 while 키보드를 누르면 로봇이 움직이는 간단한 게임을 만들어 볼까요?
- 무한루프로 키보드 명령 받기
10 키클봇 코딩하기 Class 지금까지 주로 로봇을 예로 코딩을 해오고 있는데요. 로봇을 코드 상에서 유기체로서의 모습을 갖추도록 해볼거예요.
클래스(Class)를 이용할 건데요, C++이나 Java같은 다른 프로그래밍 언어에서도 굉장히 중요한 개념이니 꼭 알아둬야 한답니다.
- 키클봇 클래스 구현하기
11 네트워크 통신하기 Tuple 요즘 웹 사이트, 모바일 게임, 클라우드(Cloud) 등 대부분의 컨텐츠나 기술이 인터넷을 기반으로 되어 있지요?
이런 네트워크를 기반으로 소통/통신을 하는 한 방법을 알아 볼까요?
친구들과 새로운 채팅 프로그램을 만들 수도 있고, 로봇을 원격으로 조종할 수도 있답니다.
- 소켓(Socket) 공부하기
- 서버(Server)와 클라이언트(Client) 구현하기
12 원격으로 키클봇 조종하기 . 소켓을 이용한 네트워크 통신을 응용해서 원격으로 키클봇을 조종해 볼까요?
미국에는 실제로 이와 같이 자율주행차를 원격 조종하는 기술을 개발하는 신생 기업들이 있답니다.
- 명령 클라이언트(Client) 구현하기
- 키클봇 서버(Server) 구현하기
13 라이브러리로 코딩을 고급스럽게 __name__ Python의 코딩 기법들 중 기본적인 내용들을 여려가지 살펴보고 있어요.
이제는 코드의 효율성, 가독성, 확장성 등을 위해서 조금씩 깊이를 더해가면서 코딩의 수준을 높여가보면 어떨까해요.
그 첫걸음으로 키클봇 서버 코드를 조~금만 바꿔 볼게요.
- 나만의 라이브러리 만들기
14 딕셔너리로 코딩을 편리하게 Dictionary Python의 또 다른 데이터 타입인 딕셔너리(Dictionary)를 이용해서 코딩을 편리하게 해볼까요?
이번에도 키클봇 서버 코드를 조~금만 바꿔 볼게요. 정말 조금만 바꿀 거랍니다.
15 예외 처리로 코딩을 안전하게 try / catch 예상하지 못한 이유로 인해, 프로그램이 비정상적인 방식으로 종료되거나 멈추는 경우를 종종 보게되요. 비정상적인 작동을 야기하는 원인을 잘 처리해 주면 프로그램이 종료되거나 멈추는 것을 방지할 수 있답니다.
이러한 것을 예외(Exception) 처리라고 하는데요. 키클봇 예제를 통해 직접 확인해 보아요.
여러가지 Python 라이브러리들을 이용하거나 조금 더 다양한 기능을 코딩하고자 하면 꼭 알아둬야 하는 내용이라는 점 유념하세요.
- 예외(Exception) 공부하고 처리하기
- If문과 try문으로 예외 처리하기







발자취

2019-09-11 "키클 코딩랩 - 미국 공학박사 아빠의 코딩 연구소"로 이름 변경
2019-06-28 코딩 교실 공개
2019-03-18 코딩 교실 제작 시작

바로가기
About
Contact
Privacy Policy