문제 해결의 언어, 파이선
Description
문제 해결의 언어, 파이선 이해하기
오늘날 ‘문제 해결 능력’을 키우기 위한 ‘컴퓨팅 사고력’을 갖추는 것은 필수 역량이 되었다. 컴퓨팅 사고력이라는 강력한 도구를 통해 문제를 바라보는 새로운 시각을 얻고, 이를 바탕으로 미래를 여는 열쇠를 갖게 될 때, 문제 해결을 구현하기 위한 가장 강렬한 방법은 바로 문제 해결의 언어, 즉 프로그래밍 언어를 이해하는 것이다.
프로그래밍 언어는 현대 사회의 다양한 문제를 해결하는 핵심 도구이다. 우리는 그중에서도 이 책을 통해 Python(파이선)을 이해하게 될 것이다. Python은 단순함과 강력함을 동시에 갖춘 언어로, 현재 초보자부터 전문가까지 가장 폭넓게 사용되고 있다. Python은 웹 개발, 데이터 분석, 인공지능, 자동화 등 여러 분야에서 유용하게 활용되고 있으며, 다양한 라이브러리와 커뮤니티 지원으로 접근성이 매우 높다. 이 책은 기초부터 차근차근하게 Python을 이해하고 활용할 수 있도록 친절하게 돕는 안내서이다. 자, 이제 Python의 힘을 활용해 문제를 해결하고, 컴퓨팅 사고력와 프로그래밍 기술을 한 단계 더 도약시키는 여정을 시작해 보자!
저자

한옥영

성균관대학교학부대학과컴퓨터교육학과,인공지능융합교육전공전임교수이다.2000년부터성균관대겸임및초빙교수로일했다.주요관심분야는컴퓨팅사고,소프트웨어교육,인공지능,데이터분석,자료구조,알고리즘등이다.펴낸책으로『AI를위한데이터분석기초』,『컴퓨팅사고를위한파이선입문』,『한권으로시작하는소프트웨어』,『문제해결의힘,컴퓨팅사고력』과고등학교인공지능심화교과서『학교에서만나는인공지능수업』과『중학교정보자습서&평가문제』가있다.
ㆍ한국산업기술진흥협회2022~2023년기술애로해결지원사업참여
ㆍ교육부2022~2023년초중등교원양성대학AI교육강화지원사업참여
ㆍ과학기술정보통신부2022~2023년정보교육네트워크운영참여
ㆍ교육부디지털신기술인재양성혁신공유대학사업(인공지능)참여
ㆍ삼성주니어SW아카데미효과성및성과분석참여
ㆍ성균관대학교소프트웨어중심대학사업참여
ㆍ성균관대학교소프트웨어교양필수과목개발
ㆍ성균관대학교AI와학술적글쓰기교과목개발
ㆍ한국정보화진흥원ICT기반국가미래전략과제참여
ㆍ정보통신산업진흥원SW+인문포럼위원활동
ㆍ대한상공회의소컴퓨팅사고능력출제및감수
ㆍ인터넷중독전문상담가
ㆍ인터넷윤리지도사

목차

1장Python기본
01Python설치
02Python연산자
03Python기본입출력
04생각하기
05마무리

2장Python자료형
01변수와자료형
02Python기본자료형
03Python복합자료형
04자료형변환
05생각하기
06마무리

3장조건문
01조건문의개념
02조건식이해
03다양한질문
04생각하기
05마무리

4장반복문
01반복문의개념
02for문
03while문
04반복문관련제어문
05생각하기
06마무리

5장함수와모듈
01함수
02모듈
03유용한라이브러리
04생각하기
05마무리

6장클래스활용
01객체지향사고방식
02클래스구조이해하기
03객제지향원리활용
04생각하기
05마무리

출판사 서평

-Python: 이책을통해Python의기본개념과설치,프로그래밍의핵심인연산자와입출력을배울것이다.Python을처음접하는학습자에게는기본적인도구사용법과개념을배우는것이중요하다.이를통해Python프로그래밍의기초를탄탄히다지고,나아가문제해결능력을키울수있다.
여기서반드시기억할점은Python은단순히코드를작성하는도구가아니라,창의적인사고와컴퓨팅사고력을연습하는매개체로활용된다는점이다.따라서Python의기본문법과활용법을배우는동시에,이를활용해실제문제를어떻게해결할수있을지고민하는시간을가질것이다.Python의첫걸음을내딛는이여정은단순한지식의습득을넘어,학습자가스스로도전하고실수를통해배우며,더나은해결책을찾아가는과정으로설계되었다.

-Python자료형: 문제를해결하는첫걸음은데이터를이해하는것이다.데이터를다룬다는것은단순히값을저장하거나출력하는것을넘어,문제를분석하고해결하기위한핵심단서를찾아내는과정이다.Python은다양한자료형을통해데이터를효과적으로표현하고활용할수있는강력한도구를제공한다.이책에서는Python의자료형을이해하고이를문제해결에적용하는방법을탐구할것이다.
컴퓨팅사고력은복잡한문제를분해하고,핵심을파악하며,해결을위한효율적인알고리즘을설계하는능력이다.이과정에서데이터를다루는능력은필수적이다.Python의자료형은컴퓨팅사고를구현하는기본단위로,문제를구조화하고데이터를처리하는도구로중요한역할을한다.Python자료형은데이터를다루는기술을넘어문제를바라보는새로운관점을제시한다.이책은문제해결과정에서데이터를활용하는방법을이해하도록돕고,이를통해한층더높은컴퓨팅사고력을발휘할수있는기반을마련할것이다.

