이 책은 파이썬의 고유한 문법이나 그에 대한 활용보다는, 파이썬 언어를 기반으로 한 컴퓨터 프로그래밍과 문제해결에 비중을 두고 있다. 이를 위해 일반적인 파이썬 학습 순서와는 달리 첫 시작부터 ‘사용자 정의 함수’를 중심으로 서술한다.
다양한 예제를 통해 문제의 요구사항을 의사코드로 설계하고, 이를 실제로 구현해볼 수 있다. 이 과정에서 복잡한 문제를 좀 더 다루기 쉽도록 작은 규모로 분해하고, 함수로 구조화하여 문제를 해결한다. 또한 앞에서 다룬 코드에 기능을 추가하거나 수정하여 프로그램을 점차 확장시킨다. 이러한 학습 과정으로 어떤 새롭고 복잡한 문제를 만나더라도 스스로 해결할 수 있는 능력을 갖출 수 있을 것이다.
이 책의 구성
1장: 컴퓨터 시스템의 기본 특징을 통해 프로그래밍에 대한 개념을 소개한다.
2장: 파이썬 소스코드에 나타나는 주석과 문장, 리터럴 그리고 함수에 대해 소개한다.
3장: 변수에 대한 개념과 입력문을 통해 데이터를 입력 받는 방법에 대해 알아본다.
4장: 하나의 연산 표현식을 이루는 기본 연산자 중 부호, 산술, 대입, 비트, 축약 대입 연산자 그리고 연산자 우선순위와 결합규칙을 소개함으로써 기본적인 연산을 처리하는 프로그램을 작성할 수 있도록 한다.
5장: 지역변수와 전역변수의 차이를 기반으로 함수 호출 메커니즘에 대한 온전한 이해를 도모한다.
6장: 문자열을 표현하는 다양한 방법과 문자열에서 제공되는 기본 메서드에 대해 소개한다.
7장: 비교 연산자와 논리 연산자를 기반으로 조건평가식을 구성하고, 이를 조건문에 적용해 본다.
8장: 프로그램에서의 반복 루프를 효율적으로 기술하기 위해 while 문과 for 문에 대해 다룬다.
9장: 복합 자료형 중 리스트와 튜플, 딕셔너리에 대해 다룬다.
10장: 복합 자료형의 데이터를 반복문과 같이 좀 더 효율적으로 사용하는 방법에 대해 다룬다.
11장: 객체지향 프로그래밍에 대한 기본 개념들을 다룬다.
12장: 데이터 파일에 대한 개념과 더불어 데이터 파일에 입출력하는 방법에 대해 다룬다.
13장: tkinter 모듈을 인용해 GUI 프로그램을 작성하는 방법에 대해 소개한다.
이찬수
어떻게 살 것인가에 대한 고민과 함께 대학 강의를 시작한다. 그 자리를 통해 보다 인격적인 만남과 공동의 이익을 가꿔가길 희망하며 지난 25년 동안 가톨릭대, 고려대, 광운대, 국민대, 덕성여대, 서울시립대, 성균관대, 성신여대, 한성대 등에서 강의전담교수나 비전임교원인 대학 강사로 교단에 서고 있다.
다수의 대학에서 주로 Python, C, C++, MFC, Java, Android, 웹 프로그래밍, 자료구조, 알고리즘, 소프트웨어공학, 데이터베이스, 데이터통신, 논리회로, 컴퓨터구조, 운영체제 등의 다양한 강좌를 담당하면서 교과과정상 각 과목에서 다뤄야 할 내용의 범위와 상관관계에 대해 고민하게 되었고, 그 첫 결실로 이 책을 집필하게 되었다.
컴퓨터 프로그래밍이란 아무나 할 수 있는 것은 분명 아니지만, 본인의 의지가 있다면 누구나 할 수 있는 신념 아래 최근에는 컴퓨터공학을 전공하는 학생들뿐만 아니라 컴퓨터공학을 전공하지 않은 이들도 보다 수월하게 프로그래밍을 익힐 수 있는 강좌에 대해 고민하고 있다.
유튜브 채널 사람만이(https://youtube.com/c/사람만이)를 운영하고 있다.
Chapter 1 파이썬을 만나는 설렘
01 컴퓨터란 무엇인가?
02 컴퓨터의 구성을 알아보자
03 컴퓨터 프로그래밍 개요
04 파이썬의 소개
05 파이썬 개발환경 구축하기
06 파이썬 프로그램 실행하기
이번 단원을 정리하며
연습문제
Chapter 2 함수를 기반으로 한 기본 구조
01 주석과 문장
02 함수 개요
03 데이터와 자료형
04 리터럴
05 기본 출력문
06 인수와 반환값을 갖지 않는 사용자 정의 함수
이번 단원을 정리하며
연습문제
Chapter 3 데이터와 함수
01 변수의 개념
02 인수를 갖는 함수
03 반환값을 갖는 함수
04 입력문
05 함수의 일반적 형태
이번 단원을 정리하며
연습문제
Chapter 4 표현식과 연산자
01 표현식
02 부호 연산자
03 산술 연산자
04 대입 연산자
05 비트 연산자
06 축약 대입 연산자
07 연산자 우선순위와 결합규칙
이번 단원을 정리하며
연습문제
Chapter 5 함수의 구성 이해
01 함수 호출 매커니즘
02 다양한 영역에서 선언된 변수
03 지역변수와 전역변수의 사용 예
04 모듈 구성 및 사용
이번 단원을 정리하며
연습문제
Chapter 6 문자열
01 문자열의 표현
02 문자열 기본 조작
03 f-문자열 리터럴
04 다양한 문자열 처리 함수들
이번 단원을 정리하며
연습문제
Chapter 7 비교 연산과 조건문
01 제어문이란?
02 조건평가식
03 조건문
04 중첩된 조건문
이번 단원을 정리하며
연습문제
Chapter 8 반복문
01 반복문이란?
02 while 문
03 for 문
04 중첩된 for 문
05 반복문의 활용 예제: 구구단 출력
06 break 문
이번 단원을 정리하며
연습문제
Chapter 9 복합 자료형 소개
01 복합 자료형이란?
02 리스트
03 리스트의 동작
04 튜플
05 딕셔너리
이번 단원을 정리하며
연습문제
Chapter 10 복합 자료형 활용
01 리스트와 함수
02 리스트와 반복문
03 리스트의 반복적 접근 예제: 인구조사
04 이중 리스트
05 딕셔너리와 반복문
06 딕셔너리와 함수
이번 단원을 정리하며
연습문제
Chapter 11 클래스와 객체
01 객체지향 언어의 개념
02 클래스 정의
03 객체의 생성
04 생성자
05 정보 은닉: 비공개 속성과 액세스 메서드
06 클래스 단위 멤버
이번 단원을 정리하며
연습문제
Chapter 12 데이터 파일 입출력
01 파일이란?
02 데이터 파일의 두 가지 구성 방법
03 파일 열고 닫기
04 텍스트 파일에 쓰고 읽기
05 이진 파일에 쓰고 읽기
이번 단원을 정리하며
연습문제
Chapter 13 GUI 프로그래밍 기초
01 GUI 프로그래밍이란?
02 루트 윈도우의 기본 구성
03 기본 위젯
04 위젯의 배치
05 객체지향적으로 구성하기
이번 단원을 정리하며
연습문제
천리 길도 한 걸음부터! 프로그래밍 능력 향상의 디딤돌!
이 책은 파이썬 언어를 통해 컴퓨터 기초 프로그래밍을 학습한다. 파이썬으로 프로그래밍에 입문하여 든든한 기반을 다지고, 디딤돌을 딛고 나아가 다른 고급 프로그래밍 언어에 좀 더 쉽게 한 걸음 더 가까워질 수 있도록 한다.
이 책의 특징
- 잘 알려져 있는 쉬운 주제의 문제를 가지고 프로그래밍의 기초를 학습한다.
- 단순한 지식 습득보다는 논리적으로 이해하고 스스로 해답을 찾을 수 있도록 한다.
- 사용자 정의 함수를 중심으로 문제를 구조화하여 해결한다.
- 개념에 대한 설명은 이해하기 쉽도록 만화로 재미있게 설명한다.
- 본문 여백에 삽입한 주석글을 통해 원하는 내용을 키워드로 쉽게 찾아볼 수 있다.