컴퓨팅 사고력과 소프트웨어의 이해
컴퓨팅 사고력은 2006년 미국 카네기멜론 대학의 Jeannette M. Wing 교수가 제창한 개념으로서, 이 세상의 다양한 문제들을 컴퓨터를 이용하여 해결하기 위한 사고능력이다. 이 책 [컴퓨팅 사고력과 소프트웨어의 이해]는 컴퓨팅 사고력의 주요 핵심 개념들을 이해하고 실천하기 위한 다양하고 흥미로운 주제들을 다루고 있다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
최근 우리 사회는 IT기기의 보편화와 물리적 기술의 한계에 이르게 되어, 소프트웨어에서 그 답을 찾으려는 "소프트웨어 중심사회"로 급변하고 있다. "소프트웨어 중심사회"에서는 "소프트웨어"가 정치, 경제, 사회, 문화, 교육 등의 제반 분야에 더욱 중요한 영향을 미치게 되어 개인과 기업, 정부의 경쟁력을 결정하게 된다. 이미 세계 주요 선진국에서는 초등학교 저학년부터 소프트웨어교육(프로그래밍교육)을 실시하여 학생들의 컴퓨팅 사고력(Computational Thinking)을 기르기 위한 기반을 마련하고 있으며, 얼마 전 우리나라의 교육부에서는 초중고 교육과정에서 소프트웨어교육을 필수과목으로 지정한다는 발표가 있었다. 이제는 초등학생들도 소프트웨어를 만드는 세상이 되고 있다.
컴퓨팅 사고력은 2006년 미국 카네기멜론 대학의 Jeannette M. Wing 교수가 제창한 개념으로서, 이 세상의 다양한 문제들을 컴퓨터를 이용하여 해결하기 위한 사고능력이다. 컴퓨팅 사고력은 컴퓨터과학자들뿐만 아니라 앞으로 누구나 배워서 활용할 수 있는 보편적인 사고이자 향후 인간의 사고체계를 지배하는 중추적인 역할을 할 것이다. 지난 과거 여러 세기 동안, 인쇄·출판 등에 의해 3R 능력(읽기: Reading, 쓰기: wRiting, 셈하기: aRithmetic)이 널리 보급되었듯이, 컴퓨터와 프로그래밍 기술이 컴퓨팅 사고력을 보급시키기 위한 중요한 도구 역할을 하고 있다. 특히, 프로그래밍 능력은 여러분들의 창의적인 사고과정과 혁신능력을 확장시켜 주며, 모든 사람들이 갖춰야 할 21세기 핵심역량이다.
대부분의 사람들에게 "컴퓨터 프로그래밍"은 아마도 난해한 기호와 숫자, 문자가 섞여 있는 것들을 컴퓨터 전문가가 고군분투하며 시행착오를 거쳐서 만들어내는 고도의 어려운 작업이라고 생각되기 쉽다. 그러나 사실은 그렇지 않다. 이것은 마치 19세기 말~20세기 초 산업혁명 시대에 수학 및 과학 과목이 보편적 교육으로 학교수업에서 실시된 것처럼, 프로그래밍교육은 여러분들이 앞으로 살아갈 21세기 지식창조시대를 창의적이고, 주도적으로 그려나가기 위한 기본소양으로 자리 잡고 있다. 따라서 이제는 누구나 전공과 관계없이 모든 학생들이 컴퓨팅 사고력을 배워야 할 때이다.
컴퓨팅 사고력의 주요 핵심 개념들을 이해하고 실천하기 위한 다양하고 흥미로운 주제들을 다루고 있는 이 책이 독자 여러분에게 "소프트웨어 중심사회"의 좋은 길잡이가 될 것으로 믿어 의심치 않는다.
이 책의 구성과 특징
컴퓨팅(Computing, 컴퓨터의 연산 영역)으로부터 나온 개념, 기술, 분석 능력은 일반적으로 문제 해결, 업무 수행, 계획 수립, 협업, 문제 예측, 오류 수정 등에 사용하는 아주 강력한 사고 도구라는 점은 잘 알려져 있다. 이 책에서는 컴퓨팅 사고력(Computational Thinking; CT)으로써의 사고 도구를 언급한다.
이 책은 독자 여러분이 현대 컴퓨터를 이해하고 컴퓨팅 사고력을 얻을 수 있도록 구성되어 있다. 프로그래밍에 관한 배경 지식과 어떻게 프로그래밍을 하는지는 필요치 않다. 학생들은 단지 수업에 대한 열린 마음과 호기심을 갖기만 하면 된다.
이 책을 활용해서 여러분은 정보 기술(IT) 영역과 컴퓨팅(Computing)의 세계에서 여러분이 추구하는 경력에 보람이 되는 훌륭한 길을 찾을 수 있다. 제공되는 많은 컴퓨팅(Computing) 자료들을 가지고 여러분의 사고를 연마하기 바란다.
이 책은 엄선된 주제를 가지고 일반 독자에게 컴퓨팅을 소개하고 있다. 결국 컴퓨팅의 개념과 기술은 CT에 영감을 주는 것이다. 이 접근 방법은 컴퓨팅 개념을 더 깊이 이해시킬 뿐만 아니라 컴퓨팅을 뛰어넘는 적용 분석 능력을 실현시킬 것이다. 이 책을 통해 학생들은 새로운 사고력의 방법과 문제 해결 능력을 배울 수 있을 것이다.
많은 사례들은 어떤 CT가 일상생활에 영향을 미치는지 그리고 실생활의 중요한 문제에 어떻게 적용되는지를 보여준다. 독자는 유용한 사고력을 배울 수 있고 특별한 프로그래밍 언어를 가지고 프로그램을 만들 필요 없이 문제 해결 능력을 배우게 될 것이다.
목차
목차
1.1 컴퓨터(The Computer)
1.2 튜링 머신(Turing Machine)
1.3 컴퓨터의 간략한 역사
1.4 소프트웨어(Software)
1.5 프로그래밍
1.6 Syntax(문법 규칙)와 Semantics(의미)
1.7 순서도
1.8 알고리즘(Algorithms)
1.9 유사 코드(Pseudo Code)
1.10 유클리드 GCD(greatest common divisor: 최대공약수) 알고리즘
1.11 목표, 그리고 목표에 가는 방법
1.12 Road Crossing
연습문제
CHAPTER 02 비트와 바이트(Bits, Bytes, and Words)
2.1 디지털 컴퓨터
2.2 이진수
2.3 음과 양의 정수
2.4 모듈러 연산(Modular Arithmetic)
2.5 진법 변환(Base Conversion)
2.6 문자
2.7 텍스트 편집(Editing Text)
2.8 데이터 출력
연습문제
CHAPTER 03 참과 거짓(True or False)
3.1 디지털 전자 회로
3.2 부울 대수
3.3 의사 결정(Decision Making)
3.4 비트에 적용된 논리
3.5 논리와 반복
연습문제
CHAPTER 04 운영체제(Who is the Master?)
4.1 운영체제란 무엇인가?
4.2 운영체제 커널
4.3 오픈 소스 소프트웨어
4.4 그래픽 사용자 인터페이스
4.5 데스크톱 개요
4.6 나한테 이야기 하는 거야?
4.7 커맨드-라인 인터페이스(Command-Line Interface)
4.8 파일
4.9 프로세스
4.10 작업 관리(Managing Tasks)
4.11 Up and Running
연습문제
CHAPTER 05 인터넷과 네트워크(Hello there)
5.1 네트워크란 무엇인가?
5.2 인터넷
5.3 Lan 그리고 Wan
5.4 인터넷 아키텍처
5.5 무선 네트워킹
5.6 네트워킹 프로토콜
5.7 IP 주소
5.8 도메인 네임
5.9 클라이언트와 서버
5.10 피어 투 피어
5.11 DNS 서버
5.12 DNS 서버와 이름풀이
5.13 도메인 등록
5.14 패킷 스위칭
5.15 클라우드 컴퓨팅
연습문제
CHAPTER 06 웹(Web)(Home Sweet Homepage :-))
6.1 웹 서버란 무엇인가?
6.2 웹 브라우저
6.3 웹에 관한 짧은 역사
6.4 URLs
6.5 HTML과 HTML5
6.6 웹 페이지 스타일링
6.7 웹 호스팅
6.8 웹 페이지의 동적 생성
6.9 클라이언트 측 스크립팅
6.10 HTTP(Hypertext Transfer Protocol)
6.11 웹사이트 개발
6.12 웹 검색 엔진
6.13 웹 서비스
6.14 표준 웹 기술
연습문제
CHAPTER 07 보안(Keep It safe)
7.1 로그인
7.2 HTTP와 SSL/TLS
7.3 전자서명이란 무엇인가?
7.4 암호화
7.5 공개키 암호화
7.6 RSA 공개키 암호 알고리즘
7.7 전자 서명
7.8 메시지 다이제스트
7.9 보안 이메일
7.10 보안 공격과 방어
연습문제
CHAPTER 08 문제해결(Solve That Problems)
8.1 퍼즐 풀기
8.2 정렬
8.3 재귀(Recursion)
8.4 재귀 솔루션 공식
8.5 하노이의 탑(Tower of Hanoi)
8.6 8명의 여왕(Eight Queens)
8.7 일반적인 역추적
8.8 트리 순회(Tree Traversals)
8.9 복잡도(Complexity)
8.10 발견적 방법(Heuristics)
연습문제
CHAPTER 09 데이터(Data Everywhere)
9.1 디지털 이미지
9.2 래스터 이미지 엔코딩
9.3 오디오와 비디오
9.4 디지털 비디오
9.5 데이터와 파일 형식
9.6 데이터 공유
9.7 문서 마크업
9.8 데이터 압축
9.9 데이터 구조
9.10 데이터베이스
9.11 개인 정보의 보호
연습문제
CHAPTER 10 어플리케이션(Get That App)
10.1 필수적인 프로그램들
10.2 자신의 앱에 대해서 알아보기
10.3 프로그램의 구성과 커스터마이징
10.4 프로세스 조합
10.5 기계어 프로그램
10.6 어셈블리언어 프로그램
10.7 고수준의 프로그램
10.8 컴파일러
10.9 소프트웨어 개발
10.10 객체지향 프로그래밍
10.11 객체지향 설계
연습문제
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