-조건문: 우리의일상은수많은선택과판단으로이루어진다.오늘날씨가흐리다면우산을챙길지,성적표를보며장학금을목표로할지와같은크고작은결정을순간마다내린다.이처럼조건에따라다른행동을선택하는능력은우리의삶을풍요롭게할뿐만아니라프로그래밍세계역시이와같은논리가존재한다.이를구현하는도구가바로조건문이다.
조건문은프로그램이특정상황에서어떤결정을내릴지알려주는제어구조다.예를들어,사용자가입력한숫자가0보다크면“양수입니다”라는메시지를출력하고,그렇지않으면“음수입니다”를출력하는상황을생각해보자.이는조건문을활용해프로그램이다양한상황에맞는결과를도출하는대표적인사례다.조건문은단순히코드를실행하거나멈추는역할을넘어서,문제를분석하고해결하는컴퓨팅사고력의핵심요소와밀접하게연결되어있어프로그램에유연성과효율성을더한다.이를통해우리는더욱정교하고복잡한문제를해결할수있다.실생활에서조건에따라행동을결정하는사고와마찬가지로,프로그래밍에서도조건문은문제해결의기본도구가된다.
이책에서는조건문의기본개념과필요성을이해하며,다양한조건문활용방식을배운다.조건문이프로그래밍에서왜중요한지,어떻게동작하는지,이를통해어떤문제를해결할수있는지탐구하며,조건문을중심으로컴퓨팅사고력을키우고,복잡한문제를해결하는즐거움을느낄수있다.

-반복문: 인간은반복을통해성장한다.학습도,연습도,습관도반복이라는과정을통해우리의몸과마음에새겨진다.컴퓨터또한다르지않다.반복은프로그래밍언어의핵심이자,문제를효율적으로해결하는데없어서는안될도구이다.일상에서반복의개념을쉽게찾아볼수있다.매일아침일어나세수하고,식사하고,출근하거나등교하는일련의과정을떠올려보자.우리는의식하지못하지만,같은행동을반복하며우리는삶을이어가고있다.컴퓨터가문제를해결할때도이와같은반복적인패턴을활용한다.그리고이러한반복을프로그래밍적으로표현하는방법이바로반복문이다.
반복문은동일한작업을여러번수행할수있도록설계된도구로,단순한계산작업부터대규모데이터처리,복잡한알고리즘구현까지폭넓게사용된다.반복문을통해컴퓨터는지시를효율적으로수행하며,우리가가진문제를논리적이고체계적으로해결할수있다.
그러나반복문은단순한기능이상이다.문제를분석하고,핵심구조를파악하며,실행과정을설계하는컴퓨팅사고(ComputationalThinking,CT)의근본적인요소를포함한다.이를통해반복문을단순히코드작성도구로만바라보는것이아니라,더나아가문제해결의도구로활용할수있어야한다.
이책에서는반복문의기본개념부터시작해,대표적인두가지반복문인for문과while문,그리고반복문제어를위한구문을학습하게된다.이를통해반복문의원리를이해하고,반복문을활용해효율적이고강력한코드를작성할수있는능력을키우게될것이다.될것이다.더불어반복문학습을통해문제해결능력을더욱깊이있게확장하는계기가될것이다.

-함수와모듈: 함수와모듈은파이선프로그래밍에서코드를‘조각’으로다루게해주는멋진도구다.복잡하게보이는큰문제도함수로잘게나누고,각부분을모듈로묶어두면훨씬깔끔하고유지보수가쉬워진다.그리고이‘조각’들이서로연결되어커다란프로그램을완성해내는모습을보면마치거대한퍼즐이맞춰지는것같은기쁨도느낄수있다.이책에서는함수에대하여깊이이해하고,다양한함수작성법과인수(매개변수)의활용,그리고지역·전역변수를다루는방법을살펴볼예정이다.또한모듈을사용해여러파일에나눠진코드를효율적으로재활용하고,다른프로젝트와쉽게공유할수있는방법도알아볼것이다.그뿐만아니라Python에서자주쓰이는라이브러리를소개함으로써실제개발환경에서어떤식으로활용되는지엿볼기회도마련했다.함수와모듈이라는두개념을제대로알아두면,앞으로만날객체지향프로그래밍이나대규모시스템구축에도훨씬탄력을받게된다.

-클래스: 프로그래밍을배운다는것은단순히코드를작성하는것을넘어서,세상을바라보는관점을바꾸는일이다.클래스는그관점의전환점을만들어주는강력한도구다.우리가지금까지배운조건문,반복문,함수등이문제해결의도구였다면,이제는도구를직접만드는능력을갖추게되는것이다.이책에서는객체지향의본질을이해하고,클래스의구조와활용법을직접설계하며,나만의도구를만드는경험을하게된다.
클래스와객체의개념을이해하고이를기반으로프로그램을설계하는능력은,다양한분야에서필수적인기초가된다.또한클래스의구조를응용한실습활동들을통해복잡한문제를구성요소단위로분해하고,각요소가협력하는시스템을설계하는능력을키우게된다.상속과다형성을이해한학습자는유지보수에강하고변화에유연한프로그램을작성할수있게되며,캡슐화를통해안정성과보안성이높은시스템설계의기본원리를실천적으로습득할수있다.무엇보다도이번단원을통해독자는객체지향프로그래밍의문법적이해를넘어서,책임중심의사고,구조적설계력,논리적추상화능력이라는핵심역량을함께성장시킬수있을것이다.