모두를 위한 파이썬(PY4E) [1. 소개] 강의

권혁준·2022년 4월 2일
0
post-thumbnail

Charles R. Severance (찰스 R. 세브란스)의 <모두를 위한 파이썬(PY4E)> 수강 내용
https://www.boostcourse.org/cs122/joinLectures/284901

1. 소개

1) 강의소개 - 프로그래밍을 왜 할까?

학습목표

사용자가 아닌, 프로그래머로서 컴퓨터를 바라보는 관점 변화의 필요성을 이해하고 설명할 수 있다.

핵심키워드

  • 프로그래머
  • 파이썬
  • 컴퓨터 언어

프로그래밍을 배우는 목적
컴퓨터가 우리를 위해 일 하도록 만드는 것

프로그래밍이란?
프로그램은 사용자의 요구를 충족시키기 위해 컴퓨터 내에 있는 자원에게 내리는 명령문들의 집합


2) 컴퓨터의 내부 구조

학습목표

컴퓨터 내부 구조를 이해하고 설명할 수 있다.

핵심키워드

  • 하드웨어의 구성
  • CPU
  • 입력장치
  • 출력장치
  • 메인 메모리
  • 보조 기억장치
  • 마더보드

정의

  • CPU(Central Processing Unit)
    프로그램을 실행합니다. CPU는 항상 다음에 무엇을 하지라고 물어봅니다. 인간의 뇌처럼 지능을 가진 것은 아니고 처리능력이 매우 뛰어납니다.
  • 입력 장치
    사람에 의해 정보를 입력받는 기기들입니다.
    ex) 키보드, 마우스, 터치 스크린
  • 출력 장치
    처리된 정보의 결과를 보여주는 기계입니다.
    ex) 화면, 스피커, 프린터, DVD 기록기
  • 메인 메모리
    적은 양의 정보를 저장하는 장치이며, 속도는 매우 빠르지만 컴퓨터를 종료하면 사라지는 휘발성 메모리입니다.
  • 보조 기억장치
    지우지 않는 이상 정보를 계속해서 가지고 있습니다.
    ex) SSD, HDD

각각의 관계

CPU는 계속해서 다음에 무엇을 할지 물어 봅니다. 이것에 대한 답변은 사람이 하며, 답변들의 목록이나 순차적으로 진행되어야 할 사항들을 파이썬 언어로 작성한 뒤 보조 기억장치에 저장합니다. CPU의 질문에 답변을 해야 하는 순간이 오면 메인 메모리에 해당 내용을 로드 합니다. 이 과정에서 2진수로 만들어져 있는 기계어로 마법처럼 변환이 되며 이는 컴퓨터가 이해할 수 있는 언어로 전달 되게 됩니다. 그 후 내부적으로는 1초에 수십억번(CPU에 성능에 따라 달라집니다)에 걸쳐 질문과 답변이 이루어 지게 됩니다.


3) 언어로써 파이썬

학습목표

파이썬 언어의 등장과 파이썬을 이용해 컴퓨터와 의사소통하는 메커니즘을 이해하고 설명할 수 있다.

핵심키워드

  • 파이썬
  • 문법 에러

프로그래밍을 하면서 여러분은 문법 에러를 보게 될 것입니다.

문법 에러라는 것은 여러분의 프로그래밍 실력을 탓하기 보다는, 컴퓨터가 파이썬 해당 코드 블럭을 이해하지 못했으며, 자세한 설명을 해달라는 도움의 요청이라고 생각해야 합니다.

파이썬은 정확하게만 내용을 전달해준다면 누구보다 성실하게 여러분이 원하는 목적을 달성할 수 있도록 도와줄 것입니다.


4) 예약어, 순차문, 조건문 및 반복문

학습목표

예약어의 종류와 프로그램이 실행되는 흐름에 대해 이해하고 설명할 수 있다.

핵심키워드

  • 예약어
  • 숫자문
  • 조건문
  • 반복문

예약어와 문장 만들기
파이썬이 예상해놓은 몇 가지 단어들이 있습니다. 우리는 이를 예약어 라고 합니다. 예약어는 약속된 단어이기 때문에 변수의 이름이나 식별자로 사용할 수 없습니다. 이와 같은 단어들을 조합해 우리는 아래와 같은 문장을 만들 수 있습니다.

x = 2 # x라는 이름의 변수에 2를 할당
x = x + 2 # x라는 변수에 x라는 변수가 가지고 있던 값에 2를 더해서 할당
print(x) # x라는 변수가 가지고 있는 값을 출력

프로그래밍 방법 - 상호대화식, 스크립트식
하나의 프로그램을 위해서는 많은 수의 문장이 필요합니다. 커맨드라인에서 코드를 한줄씩 실행하는 방법은 상호대화식(Interactive)이라고 합니다.

상호대화식 방법은 즉각적인 결과 학인에는 유리하지만 코드가 길어질 경우에는 스크립트 방식(여러줄을 한번에 작성하는 방식)이 훨씬 효과적입니다.

상호대화식 방법으로 작성 시 실수를 하게 된다면 다시 처음부터 작성해야 하는 싫은 일이 발생합니다.
그래서 우리는 스크립트 형태로 작성하고 이 파일을 보조 기억장치에 저장한 뒤 한번에 실행시켜 처리하게 됩니다.

프로그램의 흐름 제어
크게 3가지 방법이 존재합니다.

1. 순차문
코드가 처음 줄부터 차례대로 실행되는 경우입니다. 짧고 단조로운 코드만 짤 수 있습니다.

x = 2
print(x) # 2를 출력
x = x + 2
print(x) # 4를 출력

2. 조건문
어떤 조건이 참일 경우에만 실행하도록 하는 것입니다. 우리는 여기서 예약어인 if를 사용합니다. if 조건문이 참인 경우 들여쓰기가 되어 있는 코드 부분이 실행하게 됩니다.

x = 5
if x < 10:
    print('Smaller') # Smaller가 출력
if x > 20:
    print('Bigger')
Print('Finis') # Finis가 출력

3. 반복문
주어진 조건(n>0)이 참인 경우에는 들여쓰기 되어 있는 부분이 계속 실행됩니다. 그렇지 않은 경우 실행을 종료하게 됩니다. 이 부분에서 컴퓨터는 인간보다 더 나을 수행 능력을 보이게 됩니다.

n=5
while n>0:
	print(n) # 5,4,3,2,1을 출력
    n=n-1
print('Blastoff!') # Blastoff를 출력

5) Hello world 출력하기

실습
이번 실습에서는 Auto Grader 사용법에 대해 배우고 "Hello World"를 출력해봅니다.

Auto Grader는 별도의 실습환경을 설치하지 않아도 PY4E 공식 사이트에서 사용 가능하며, 코드에 오류가 있다면 즉각적인 피드백을 주는 자동 채점기입니다.

이번 실습을 제외하고 다른 실습들은 Atom 텍스트 에디터를 사용해 코드를 작성하게 됩니다. 아직 파이썬3 및 Atom을 설치하지 않았다면 <파이썬3 설치하기> 영상을 보고 설치해주시기 바랍니다.

모든 실습은 자신의 PC 에서 진행하는걸 권장하며 Atom 에디터가 아닌 다른 텍스트 에디터를 사용해도 무관합니다. (ex: Sublime Text, Pycharm 등)


Quiz 1

profile
비전공개발자의 개발일지

0개의 댓글

관련 채용 정보