시작에 앞서
누가 읽으면 좋을까?
- 프로그래밍을 전혀 모르지만, 배우고 싶은 경우
- 프로그래밍을 배우고 싶지만, 어떻게 시작해야할지 모르는 경우
- 프로그래밍을 배워서, 어떤 작업에 사용하려고 하는 경우
누가 읽을 필요가 없을까?
- 프로그래밍에 관해 A~Z까지 완전한 참고서를 찾는 경우
- Python에 관해 사전처럼 모르는 것을 찾아 보려고 하는 경우
- 프로그래밍을 잘 아는 경우
특징
- 재미
- 문법보다는 '해보기'
- 문제풀이 중심
마치고 나면
- 150줄 정도의 프로그램을 만들 수 있다.
- 프로그래밍을 시작할 수 있는 '라이센스'를 받았다고 생각
- 라이센스는 프로그래밍을 잘 한다는 증명이 아니라, 시작할 수 있다는 것. 운전면허는 운전숙련자를 뜻하는 것이 아니다.
프로그래밍을 임하는 자세
- 무엇보다 하려고 하는 의지가 있어야 한다. 일정한 시간을 투자해야 한다.
- 실수를 두렵다고 생각하지 말자. 오류가 나와도 좋다. 차츰 좋아지게 된다. 시작부터 오류를 경험하지 않고 배우는 사람은 없다.
- 프로그래밍을 어렵다고 생각하지 말자. 자신이 어렵다고 생각하면, 작업을 실제 수행하는 컴퓨터는 더 어렵다. 어렵게 일을 컴퓨터에게 시키는 '나'의 문제.
배우는 내용
- 변수, 함수
- 제어구조
- 자료구조
- 이벤트
- 파일 - 외부에 저장해서 컴퓨터를 off해도 기억.
- 객체지향
프로그래밍 언어의 선택
- 프로그래밍은 '하는 법'을 배우는 것이 우선한다. 언어는 그 다음의 문제이다. 한국어, 영어 상관없이 내 의사를 표현할 수 있으면 된다!
- 어느 언어나 프로그래밍 요소를 배우면 다른 언어는 문법의 문제
- 대화형 Python으로 시작.
- Python 인기도
- TIOBE지수 2016년 6월 4위
- PYPL PopularitY of Programming Language 2016년 7월 2위
관련 자료
목차
시작에 앞서
- 헬로우 프로그래밍
- 학습내용
- 목표
- 문제
- 프로그래밍이란?
- 프로그래밍을 왜 배워야 하지?
- 프로그래밍을 어떻게 하면 될까?
- 프로그래밍은 무엇을 배우는 것일까?
- 프로그래밍을 잘하려면?
- 프로그래밍 환경
- 컴퓨터는 명령문을 어떻게 실행할까?
- 학습내용
- 시작하기
- 개요. 로고 프로그래밍(Logo Programming) 또는 거북이 프로그래밍?
- 개발환경
- Python 설치
- IDE
- 다이어그램 (Diagram)
- 간단한 명령어 배우기
- 거북이(Turtle) 소개
- 그림판에 거북이 나타내기
- 기본 동작 명령어 배우기
- 기본 색 변경
- 거북이 모양 바꾸기
- 캔버스 다녀보기
- 거북이(Turtle) 소개
- 거북이 프로그래밍의 더 많은 기능 알아보기
- 거북이(Turtle)
- 스크린(Screen)
- 거북이를 활용한 프로그램 작성 시작-1: 미로를 그려서 사진찍고 거북이 게임 시작-2: 미로게임을 애니메이션
- 간단한 그림을 그리면서 변수와 함수 이해하기
- 개요
- 한글 자음 그려보기
- 간단한 한글 자음 그려보기
- 변수를 이용해서 크기를 변경하기
- 함수를 활용해서 그림 그려보기
- 시작-3 기역자 바람개비 그리기
- 위치
- 간단한 도형 그려보기 시작-4: 간단한 도형 삼각형, 다각형, 별모양 그리기 시작-5: 자신의 이름을 쓰고 자신의 아이콘으로 장식하기
- 제어흐름
- 개요
- 환경설정
- 제어 흐름이란?
- 조건
- 반복
- 의사코드 작성법과 제어 흐름 그림으로 표현하기
- 개요
- 제어 흐름을 의사코드로 표현하기
- 조건
- 반복
- 제어 흐름 그림으로 표현하기 3 제어 흐름 예제
- 제어-1: 도형그리기
- 제어-2: 사용자의 입력을 받아서 해당하는 도형을 그리기
- 제어-3: 바람개비 도형 그리기
- 제어-4: 온도를 입력받아서 화씨-섭씨간 변환
- 제어-5: 성적을 입력받아 A~F까지 학점 처리
- 제어-6: 가위바위보
- 제어-7: 삼각형 그리기
- 제어-8: 구구단의 출력
- 제어-9: BMI계산하기
- 제어-10: 5배수의 합계
- 제어-11: 윤년인지 맞추기
- 제어-12: 100년동안 매월 1일이 일요일인 경우
- 제어-13: 업다운 게임
- 제어-14: 캘린더 만들기
이벤트
- 개요
- 이벤트 프로그래밍
- 이벤트 프로그래밍
- 이벤트 (Event)
- 이벤트 프로그램의 구성
- IPython Notebook에서의 이벤트 프로그래밍 (그림으로 설명 필요함)
이벤트 프로그래밍을 활용하는 예제
- 키보드 방향키에 따라 거북이를 움직이기
- 마우스가 클릭하는 위치에 거북이를 이동하기
- 키보드 마우스로 미로 게임 해보기
- 거북이가 구역에 들어가면 알려주기
- 거북이가 선을 밟았는지 알려주기
- 거북이가 원에 들어갔는지 알려주기
데이터구조
- 개요
- 데이터구조는 무엇이고 왜 필요할까?
- 데이터구조의 선언
- 많이 사용하는 데이터구조
- 개요
데이터구조의 활용 예제 (이건 너무 커서 챕터 2개로 짜르는 것도 가능)
- 거북이를 여러 개 만들어서 관리하기 (새로운 예제)
- 리스트에 있는 수의 합계를 구하기
- 키보드로 한 마리의 거북이를 움직이고 그 움직인 트랙을 저장하기
- 두 마리 이상의 거북이 트랙 저장하기 (새로운 예제, 거북이를 마우스로 선택 가능?)
- 도형을 데이터구조로 저장하고 그리기
- 한 마리의 거북이가 걸어간 트랙을 다시 걷게 하기
- 두 마리 이상의 거북이가 걸어간 트랙을 다시 걷게 하기 (새로운 예제)
- 문자열에서 문자 개수 세기
- 문자열에 포함된 문자와 숫자의 개수 세기
- 우리 집에 없지만 친 구 집에 있는 가전제품 찾기
- 서울 경복궁 입구에서 제일 가까운 지하철역 찾기
- 서울에 거주하는 남녀의 구별 합계와 평균 구하기
- 커피에 milk를 추가하는 비율 구하기
- 성적데이터의 평균/합계를 구하기
- 비틀즈의 “Let it be”라는 노래에서 자주 등장하는 단어는?
파일
- 개요 (파일이란?, 파일의 종류, 배워야 할 기능)
- 파일을 배우기 전에 ipython notebook으로 읽고 쓰기
파일을 활용하는 예제
- 파일을 읽어서 python 단어가 있는 줄을 화면에 출력하기
- 파일에 있는 python단어를 변경해서 쓰기
- 2차원 데이터를 파일로 쓰기
- 파일 합치기
- 파일의 데이터를 읽어서 도형을 그리기
- 한글 텍스트 파일 읽기
객체지향
- 개요 (14.2.1 포함)
- 객체지향 Python
- 클래스 만들어보기
- Dog 객체를 만들어 이름을 출력한다
- 상속
- Dog 객체를 만들고, 다른 종은 다르게 말하는 프로그램을 구현한다
게임 만들기