You are on page 1of 22

1 컴퓨터 프로그래밍과 파이썬 소개

목차 1 2
컴퓨터
수업 소개 프로그램
소개

3 4

프로그래밍 파이썬
언어 소개 소개
수업 소개
교과목 개요

본 교과목은 다양한 전공의 학생들이


컴퓨터 프로그래밍의 기본 원리를 이해하고,
직접 컴퓨터 프로그램을 작성하여
활용할 수 있는 기초적인 역량을 갖추는 것을 목표로 함

이를 위해 컴퓨터 프로그래밍 언어 중 하나인


‘파이썬(Python)’에 대해서 공부하며, 파이썬 기반으로
프로그램을 작성하여 다양한 문제를 해결할 수 있는
능력 갖출 수 있도록 함

이를 통해 모든 수강생들이 전공에 관계없이


프로그래밍(코딩)에 친숙해질 수 있도록 함
수업 소개
수업 방법

온라인 강의를 통한 파이썬 프로그래밍에 필요한 다양한


기초 개념을 이해하고, 다양한 프로그래밍 실습 예제를 통해
실제 프로그래밍 과정에 익숙해지도록 함

수업에서 배운 프로그래밍에 필요한 다양한 개념에 대해서


학습자가 스스로 실습을 해볼 수 있도록 함

중간 및 기말 시험을 통하여 파이썬 프로그래밍에 대한 이해를


평가할 수 있도록 함
컴퓨터 프로그램 소개
생활 속의 소프트웨어

컴퓨터 프로그래밍으로 만들어지는 다양한 종류와 형태의


소프트웨어는 이미 우리 생활 곳곳에서 활용되고 있음

• 스마트폰 자체 • 자율주행 (자율주행 자동차, 로봇 배달 등) • 메타버스 (가상세계, 게임 등)


• 각종 어플리케이션
(SNS, 게임, 동영상, 네비게이션, 등)

출처 | https://commons.wikimedia.org
출처 | https://live.staticflickr.com
컴퓨터 프로그램 소개
소프트웨어를 만드는 사람들

Q 누구나(?) 만들 수 있다.
프로그래밍을 배운 사람이 핵심적인 일을 할 수 있음

Q 프로그래밍이란?
컴퓨터가 이해할 수 있는 명령어의 모음인 ‘프로그램(program)’을 만드는 과정
컴퓨터 하드웨어(ex. desktop, laptop) 자체만 가지고는 우리가 원하는
어떤 작업(task)를 수행할 수 없고, 반드시 컴퓨터 하드웨어를 구동할 수 있는
프로그램을 통해서 작업이 이루어지도록 해야 함
그러한 프로그램들을 만드는 과정을 프로그래밍이라고 함
프로그램을 만드는 과정에서 개발자가 생각하는 작업을 코드로 만드는 과정을
코딩(coding)이라고 함
컴퓨터 프로그램 소개
소프트웨어를 만드는 사람들

Q 소프트웨어 개발이란?
프로그래밍 과정을 포함하여 요구 사항을 토대로
어떤 프로그램을 만들지 기획하고, 프로그램을
제품으로 만드는 과정까지 포함됨
컴퓨터 프로그램 소개
소프트웨어를 만드는 사람들

큰 개념 순서 소프트웨어 개발 > 프로그래밍 > 코딩

소프트웨어 개발 (ex. 모바일 어플리케이션 개발,


웹서비스 개발, 게임 개발 등)은
결국 프로그래밍을 할 수 있는 개발자도 필요하고,
소프트웨어 제품을 기획하는 사람,
필요한 디자인 작업을 하는 사람 등도 참여할 수 있음

그렇기 때문에 다양한 백그라운드의 전문가가 필요하며,


최근에는 컴퓨터나 SW 관련 전공을 하지 않더라도 직접
프로그래밍 과정을 배워서 활용하는 케이스가 증가하고
있음
컴퓨터 프로그램 소개
소프트웨어를 만드는 사람들

"개발자 없어서 네이버 네이버 커넥트 재단이 만든 5개월 과정 AI 실무 교육.


이밖에 비전공자 채용 프로그램도 신설
부스트캠프
못뽑죠"
삼성 1600시간 교육에 월 100만 원 교육지원금 지급.
vs 청년SW아카데미(SSAFY) 우수자 해외연수 기회 제공

"일단 뽑고 애플 1000억 원 규모 국내 상생지원안의 한 방안으로


