
책 소개
대학에서 컴퓨터 과학을 가르친 지가 30여년이 되었다. 오래 전부터 지금까지 거의 대부분의 대학에서 컴퓨터 관련 과목이 교양 필수로 지정되어 모든 학생이 의무적으로 한 과목 이상은 수강해야 했다. 과목도 시대에 따라 변화했는데 초기에는 EDPS(Electronic Data Processing System)라 하였고 이후에 컴퓨터 개론, 전산정보시스템, 인터넷과 정보처리, 컴퓨터 활용, 프로그래밍 기초, 컴퓨터와 정보처리, 정보처리와 프리젠테이션, 컴퓨터 활용과 의사소통 등 대학마다 다양한 이름으로 불리며 그 내용도 조금씩 바뀌어 왔다. 제4차 산업혁명의 시대적 환경과 2016년 3월 알파고와 이세돌의 시합으로 인공지능과 사물인터넷 등을 중심으로 컴퓨터 과학에 대한 관심이 높아지고 컴퓨팅사고(Computational Thinking)가 주목을 받으면서 컴퓨터와 소프트웨어 교육에 새로운 전환점을 맞고 있다. 2018년부터는 중등학교에서 소프트웨어 교육이 의무적으로 시행될 예정이다. 컴퓨팅사고(Computational Thinking)는 최근에 처음 사용된 용어는 아니다. 2006년 카네기멜런대 교수이던 Jeannette Wing 박사가 Communications of ACM에 컴퓨팅사고에 대한 논문을 발표된 이후 새로이 많은 주목을 받기 시작하였다. Wing 박사는 이 논문에서 컴퓨팅사고를 “컴퓨터(또는 사람)가 효과적으로 실행할 수 있도록 문제를 정형화하고 해결책을 표현하는데 관련된 사고과정”으로 정의하였다. 또한 “컴퓨터 과학자처럼 추론하고 사고하는 것”이라 하였다. 초등교육에서 다루는 3Rs(읽기: Reading, 쓰기: Writing, 셈하기: Arithmetic)처럼 누구나 배워서 활용할 수 있는 보편적 사고이자 기술이며 기본적으로 갖추어야 할 역량이라고 주장한다. 좀 더 쉽게 풀어 보면 컴퓨터 과학자가 이용하는 컴퓨터과학에서 사용하는 기술을 일상생활의 문제 해결에 적용하려는 기술이라고 할 수 있다. 이 책은 크게 두 부분으로 구성되었다. 컴퓨팅 사고에 관련한 부분과 순서도(flow-chart) 기반 프로그래밍 개발환경인 Raptor 프로그래밍 부분이다. 제1장은 막연하게 어렵다고 느껴지거나, 전혀 다르게 생각할 수 있는, 놓치기 쉬운 다른 시각을 상기시켜주는 일상생활의 문제를 소개한다. 저자는 이 예들을 통해 문제를 해결하려는 의지와 폭넓은 사고를 강조하고자 한다. 2장은 컴퓨팅 사고에 대한 소개이다. 3장부터 8장까지는 컴퓨터과학에 대한 기초적이고 기본적인 내용을 다루고 있다. 컴퓨팅사고가 컴퓨터과학에서 사용하는 기술을 일상생활의 문제 해결에 적용하려는 기술이라면 컴퓨터과학에 대한 올바른 이해가 우선하여야 한다고 생각하기 때문이다. 3장은 컴퓨터 시스템과 운영체제, 4장은 이진수와 정보의 표현, 5장은 부울대수와 디지털 전자회로, 6장은 프로그래밍언어와 프로그램, 7장은 자료구조, 8장은 알고리즘을 다루고 있다. 컴퓨팅사고의 개념을 이해하고 활용하기 위해 필요하다고 생각되는 분야의 내용을 간결하게 설명하려고 노력했다. 2부인 9장부터 17장까지는 순서도 기반 프로그래밍 개발 환경인 Raptor 프로그래밍에 대한 내용을 다루고 있다. Raptor는 배우기와 사용하기가 쉬운 순서도(flowchart) 기반의 비주얼 프로그래밍 개발 환경이다. C, C++와 Java 프로그래밍언어처럼 준수해야 하는 복잡한 문법 규정이 없을 뿐만 아니라 사용하기에도 매우 편리하다. 실제 많이 사용하는 프로그래밍 언어인 C, C++, Java 등을 이용하여 프로그래밍을 배우는 것도 나름대로의 장점이 있지만 프로그래밍언어의 문법과 사용법을 익히느라 문제해결 방법을 고안하고 표현하는 프로그래밍의 본질은 소홀하게 될 뿐만 아니라 프로그래밍을 너무 어렵게 생각하게 하는 단점이 있다. 또한 Raptor는 컴퓨터 프로그래밍언어가 가져야 하는 기본 개념은 대부분 가지고 있기 때문에 처음 컴퓨터 프로그래밍을 배우고자 하는 사람에게 매우 적합한 개발 환경이다. 컴퓨터 분야에 많은 관심을 갖고 새로운 요구와 시대에 적합한 컴퓨터 교양 교과목 개발을 채근한 우리 대학의 교양융합대학장 이은진 교수님, 수년 전부터 컴퓨팅 사고 교과목을 개설해 가르치고 있는 연세대학교 나정은 교수님, 컴퓨팅사고에 많은 관심을 가지고 새로운 컴퓨터 교양 교과목 만들기에 함께 고민한 상명대학교 교양대학장 김인주 교수님께 감사의 말씀을 드립니다. 우리대학의 새로운 컴퓨터 교양 교과목의 개설과 이 책의 집필에 동기와 영감을 제공해 주었습니다. 또한 촉박한 시일에 좋은 책 만들기 위해 애쓴 휴먼싸이언스 관계자에게도 고마운 마음 전합니다. 아무쪼록 이 책이 여러분의 문제 해결 능력 향상에 기여하고 컴퓨팅사고를 이해하고 이를 활용하는데 조금이라도 도움이 되기를 기원한다.
목차펼치기접기
차례 컴퓨팅사고 1 시작하기 1.1?문제풀기 3 연습문제 19 2 컴퓨팅사고 2.1?컴퓨팅사고의 정의 21 2.2?왜 컴퓨팅 사고인가? 21 2.3?컴퓨팅사고의 주요 요소 23 연습문제 27 3 컴퓨터 시스템 3.1?하드웨어의 구성 29 3.2?프로그램 내장방식 컴퓨터 33 3.3?기억장치의 계층구조 33 3.4?소프트웨어와 운영체제 37 연습문제 39 4 이진수와 정보의 표현 4.1?숫자의 표현 41 4.2?이진수 42 4.3?보수 46 4.4?정수의 표현 47 4.5?실수의 표현 49 4.6?문자의 표현 51 4.7?비트와 바이트, 워드 53 연습문제 55 5 부울 대수와 디지털 전자회로 5.1?부울 대수 57 5.2?게이트 59 5.3?반가산기 60 연습문제 62 6 프로그래밍 언어와 프로그램 6.1?프로그래밍 언어 63 6.2?프로그래밍 언어 구현 방법 65 6.3?프로그램 제어구조 66 6.4?프로그램의 구분 71 6.5?소프트웨어 개발 생명 주기 72 연습문제 75 7 자료구조 7.1?배열 78 7.2?레코드 79 7.3?연결리스트 80 7.4?스택 82 7.5?큐 83 7.6?트리 83 7.7?그래프 85 7.8?해시테이블 86 연습문제 89 8 알고리즘 8.1?알고리즘 표현 방법 92 8.2?유클리디언 GCD 알고리즘 96 8.3?정렬 97 연습문제 108 II Raptor 9 Raptor 소개 9.1?Raptor의 설치와 실행 112 9.2?Raptor의 메뉴와 기호 114 9.3?Raptor를 이용한 간단한 프로그램 작성 126 연습문제 131 10 변수와 데이터 타입 10.1?변수 133 10.2?데이터 타입 134 10.3?자료의 표현 136 연습문제 138 11 산술연산자와 내장함수 11.1?산술연산자 139 11.2?내장함수 140 11.3?연산자 우선순위 142 연습문제 143 12 순차 구조 12.1?순차논리 145 연습문제 148 13 선택 구조 13.1?관계 연산자 149 13.2?불린 연산자 151 13.3?연산자 우선순위 151 13.4?단순 선택 구조 152 13.5?중첩 선택 구조 154 연습문제 158 14 반복 구조 14.1?반복의 조건 159 14.2?단순 반복 구조 162 14.3?중첩 반복 구조 167 연습문제 170 15 배열 15.1?배열의 개념 173 15.2?1차원 배열 174 15.2?2차원 배열 180 연습문제 195 16 부프로그램 16.1?서브차트 198 16.2?프로시저 204 16.3?내장함수 214 16.4?재귀 호출 216 16.5?RaptorGraph 217 연습문제 223 17 파일 입출력 17.1?파일 입력 225 17.2?파일 출력 235 연습문제 239 찾아보기 241
출처: 국립중앙도서관 서지정보
리뷰 남기기
로그인하면 리뷰를 남길 수 있어요.
리뷰 0개
아직 리뷰가 없어요.