기초코딩과 문제해결 with RAPTOR

기초코딩과 문제해결 with RAPTOR

$25.46
Description
『기초코딩과 문제해결 with RAPTOR』은 컴퓨팅 사고와 알고리즘 사고 수립을 위한 기초 지식과 프로그램에서 다루는 프로그램 논리를 이해하고, 알고리즘 수립 및 프로그램 작성을 위해 필요한 요소들에 대한 학습에 중심을 두었다. 단위 문제를 제시하고 문제를 랩터를 이용하여 선택 논리와 반본 논리를 이용하여 순서도로 표현하는 기초와 응용, 함수에 대한 개념과 코딩에서 활용하는 방법에 대해 학습하고, 함수의 개념을 사용하여 제시된 문제를 분할하여 알고리즘을 수립·해결하는 방법 등을 학습할 수 있도록 구성되어 있다.
저자

하옥균

경상대학교컴퓨터과학공학박사
경운대학교항공소프트웨어공학과교수
관심분야:항공소프트웨어설계,항공시뮬레이션,병렬처리시스템

목차

PREFACEiii

◆◆CHAPTER1컴퓨팅사고와소프트웨어001

Section14차산업혁명의이해003
1.14차산업혁명시대의도래003
1.24차산업혁명기반기술의이해004
1.2.1빅데이터(BigData)004
1.2.2인공지능(AI:ArtificialIntelligence)005
1.2.3사물인터넷(InternetofThing,IoT)009
1.2.4가상현실(VirtualReality,VR)010
1.2.5증강현실(AugmentedReality,AR)012
1.2.6디지털트윈(DigitalTwin)013
1.3미래직업변화트렌드와필요역량014
1.3.1기존직업의고부가가치화014
1.3.2직업의세분화및전문화015
1.3.3융합형직업의증가015
1.3.4과학기술기반의새로운직업탄생015

Section2디자인씽킹과컴퓨팅사고016
2.1디자인씽킹(DesignThinking)016
2.1.1Empathize:공감하기016
2.1.2Define:문제정의하기017
2.1.3Ideating:아이디어도출하기017
2.1.4Prototype:프로토타입만들기017
2.1.5Test:시험하기018
2.2컴퓨팅사고(ComputationalThinking)018
2.2.1컴퓨팅사고의특징019
2.2.2컴퓨팅사고증진을위해필요한핵심요소020

Section3컴퓨팅사고와소프트웨어024
3.1소프트웨어의이해024
3.2소프트웨어의특징025
3.3소프트웨어의역할변화026
3.3.1소프트웨어의과거026
3.3.2소프트웨어중심사회026
●EXERCISE029

◆◆CHAPTER2데이터의표현과소프트웨어실행031

Section1컴퓨터의데이터표현033
1.1디지털컴퓨터와데이터033
1.2문자의표현035
1.2.1아스키(AmericanStandardCodeforInformationInterchange,ASCII)코드035
1.2.2유니코드(Unicode)037
1.3숫자의표현039
1.3.1진법표현039
1.3.2정수의표현041
1.3.3실수의표현042

Section2프로그램실행045
2.1컴퓨터와소통하는방법045
2.1.1인간의언어로컴퓨터와소통하기045
2.1.2컴퓨터의언어로소통하기046
2.1.3인간과컴퓨터만의공통언어로소통하기046
2.2프로그래밍언어의분류047
2.2.1저급언어(Low-levellanguage)047
2.2.2고급언어(High-levellanguage)048
2.2.3프로그램언어발전과종류049
2.3컴퓨터의프로그램실행051
2.3.1컴파일러(Compiler)를이용하는방식052
2.3.2인터프리터(Interpreter)를이용하는방식052
2.3.3하이브리드(Hybrid)방식052

Section3코딩환경구축과사용053
3.1랩터(Raptor)이해하기053
3.2랩터설치하기054
3.3랩터실행하기055
●EXERCISE057

◆◆CHAPTER3알고리즘과프로그램논리059
Section1알고리즘과절차표현061
1.1알고리즘(Algorithm)061
1.2문제해결과절차표현061
1.2.1논리적인절차의표현062
1.2.2랩터기반순서도063

Section2프로그램논리만들기068
2.1알고리즘수립과정068
2.2프로그램논리069
2.2.1순서논리069
2.2.2선택논리071
2.2.3반복논리072

Section3문제분해와해결074
●EXERCISE075

◆◆CHAPTER4변수와연산077