애플아카데미 250억 원 투자해 설립 추진
키우면 되지"
NHN 경남 지역 대학 등과 협력.
"전공 묻지도 따지지도 않습니다" NHN아카데미 2년제 과정으로 김해 데이터센터 입사도 연계
개발자 육성 나선 기업들
우아한형제들 10개월간 실무형 교육과정.
IT업계 인력난에 잇단 연봉인상 우아한테크코스 백엔드·프런트엔드 등 다양한 분야 교육
비관련 전공자 1년 새 8천 명늘어
네이버 채용계획서 "전공무관" 한화 iOS 개발 원하는 창업·취업 준비생 위한
드림인 Ios 아카데미 아카데미 코스
삼성전자·한화·우아한형제들
개발자 교육과정 개설해 육성
배민은 "타사에 입사해도 OK"
업계 `레벨업`을 위한 큰 그림

출처 | https://www.mk.co.kr
컴퓨터 프로그램 소개
소프트웨어의 산업적 중요성

전체 산업 대비,
부가가치가
가장 큰 산업이
‘SW산업’

출처 | https://stat.spri.kr
컴퓨터 프로그램 소개
컴퓨터 시스템 소개

컴퓨터 시스템은 하드웨어만으로 동작이 되지 않으며,


하드웨어를 작동시키기 위한 시스템 소프트웨어와
응용 소프트웨어가 필요함

컴퓨터의 중앙처리장치(CPU)를 통해 모든 작동이 이루어지는데,


CPU가 이해할 수 있는 명령을 기계어 프로그램이라고 함

하지만 기계어 프로그램은 0과 1으로만 구성되어 있어서


사람이 직관적으로 이해하고 만들기 어려움

따라서 우리가 사용하는 일상적인 언어의 형식을 따르면서


프로그램을 만들 수 있는 방법이 필요
(고수준) 프로그래밍 언어 등장
컴퓨터 프로그램 소개
컴퓨터 시스템 소개

하드웨어 소프트웨어
중앙처리장치 (CPU) 운영체제 (Windows, MAC os, Linux 등)
주기억장치 (RAM) 응용 소프트웨어 (MS Office, 게임 등)
보조기억장치 (HDD, SSD)
입력장치 (키보드, 마우스)
출력장치 (모니터)

출처 | https://publicdomainvectors.org
컴퓨터 프로그램 소개
컴퓨터 프로그램 개발 과정

컴퓨터가 어떤 작업(일)을 하려면 결국 사람이 컴퓨터에게


자세한 명령어를 주어야 하고, 프로그램이란 결국 명령어의
집합이라고 할 수 있음

결국 프로그램을 만드는 사람들은 프로그램 개발에 필요한


(요구)사항을 파악한 후, 컴퓨터가 이해할 수 있는 명령어로
바꾸어야 함

이 과정에서 사람도 쉽게 이해할 수 있고, 컴퓨터도


이해할 수 있는 고수준의 프로그래밍 언어를 통해서
프로그램을 만들 수 있음
컴퓨터 프로그램 소개
소프트웨어 개발 과정

요구사항 분석

설계

구현(프로그래밍)

테스트

유지보수
프로그래밍 언어 소개
프로그래밍 언어

‘프로그래밍 언어’란 컴퓨터가 이해할 수 있는 언어이고,


컴퓨터가 이해할 수 있는 구체적인 명령어의 집합으로 이루어져 있음

일반적으로 사람이 프로그래밍 언어를 통해 작성한


프로그램(코드)는 컴파일러(혹은 인터프리터)에 의해서
기계어로 변환되고, 컴퓨터 하드웨어(특히 CPU)가
이해할 수 있는 명령이 되어서 특정 동작을 하게 됨
• 컴파일러(번역기)는 한번에 전체 프로그램을 번역하여 실행파일을
생성하여 프로그램을 구동시키지만, 인터프리터(실행기)는 라인
단위로 번역을 진행하여 실행파일을 생성하지는 않아 번역 속도는
빠르지만, 매번 같은 번역을 진행해야 하기에 전체 실행 속도는
컴파일러는 필요로 하는 프로그램에 비하여 느림

• 컴파일러는 컴퓨터 하드웨어에 종속적이지만, 인터프리터는 그렇지


않아서 조금 더 범용적으로 활용될 수 있음

출처 | https://cdn.pixabay.com
프로그래밍 언어 소개
프로그래밍 언어의 종류

스크립트언어
(Javascript, Python 등) 해석 및 실행
인터프리터

CPU
소스 코드
Memory

