책소개
이 책은 지금까지 경험하지 못한 코딩 교육의 진수를 보여준다. “코딩 교육이 가야 할 방향은 컴퓨팅 사고력을 높이는 것이다.”라고 이 책의 저자들이 말하듯, “디지털 시대에 적합한 창의력과 문제해결력을 기르기 위한 코딩의 기초부터 응용까지 컴퓨터 코드를 작성하는 것을 기본적으로 다루고 있다. 추가로 다른 책들과는 다르게 알고리즘 학습을 통한 컴퓨팅 사고력을 기를 수 있고, 인공지능까지 학습할 수 있다는 장점이 있다.
저자소개
경인교육대학교 컴퓨터교육과 교수, 인공지능교육연구소 소장, 한국인공지능교육학회 학회장이다. 저서로는 『중학교 정보』 교과서, 『스크래치 마법 레시피』, 『스크래치 창의 컴퓨팅』, 『스크래치 주니어 워크북』, 『AI 사고를 위한 인공지능 랩』, 『AI 플레이그라운드』, 『놀랍게 쉬운 인공지능의 이해와 실습』, 『AI 사고를 위한 인공지능 교육』(이상 성안당), 『컴퓨팅 사고를 위한 스크래치 3.0』, 『소프트웨어 교육』, 『소프트웨어 교육 방법』(이상 생능출판사) 등이 있다.
목차
들어가며컴퓨팅 사고를 위한 파이썬 활용법Chapter 0 컴퓨팅 사고와 프로그래밍 컴퓨터 과학과 프로그래밍 | 컴퓨팅 사고란? | 컴퓨팅 사고의 과정 Chapter 1 파이썬의 세계로 01 프로그래밍 언어란? | 02 파이썬이란? | 03 파이썬 설치 및 실행04 파이썬 셸 사용하기 | 05 간단한 계산 수행하기 06 스크립트 모드 메모장 사용하기 | 07 파이썬 철학 08 파이썬 파일 저장과 불러오기 | 09 파이썬 오류 메시지 해석하기 Chapter 2 변수와 연산자 01 변수(Variable)란? | 02 변수 생성 및 규칙 | 03 다양한 타입의 변수 04 변수에 값 입력받기 / 문장 말하는 새 | 05 연산자(Operator)란? 06 산술연산자 | 07 비교 및 논리 연산자 08 문자열 연산 1 단순 계산기 프로그램 / 2 성적 계산 프로그램 / 3 수학 계산기(1) 4 수학 계산기(2) / 5 문자 자동 전송 / 6 BMI 계산 Chapter 3 조건 01 조건(Condition)이란? | 02 알고리즘과 의사코드 03 프로그래밍 구조에서의 조건문 | 04 기본 조건문 만들기 05 입력(input)을 이용한 조건문 / input 이용 예제 06 비교연산자를 이용한 조건문 / 관계연산자를 이용한 조건문 예제 07 논리연산자 이해하기 | 08 논리연산자를 이용한 조건문 09 조건이 두 개 이상일 때, IF-ELSE / IF-ELSE를 이용한 프로그램 10 조건이 3개 이상일 때, IF-ELIF-ELSE | 11 주석 달기 1 조건이 3개 이상인 예제 / 2 수학을 이용한 프로그램 예제 3 중첩 조건문-입대 영장 / 4 자동판매기 / 5 주민등록번호로 출생지 출력하기Chapter 4 반복 01 반복 구조(Loop) | 02 while 반복문 / while 반복 예제 03 while로 반복 입력문 만들기 1 while 사용 예제 / 2 while을 이용한 프로그램 만들기 04 For 반복(iteration) / For 반복(iteration) 연습05 For 문에 range() 사용하기 | 06 while과 for 비교 / range() 예제 07 continue와 break 1 break, continue 예제 / 2 전체 구구단 출력 / 3 버스킹 로빈스 31 4 최대공약수 계산 / 5 복리 계산기 Chapter 5 터틀 라이브러리 01 그래픽 활용(Turtle 라이브러리) | 02 터틀 움직이기 03 goto()와 pendown(), penup() | 04 반복문으로 다각형 그리기 반복문으로 다각형 그리기 실습 05 펜 모양 다양하게 만들기 | 06 터틀 애니메이션 만들기 07 터틀 명령어 정리 및 약어 1 터틀 실습(1) / 2 터틀 실습(2) / 3 터틀 실습(3) / 4 터틀 실습(4) Chapter 6 문자열 01 문자열 변수 | 02 문자열 연산 | 03 문자열 인덱싱과 슬라이싱 04 문자열 슬라이싱 / 문자열 인덱싱, 슬라이싱 문제 05 문자열 조작 명령어(1) | 06 문자열 조작 명령어(2) / 문자열 조작 명령어 문제 07 문자열 조작 명령어(3) / 문자열 문제 08 문자열 포맷팅 % 1 문자열 포맷팅 문제 / 2 연습 문제 / 3 암호 만들기 / 4 주민등록번호 정상 판별 Chapter 7 데이터 타입(Data Types) 01 Data Types(리스트, 튜플, 집합, 딕셔너리) | 02 리스트 03 리스트 조작하기(1) 인덱싱, 슬라이싱 | 04 리스트 조작하기(2) 수정, 삭제, 변경 05 리스트 조작하기(3) 추가, 삽입, 확장, 세기, 정렬 / 리스트 문제 06 튜플 생성 | 07 튜플 조작 / 튜플 문제 | 08 집합 자료형 / 집합 자료형 연습 09 딕셔너리(Dictionary) 조작 | 10 딕셔너리 조작하기(1) 인덱싱, 추가, 삭제 11 딕셔너리 조작하기(2) key, value 확인 1 신입생 / 2 카드 게임 / 3 자료형 전체 연습 문제Chapter 8 파일 입출력과 예외 처리 01 파일 입출력과 예외 처리 | 02 파일 읽기 | 03 파일 쓰기 04 파일에 내용 추가하기 | 05 파일 내용 읽기 | 06 예외 처리 1 예외 처리 연습 문제 / 2 세이브 파일 만들기 / 3 오류 목록 만들기 4 점수 합계 구하기 / 5 찾기-바꾸기 기능 만들기Chapter 9 함수 01 함수(Function)란? | 02 함수의 사용 1 함수 만들기 연습 문제 03 함수의 매개변수 사용하기 | 04 함수를 통해 변수에 값 입력하기 return 2 함수 만들기 연습 문제 28205 인자의 기본값과 가변 인자 / 인자의 기본값과 가변 인자06 파이썬의 함수 설명하기 Docstring | 07 lambda 함수 / 연습 문제 1 도서 대출 시스템 / 2 커피 주문 시스템 / 3 마우스로 터틀 움직이기 4 키보드로 터틀 움직이기 Chapter 10 내장 함수와 외장 함수 01 내장 함수(Built-in Fuction)와 외장 함수(Standard Library) 02 연산, 정보 관련 내장 함수 | 03 반복 객체 관련 내장 함수 내장 함수 관련 연습 문제04 외장 함수의 종류 | 05 인터프리터를 관리하는 모듈 sys 06 명령 프롬프트로 인자 넘기기 sys | 07 운영체제에 접근하기 os 08 자료형 그대로 파일에 저장하기 pickle | 09 무작위 숫자 만들기 random 10 수학 관련 계산 math | 11 인터넷 이용 webbrowser, urllib 12 날짜와 시간 datetime, time 1 점심 메뉴 추천 / 2 말랑 두뇌 계산 게임 Chapter 11 Tkinter 라이브러리01 Python으로 GUI를 만드는 법 Tkinter | 02 tkinter 구성 요소 파악하기 03 Label과 Entry, Button | 04 버튼 이벤트 만들기 버튼 이벤트-아이디와 패스워드 입력05 위젯 위치 관리하기 Grid, Place Manager / 반복문으로 배치하기 06 메뉴 만들기 / 메뉴 만들기 연습 07 이벤트 처리 고급-바인딩 1 메모장 / 2 회원 가입과 로그인 / 3 BMI 계산기 2 / 4 계산기 Chapter 12 객체와 클래스 01 객체(Object)와 클래스(Class) | 02 객체지향 프로그래밍(OOP)이란? 03 클래스 선언 | 04 객체 생성하기(1) | 05 객체 생성하기(2) 여러 객체 생성06 객체 생성하기(3) 메서드 추가하기 1 계산기 만들기 / 2 라이브러리 Turtle과 tkinter로부터 객체 생성하기 07 클래스 상속하기 | 08 매직 메서드의 종류 1 2인용 터틀 / 2 연봉 계산하기 / 3 캐릭터의 싸움 Chapter 13 객체와 클래스 프로젝트 01 객체와 클래스를 이용한 프로젝트 | 02 시작하기 전 터틀 라이브러리의 추가 기능 03 시작하기 전 반복하여 객체 생성하기 | 04 거북 보물찾기 게임 개발 준비 05 기본적인 게임 화면 turtle.Screen() 만들기 | 06 내 캐릭터 클래스 My() 만들기 07 적 거북 클래스 Enemy() 만들기 | 08 벽 충돌 Enemy.move() 방지하기09 보석 클래스 Jewel() 만들기 | 10 점수, 게임 진행 클래스 Game() 만들기11 적 거북과 보석의 충돌 이벤트 관리하기 | 12 보석과 거북의 수를 입력받아 생성하기 13 게임 기능 확장하기 | 14 전체 소스 살펴보기 Chapter 14 이미지 편집 라이브러리 01 이미지 편집 라이브러리 Pillow | 02 Pillow 시작하기 03 이미지 잘라내기 | 04 이미지 병합하기 05 이미지 회전, 리사이즈, 뒤집기 | 06 RGB 처리하기 07 이미지에 필터 씌우기 | 08 tkinter에 이미지 띄우기 09 RGB picker 만들기 | 10 Pillow 확장 Chapter 15 유용한 라이브러리01 NumPy, BeautifulSoup, Matplotlib의 활용 | 02 BeautifulSoup 03 HTML의 구조 파악하고 정보 찾기 | 04 영화 순위 크롤링하기 05 NumPy 수치 해석 | 06 NumPy 시작하기 07 NumPy 배열 생성하기 | 08 NumPy 초기화 배열 생성 09 NumPy 조건 및 난수 배열 생성 | 10 NumPy 배열 연산하기 11 NumPy 배열 슬라이싱, 인덱싱 | 12 Matplotlib란? 13 Matplotlib 제목과 레이블 설정하기 | 14 Matplotlib 분포도, 막대그래프 만들기 15 Matplotlib 누적 막대그래프, 원그래프 | 16 NumPy와 Matplotlib Chapter 16 인공지능과 딥러닝 기초01 인공지능이란? | 02 기계학습의 원리03 Scikit-learn 라이브러리 설치와 Pandas04 지도학습(예측) - 회귀분석 1 | 05 회귀분석 206 지도학습(분류) - 의사결정트리 | 07 비지도학습 - 군집화08 Scikit-learn 연습 데이터 생성 | 09 Keras를 이용한 딥러닝10 다양한 파이썬의 라이브러리찾아보기