Section1변수이해하기079
1.1변수란?079
1.1.1식별자080
1.1.2변수의선언과초기화081

Section2데이터의계산083
2.1컴퓨터프로그램에서의수식표현083
2.1.1“=”연산자083
2.1.2연산자의표현과생략084
2.1.3문자연산085
2.2순차논리를이용한데이터의계산085
●EXERCISE090

◆◆CHAPTER5선택논리와알고리즘사고103

Section1선택논리와관계연산105
1.1선택논리105
1.2관계연산105
1.2.1단순선택106
1.2.2이중선택107
1.2.3다중선택107

Section2선택과논리연산109
2.1단순선택문109
2.2이중선택문112
2.3다중선택문117

Section3복합조건과선택논리122
3.1복합조건과논리연산자122
●EXERCISE128

◆◆CHAPTER6반복논리와알고리즘사고139

Section1단순한반복논리141
1.1반복논리의이해141
1.2반복문141
1.2.1횟수중심의반복문142
1.2.2조건중심의반복문144

Section2반복논리의활용146

Section3중첩반복과복합논리153
3.1중첩반복문153
3.2복합논리161
●EXERCISE166

◆◆CHAPTER7함수와알고리즘사고173

Section1함수의개념175
1.1함수의필요성176
1.2함수의종류177

Section2랩터의프로시저179

Section3라이브러리함수사용190
3.1기본함수190
●EXERCISE196

◆◆CHAPTER8시뮬레이션과코딩205

Section1시뮬레이션준비하기207
1.1시뮬레이션과그래픽207
1.2랩터의그래픽프로그램208
1.2.1시작하기208
1.2.2그래픽처리를위한프로시저211

Section2물체의등속운동및자유낙하운동시뮬레이션218
2.1등속도운동시뮬레이션218
2.2자유낙하운동시뮬레이션224

Section3물체의포물선운동과시뮬레이션227
3.1여러방향으로움직이는물체의위치값227
3.2포물선운동시뮬레이션하기228
●EXERCISE232

◆◆CHAPTER9데이터관리와문제해결237

Section1데이터와자료구조239
1.1자료구조의이해239
1.2배열을이용한프로그램240
1.2.1배열(Array)240
1.2.22차원배열244

Section2데이터의탐색249
2.1탐색이란?249
2.2배열을이용한데이터탐색250
2.2.1순차탐색(SequentialSearch)250
2.2.2이진탐색(BinarySearch)253

Section3데이터의정렬257
3.1정렬이란?257
3.2배열을이용한데이터정렬258
3.2.1선택정렬258
3.2.2버블정렬259
●EXERCISE263

◆◆PROJECT1271

Project1-1피보치수열계산273
1.피보나치수열이해273
2.재귀호출(Recursivecall)274
3.재귀호출을이용한피보나치수열계산275
4.재귀호출을사용하지않는피보나치수열계산277

Project1-2하노이탑문제해결279
1.하노이탑문제이해279
2.하노이탑문제해결하기280

◆◆PROJECT2283

Project2-1동전게임285

Project2-2주사위확률계산290

출판사 서평

본교재의1장부터4장에서는컴퓨팅사고와알고리즘사고수립을위한기초지식과프로그램에서다루는프로그램논리를이해하고,알고리즘수립및프로그램작성을위해필요한요소들에대한학습에중심을두었다.

5장과6장에서는논리적인절차수립의논리를명세할수있는역량을함양하기위하여단위문제를제시하고문제를랩터를이용하여선택논리와반본논리를이용하여순서도로표현하는기초와응용에대해학습한다.

7장에서는함수에대한개념과코딩에서활용하는방법에대해학습하고,함수의개념을사용하여제시된문제를분할하여알고리즘을수립·해결하는방법을학습한다.

8장에서는코딩을활용한시뮬레이션에대해이해하고랩터를이용하여기초적인물리적인반응을시뮬레이션에반영하는방법을실습을통해익힐수있게하였다.이를통해공학분야에서다루는다양한문제를코딩으로해결하는방법에대해학습한다.

9장에서는자료구조를이해하여데이터관리를위한탐색과정렬을소개하고이를바탕으로실제코딩에서활용할수있도록다양한문제를제시하여스스로해결방법을코딩으로학습할수있게하였다.

끝으로Project1,2를통해지금까지학습한내용의응용과심화학습이가능한문제를제시하여코딩능력향상이가능하도록하였다.