1. 컴퓨터와 프로그래밍의 이해

  • 컴퓨터의 특징

    • 대단히 유연한 기계로, 리포트 작성부터 게임, 복잡한 계산까지 다양한 작업이 가능하다.
  • 프로그램(Program)

    • 컴퓨터가 수행할 명령어를 적어놓은 문서(작업 지시서)
  • 프로그래밍의 필요성

    • 단순 반복 작업은 컴퓨터가 인간보다 월등히 잘 수행한다.
    • 인공지능, 로봇 프로세스 자동화(RPA), 데이터 분석 등 모든 분야(이공계 및 인문사회계)에서 필수적인 기술이 되었다.
  • 프로그래밍 언어

    • 기계어(0과 1)만 이해하는 컴퓨터와 인간 사이를 소통하게 해주는 언어(예: 파이썬, 자바, C 등)
    • 컴파일러/인터프리터: 작성된 프로그래밍 언어를 기계어로 통역해 주는 소프트웨어

2. Python 소개

  • 역사: 1991년 귀도 반 로섬(Guido van Rossum)이 개발

  • 특징

    • 생산성: 문법이 간결하고 쉬워 프로그램을 빠르게 작성할 수 있다.
    • 인터프리터 언어: 코드를 한 줄씩 실행하고 결과를 즉시 볼 수 있어 초보자에게 적합하다.
    • 풍부한 라이브러리: 인공지능(Keras), 데이터 과학(Matplotlib, Pandas), 웹 크롤링(Requests) 등 강력한 기능을 쉽게 가져다 쓸 수 있다.

3. 개발 환경 구축

  • 아나콘다(Anaconda)

    • 파이썬과 인기 있는 라이브러리들이 거의 모두 포함된 배포판으로, 설치가 쉽고 관리가 편하다.
  • 주요 도구

    • Spyder: 파이썬으로 작성된 개발 도구(IDE)로, 코드 작성, 변수 확인, 결과 출력을 한 화면에서 할 수 있다.
    • Jupyter Notebook: 웹 브라우저 상에서 코드 실행과 설명(문서)을 함께 작성할 수 있는 도구
    • Google Colab: 클라우드 기반의 주피터 노트북 환경으로 별도 설치 없이 사용 가능하다.

4. 파이썬 기초 문법 및 실행 모드

  • 기본 연산

    • 사칙연산(+, -, *, /) 및 거듭제곱(**) 지원
    • import math를 통해 삼각함수, 제곱근, 로그함수 등 사용 가능
  • 문자열(String)

    • 큰따옴표(")나 작은따옴표(')로 감싸서 표현
    • 문자열 덧셈(연결)과 곱셈(반복)이 가능 (예: "Hello" * 10)
  • print() 함수

    • 화면에 텍스트나 계산 결과를 출력하는 함수
  • 실행 모드

    1. 대화형 모드(Interactive mode): 콘솔에서 한 줄씩 입력하여 즉시 결과를 확인 (간단한 테스트용)
    2. 스크립트 모드(Script mode): 파일(.py)에 코드를 저장해 두고 한 번에 실행 (복잡한 프로그램용)

5. 실습 예제 및 활용

  • 오류 처리

    • 따옴표 누락 등 문법 오류(SyntaxError) 발생 시 원인을 찾아 수정하는 디버깅 과정 학습
  • 터틀 그래픽(Turtle Graphics)

    • 거북이 모양의 커서를 이동시켜 그림을 그리는 모듈
    • forward(), left(), pencolor() 등의 명령어로 삼각형, 회전하는 다각형 패턴 등을 그릴 수 있음
  • 텍스트 데이터 분석

    • 외부 텍스트 파일(예: 모비딕 소설)을 읽어와서 collections.Counter를 이용해 단어의 출현 빈도수를 분석하는 예제