손쉬운 프로그래밍 입문서!!
이 책은 '소프트웨어'를 전공하지 않은 독자들을 위해 이해하기 쉽게 작성되었다. 특히 실생활의 예를 들어가며 어려운 개념들을 쉽게 설명하기 때문에 비전공자들도 개념을 이해하는데 많은 도움이 될 것이다. 이 책에서의 특징들은 다음과 같다.
-컴퓨팅 사고력을 길러 주어진 문제에 대해 스스로 생각하여 해결하는 능력을 키우는 데 도움을 준다.
-시각적인 효과를 통하여 효율적으로 이해할 수 있도록 다양한 그림과 표를 통해 학습의 효과를 높일 수 있다.
-일상생활에서 만날 수 있는 친근한 예를 많이 활용하여 설명하였고, 문제해결을 위한 다양한 발상을 중심으로 다양한 주제와 응용들을 다루었다.
-문제해결의 방법, 컴퓨팅 사고와 문제해결 그리고 상상력과 창의성을 활용한 창의적 코딩을 하도록 하였다.
-주어진 문제에 대해 생각해보기, 그리고 문제해결 방법을 제시하여 독자의 창의적 사고를 유도하도록 하였다.
-컴퓨팅 사고를 통해 정리된 생각을 랩터(흐름도)를 사용하여 알고리즘으로 구현해 보도록 하였다.
조대제
경북대학교 대학원 컴퓨터공학과에서 공학박사 학위를 취득하였으며, 현재 경북 안동에 위치한 국립안동대학교 공과대학 멀티미디어공학과의 교수로 재직 중이다. 관심분야는 컴퓨터알고리즘, 디지털콘텐츠보안, 멀티미디어시스템, 소프트웨어교육 등이다.
송희헌
충북대학교 대학원 전자계산학과에서 이학박사 학위를 취득하였으며, 한국전자통신연구원의 선임연구원을 거쳐 현재는 경북 안동에 위치한 국립안동대학교 사범대학 컴퓨터교육과 교수로 재직 중이다. 관심분야는 컴퓨터교육, 인공지능, 패턴인식, 인공신경망 등이다.
배미영
국립안동대학교 대학원 멀티미디어공학과에서 공학박사 학위를 취득하였으며, 현재 안동대학교 등에서 전공 및 교양수업을 담당하고 있다. 관심분야는 컴퓨터비전, 디지털콘텐츠보안, 웹 보안, 앱 개발, 소프트웨어교육 등이다.
CHAPTER 01 컴퓨팅 사고와 컴퓨터 이해하기
1.1 4차 산업혁명과 ICBM
1.2 인간과 컴퓨터
1.3 인간과 컴퓨터 간의 대화
1.4 컴퓨터 이해하기
1.5 실세계 정보와 데이터
연습문제
CHAPTER 02 컴퓨팅 사고와 문제 해결
2.1 문제와 문제 해결
2.2 문제 해결 방법
2.3 컴퓨팅 사고의 이해
2.4 컴퓨팅 사고의 구성 요소와 적용 단계
2.5 알고리즘 설계 방법
2.6 문제 해결 과정
2.7 문제 해결 사례 분석
연습문제
CHAPTER 03 정보를 담는 그릇: 변수
3.1 변수의 개념
3.2 여러 개의 변수를 묶어서 사용하기: 배열
3.3 데이터의 입력과 출력
3.4 연산자를 이용하여 계산하기
3.5 프로그램 도우미: 내장함수
연습문제
CHAPTER 04 조건에 따라 선택하기
4.1 조건 만들기
4.2 기본 선택문
4.3 선택문 활용하기
4.4 다양한 선택문 활용하기
연습문제
CHAPTER 05 규칙을 찾아 반복 처리하기
5.1 반복 구조
5.2 반복 처리 유형
5.2.1 정해진 횟수만큼 반복 처리하기
5.2.2 종료 조건이 만족될 때까지 반복 처리하기
5.2.3 반복 처리 유형의 비교
5.3 중첩 반복 구조
5.4 반복 구조 응용
연습문제
CHAPTER 06 함수라는 이름의 전문가 사용하기
6.1 미리 만들어 놓은 함수
6.2 나만의 함수 만들기
6.3 함수의 실행 결과 반환하기
6.4 파일을 사용하여 데이터 입출력하기
연습문제
CHAPTER 07 랩터 그래픽 다루기
7.1 RAPTORgraph 개요
7.2 RAPTORgraph 시작하기
7.3 RAPTORgraph의 그래픽 함수
7.4 RAPTORgraph로 마우스와 키보드 처리하기
7.5 RAPTORgraph로 애니메이션 만들기
7.6 이미지와 사운드
연습문제
CHAPTER 08 프로그래밍 언어로 본격적인 코딩하기
8.1 파이썬 언어를 이용한 코딩
8.2 파이썬에서 함수 사용하기
8.3 파이썬으로 그림 그리기
부록
어떻게 하면 학생들에게 쉽게 이해시킬까?
이 질문은 이 책의 저자 세 분과 회의할 때마다 빼놓지 않고 등장하던 질문이다. 세 분 모두 강의 현장에서 실제 학생들을 가르치다 보니 생각지도 못했던 부분에서 가로막혀 수업이 어려웠던 적이 많았다고 했다. 그것은 보통 프로그램을 '사용'하는 입장에서 '만드는' 입장이 되었을 때 학생들은 그야말로 '백지'상태가 된다는 것이었다.
'프로그램' 또는 '프로그래밍'을 시작하는 입장에서는 컴퓨터가 작동하는 방식으로 생각하는 법이 생소할 수밖에 없었으리라는 결론이었다.
여기서 등장한 것이 '랩터'를 이용한 흐름도였다. 단순하게 보이지만 가장 효과적으로 프로그램의 흐름을 설명할 수 있는 방법!
여기에 파이썬을 이용하여 하나씩 문법을 설명해 나가는 방식을 취했다. 책을 살펴보면 다른 책에서는 볼 수 없었던 신선한 예제들이 많은데 그것은 세 저자들의 수업에서 실제 사용되었고 학생들의 호응이 꽤 컸던 것들을 아낌없이 사용한 결과물들이다.
장소와 시간을 불문하고 집필과 교정에 열정적으로 참여해 주신 세 분 저자께 고마운 말씀을 전한다. KTX 역사에서 또는 연구실에서 시간이 허락하는 대로 원고를 펼쳐놓고 진행하는 회의는 참으로 감사한 것이었다.
이 책이 프로그램을 시작하는 독자들에게 첫 발을 내딛는 동력이 되기를 희망한다.