컴파일러 기계어
컴파일 언어 컴파일
(C, Java 등)
실행
프로그래밍 언어 소개
프로그래밍 언어의 종류

Python
TCL
R
BASIC
.07%
VB .NET .1% Clojure
.04%
.2%

C Lua
.3%
Bash

C++ .4%

Java
HTML
PHP
Javascript
Perl

출처 | https://www.devsaran.com
파이썬 소개

Python은
Guido van Rossum이라는
사람이 창시한 언어이다.
(1991년 발표)

약 6년 전인 1989년 12월, 크리스마스를 전후하여 취미로 만들어 볼 프로그래


밍 프로젝트를 찾고 있었죠. 그 때 사무실은 잠겨있어지만, 집에 컴퓨터가 있었
고,
뭐 특별히 할 일도 없었죠. 그래서 그 때 당시 한동안 생각하고 있었던 새 스크
립트 언어에 대한 인터프리터를 만들어 보기로 했죠.
유닉스/C 해커들에게 어필할 수 있는, ABC 언어로부터 파생된 언어말이죠.
나는 그 프로젝트명으로 Python이라는 이름을 선택했는데, 그 당시 약간은 불
손한
Guido van Rossum 기분이 들어서이기도 했고, 또한 당시 Monty Python's Flying Circus
(From wiki) (BBC 코메디)에 열성팬이기도 하여... 1996, Guido
출처 | https://commons.wikimedia.org
파이썬 소개
파이썬 특징

생산성이 뛰어나고, 간결하면서도 효율적인 프로그래밍이 가능

스크립트언어, 즉 인터프리터를 사용하기 때문에 프로그래머가


작성한 코드를 라인별로 실행하여 즉시 결과를 확인할 수 있어서
직관적임

데이터 분석 등을 위한 라이브러리가 굉장히 풍부하고 설치가


쉬움
C언어 Python
#include <stdio.h> print(“Hello World!”)

int main(void){
printf(“Hello World!\n”);
return 0;
}
파이썬 소개
왜 파이썬을 배워야 하는가?

프로그래밍 언어도 인기가 없으면 잘 쓰이지 않음


즉, 사용하기 쉽고 기능이 좋은 언어가 인기도 있고, 롱런할 수 있음

파이썬의 특징에 근거하면 인기 있는 이유가 있음


• 간결하기 때문에 배우기 쉽고, 가독성이 뛰어나며,
초보자가 배워서 사용하기 쉬움
• 스크립트 언어이기 때문에 직관적으로 결과를 확인할 수
있어서 좋음
• 외부 라이브러리를 쉽게 설치하여 활용할 수 있기 때문에
프로그램을 만드는 속도가 빨라짐
• 간단한 수준의 프로그래밍부터 객체지향프로그래밍이나
함수형프로그래밍 같은 다소 복잡한 프로그래밍까지
모두 지원됨 (초급자와 고급자 모두 만족)
파이썬 소개
왜 파이썬을 배워야 하는가?

프로그래밍 언어도 인기가 없으면 잘 쓰이지 않음


즉, 사용하기 쉽고 기능이 좋은 언어가 인기도 있고, 롱런할 수 있음

인공지능(Artifical Intelligence) 시대에서


각광 받고 있는 머신러닝이나 딥러닝 같은 기술의
대부분은 파이썬을 이용하여 개발되었고, 지금도
파이썬이 압도적으로 높은 비율로 활용되고 있음

즉, 컴퓨터시스템 내부적인 소프트웨어 개발이 아닌,


데이터 처리와 분석 측면의 응용소프트웨어 개발
측면에서 보면 파이썬의 생산성이 매우 높기 때문에
전세계 많은 개발자/연구자가 파이썬을 활용하고 있음
파이썬 소개
파이썬이 활용되는 대표적인 예

머신러닝/딥러닝 알고리즘 기반의 프로그램 개발과


데이터 사이언스 기반의 분석

각종 웹 서비스
백앤드(서버)에 C++과 파이썬을 결합하여 사용 중. 특히 빠른 전달과
구글 유지가 필요한 부분에 파이썬을 활용한다고 함

파이썬으로 작성된 웹 프로그래밍 프레임워크인 Django를 기본으로


인스타그램 서버 개발

클라우드 기반의 문서 공유 서비스를 위한 서버를 모두 파이썬으로


드롭박스 개발

네트워크 서비스부터 개인화된 추천 알고리즘까지 대부분의 기능을


넷플릭스 파이썬으로 구현

GUI(Graphic User Interface) 프로그래밍

You might also like