You are on page 1of 49

1.2.

1 소프트웨어 교육의 필요성


Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 소프트웨어의 확산

▪ 대부분의 산업과 일상생활에 소프트웨어가 급속히 확산, 가속화


▪ 미국의 소프트웨어 관련 일자리가 꾸준하게 증가 중
2015년에는 약 70만 개 정도, 2020년에는 약 140만 개 예상

CHAPTER 01 소프트웨어와 변화하는 사회 1


소프트웨어의 필요성
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 미국과 영국 등 선진국에서는 소프트웨어 개발자들을 우대


높은 연봉과 양호한 근무 환경 등 좋은 대우

▪ 젊은 학생들을 위한 소프트웨어 교육의 필요성 인식


초중고 학생들에게 컴퓨터과학을 필수과목으로 지정
소프트웨어 인재 양성 교육 시작

▪ 우리나라에서도 초중고 학생들 대상의 소프트웨어 교육 준비 중


2018~2019년부터 시행

CHAPTER 01 소프트웨어와 변화하는 사회 2


(2) 소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 소프트웨어, 프로그래밍, 코딩(coding), 컴퓨팅 기초 등의 교육


▪ 생활에서 만나는 문제들을 효율적으로 해결하는 방법을 습득
▪ 복잡한 프로그래밍 언어 자체를 배우는 것이 위주가 아님

▪ 소프트웨어를 이용하여 코딩하는 과정을 스스로 체험


▪ 소프트웨어 교육을 통해 ‘생각하는 힘(thinking power)’ 향상
▪ 논리적으로 문제를 해결하는 능력 향상

CHAPTER 01 소프트웨어와 변화하는 사회 3


소프트웨어 교육의 목적
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ ‘컴퓨팅 사고’를 통해 문제를 해결하는 인재를 길러내는 교육


▪ 소프트웨어 전문 개발자를 양성하는데 있는 것이 아님
▪ 학생들이 집중력과 사고력 등을 익히는 ‘컴퓨팅 사고’ 향상

CHAPTER 01 소프트웨어와 변화하는 사회 4


소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

컴퓨팅 사고(Computational Thinking)

▪ 지넷 윙의 「컴퓨팅적 사고」 에 따르면 컴퓨팅적 사고를 한다는 것은 컴퓨터


공학의 기본 개념을 끌어와 문제를 해결하고, 시스템을 설계하고, 인간의 행
동을 이해할 수 있다는 것입니다. 또한 추상화와 분해를 통해 복잡한 시스템
을 설계하거나 어려운 문제를 해결하는 것

CHAPTER 01 소프트웨어와 변화하는 사회 5


소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

컴퓨팅 사고(Computational Thinking)

▪ 컴퓨터과학자가 문제를 해결하는 방법


▪ 다양한 분야의 문제해결에 적용하는 사고 방법
▪ 인간의 사고와 컴퓨터의 능력을 통합한 사고
▪ 문제 분석, 분해, 패턴인식, 추상화, 알고리즘, 평가 등의 과정
▪ 주어진 문제를 보다 창의적으로 해결하는 핵심 능력

컴퓨팅 사고는 논리적으로


문제 해결 방식을 나열하도록
만들어 창의력을 증진

CHAPTER 01 소프트웨어와 변화하는 사회 6


소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

컴퓨팅 사고(Computational Thinking)

소요시간

비용

성향
이동거리

기타

CHAPTER 01 소프트웨어와 변화하는 사회 7


소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

컴퓨팅 사고(Computational Thinking)

버스번호

버스로 승차위치
이동
하차위치

티켓구매
추상화

CHAPTER 01 소프트웨어와 변화하는 사회 8


소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 학생들이 만들고 싶은 소프트웨어를 스스로 구상하게 함


▪ 사고력, 논리력, 창의력, 상상력, 문제해결 능력 등 향상
▪ 소프트웨어와 관련이 적은 분야로 진출할 사람에게도 큰 도움
▪ 팀 프로젝트 활동을 통해 의사소통 능력까지 향상 가능

CHAPTER 01 소프트웨어와 변화하는 사회 9


(3) 소프트웨어 교육의 방법
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 문제해결의 아이디어를 구체화한 후 프로그래밍 작업


▪ C언어의 경우 학생들이나 일반인들이 배우기 쉽지 않은 실정
▪ 초등학생과 초보자도 쉽게 배울 수 있는 프로그래밍 언어 필요
▪ 스크래치(scratch), 엔트리(entry), 러플, 파이썬(python) 등
▪ 스크래치는 블록 형태의 아이콘을 마우스로 끌어다 놓는 방법
▪ 러플은 명령어를 입력하면 화면의 로봇이 움직이는 흥미로움

CHAPTER 01 소프트웨어와 변화하는 사회 10


1.2.2 세계 각국의 소프트웨어 교육 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 미국의 소프트웨어 교육에 대한 관심

▪ 미국은 소프트웨어 교육의 선두, 소프트웨어 교육 강화 중


▪ 2013년 말 오바마 대통령이 프로그래밍 교육을 지지
▪ 빌 게이츠, 마크 저커버그 등이 프로그래밍 교육 캠페인
▪ “자동차 정비공은 단순히 자동차 오일만 갈지 않고, 정비용
소프트웨어를 다루면서 일하고 있다.“(오바마)

CHAPTER 01 소프트웨어와 변화하는 사회 11


미국의 소프트웨어 교육에 대한 관심
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 코드닷오알지(code.org)를 중심으로 프로그래밍 교육 확산 붐


▪ “모든 근로자는 큰 문제를 작은 문제들로 나누어 생각.”
컴퓨팅 사고의 분해와 같은 맥락을 강조

▪ 간호사도 데이터를 분석하고 컴퓨터에 담긴 기록을 관리


▪ 기계 수리공도 컴퓨터 프로그램을 다루고 있음을 강조

CHAPTER 01 소프트웨어와 변화하는 사회 12


미국의 소프트웨어 교육 정책
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 2016년 ‘모든 사람들을 위한 컴퓨터과학’이란 국정과제 제안


▪ 유치원부터의 소프트웨어 교육을 위해 40억 달러의 기금 조성
미래 직업을 선택할 기회 부여, 여학생과 소수계층 위주
▪ 무료 온라인 사이트가 속속 생겨나고, 컴퓨팅 사고 교육 강화
▪ 구글, 페이스북, 아마존 등 소프트웨어 거대 기업들이 적극 후원
▪ “스마트폰으로 게임을 하는 대신 직접 프로그래밍을 해보라.”(오바마)

CHAPTER 01 소프트웨어와 변화하는 사회 13


(2) 세계 주요국의 소프트웨어 교육 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 영국, 이스라엘, 에스토니아, 핀란드, 일본, 중국 등


▪ 소프트웨어 교육의 중요성을 깨닫고 소프트웨어 교육 실시
▪ 소프트웨어 능력이 국가 경쟁력을 좌우할 것이라는 확신
▪ 영국은 2014년부터 컴퓨팅 과목을 5~16세 필수과목으로 지정
초중고교에서 매주 1시간 이상 교육, 문제해결 능력 등 향상

CHAPTER 01 소프트웨어와 변화하는 사회 14


일본과 중국의 소프트웨어 교육 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 일본은 2009년부터 소프트웨어 교육 강화, 소프트웨어 교육


전면 실시
2009년 유치원, 2011년 초등학교, 2012년 중고등학교 필수
과목 지정, 중학교는 연간 55시간 이상 소프트웨어 교육

▪ 중국은 2천년대 초반부터 초중고 정보통신 기술교육 의무화


2001년 초등, 2003년 중학교, 2005년 고등학교 필수 지정
초등학교 3학년~중학교 각 68시간, 고등학교 70~140시간

CHAPTER 01 소프트웨어와 변화하는 사회 15


세계 주요국의 소프트웨어 교육과정
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

CHAPTER 01 소프트웨어와 변화하는 사회 16


1.2.3 우리나라의 소프트웨어 교육 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 소프트웨어 교육 동향

▪ 2015년 ‘소프트웨어 중심사회를 위한 인재양성 추진계획’ 발표


(교육부와 미래창조과학부에서 주관)

▪ 2018년 중학교에 ‘정보’ 과목이 필수로 지정되어 34시간 이상

▪ 2017년에 초등학생 5~6학년 소프트웨어 기초교육 12시간


2019년부터는 12시간에서 17시간으로 늘어남

▪ 고교 심화선택인 ‘정보’ 과목이 2018년부터 일반선택으로 격상

CHAPTER 01 소프트웨어와 변화하는 사회 17


우리나라의 소프트웨어 교육 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

초중고 교육과정 개편 내용

CHAPTER 01 소프트웨어와 변화하는 사회 18


소프트웨어 교육을 통한 능력 향상
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 어릴 때부터 소프트웨어를 접하고 배울 수 있는 환경이 중요


▪ 창의적 발상의 소프트웨어 교육이 필요
▪ 논리적 사고력, 창의적 사고력, 문제 분석 능력 등을 향상

CHAPTER 01 소프트웨어와 변화하는 사회 19


우리나라의 소프트웨어 교육 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

교육부의 학교 급별 소프트웨어 교육 모형

▪ 그러나 중학생의 1년에 34시간의 교육시간으로는 불충분


실효성을 위해 소프트웨어 교육시간을 늘려야 할 필요성 대두
▪ 방과 후 수업, 자유학기제, 방학 캠프, 창의적 체험활동 등 보완 필요

CHAPTER 01 소프트웨어와 변화하는 사회 20


(2) 대학교 소프트웨어 교육
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 미래에는 소프트웨어가 전반적인 산업 분야의 기초가 될 예정


▪ 대학교 소프트웨어 교육의 대폭 강화
▪ 산업현장에 필요한 문제해결 역량을 갖춘 창의적 인재 양성
▪ 소프트웨어 중심대학을 선정, 산업현장에 필요한 인력양성

▪ 비전공자를 대상으로 하는 소프트웨어 기초교육 확대


미래의 다양한 문제해결에 소프트웨어와 관련된 지식 활용
소프트웨어 개념의 전공 능력에 활용

CHAPTER 01 소프트웨어와 변화하는 사회 21


(3) 소프트웨어 교육의 효과
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 소프트웨어 시범학교나 방과 후 소프트웨어 교육의 효과 조사


▪ 2014년 논문 100여 편에 대한 통계적 메타 분석(안성진 교수)
▪ 초중학생들의 문제해결 능력 20.4%, 논리적 사고 능력 37.5%,
사고 능력 22.3%, 해결책에 대한 확신과 독립성 18.1% 향상

CHAPTER 01 소프트웨어와 변화하는 사회 22


1.3.1 소프트웨어 중심사회
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 소프트웨어 중심사회

▪ 소프트웨어가 혁신을 통하여 가치창출과 삶의 질을 향상


▪ 아이디어와 상상력을 소프트웨어를 통해 실현
▪ 소프트웨어로 문제점을 효율적으로 해결하는 사회
▪ 기업과 국가의 경쟁력이 지속적으로 높아지는 세상
▪ 소프트웨어를 통하여 창의적 문화가 일상화되는 사회

CHAPTER 01 소프트웨어와 변화하는 사회 23


소프트웨어 중심사회 프로젝트
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 2014년에 발표된 범정부적인 소프트웨어 개발 프로젝트


(미래창조과학부, 교육부, 산업통상자원부, 문화체육관광부)
▪ 소프트웨어 발전 및 교육과 관련된 총체적인 내용
▪ 주목적은 경제 활성화와 초중고생의 소프트웨어 교육 강화

CHAPTER 01 소프트웨어와 변화하는 사회 24


소프트웨어 중심사회
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

소프트웨어 중심사회 추진전략의 주요 내용

▪ 청소년들이 소프트웨어를 배울 수 있는 기회 대폭 확대
▪ 모든 대학에 실전적 소프트웨어 교육을 대폭 확대
▪ 정부는 소프트웨어 기반의 새로운 미래성장 동력 창출 지원
▪ 소프트웨어로 제조업의 고부가가치화를 촉진
▪ SW 불법 복제 비율을 2020년까지 선진국 수준으로 낮춤

CHAPTER 01 소프트웨어와 변화하는 사회 25


(2) 소프트웨어 개발의 필요성과 이유
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 최근 소프트웨어가 대부분의 산업에 폭넓게 활용되고 있음


(스마트폰, 의료 기기, 자동차 등)
▪ 소프트웨어는 제품의 부가가치를 향상시키는 핵심요소
SW 비중이 가전제품 개발 원가의 53.7%, 의료장비 45.5%
▪ 세계시장을 선도하는 혁신 제품에는 첨단 소프트웨어가 필수적
(구글의 무인자동차, 혼다의 인공지능 로봇 휴머노이드 등)
▪ 고용효과가 높으며, lock-in 현상을 가지고 있음
* lock-in 현상 : 고객이 선도 제품에 높은 충성도(loyalty)를 보이며 추후에도
처음 쓰던 좋은 제품 및 서비스를 계속 이용하는 것

CHAPTER 01 소프트웨어와 변화하는 사회 26


소프트웨어 중심사회 동영상
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 소프트웨어가 혁신과 성장, 가치 창출의 중심이 되는 사회


▪ 개인, 기업, 국가의 경쟁력을 좌우하는 사회
소프트웨어 중심사회 관련 동영상은 다음 URL에서 시청 가능

그림 1.39 소프트웨어 중심사회 동영상(2분)


(출처: https://www.youtube.com/watch?v=YN0ZIMCfII8)

CHAPTER 01 소프트웨어와 변화하는 사회 27


1.3.2 나날이 발전하는 소프트웨어
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 인공지능과 왓슨

▪ 인간과 같이 생각하고 판단하는 소프트웨어들이 개발 중


▪ 인간이 하는 일을 컴퓨터나 로봇이 대신하는 날이 예고됨
▪ IBM이 최근 인공지능 슈퍼컴퓨터인 ‘왓슨(Watson)’ 개발
▪ 수학, 과학, 인문학에 걸친 15조 바이트 이상의 정보 보유
▪ 세계 퀴즈대회 우승, 질문을 이해하고 답변하는 능력 보유

CHAPTER 01 소프트웨어와 변화하는 사회 28


(2) 학습하는 소프트웨어 알파고
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 스스로 학습하는 기능의 신경망 소프트웨어 ‘알파고(AlphaGo)’


▪ 구글에서 만든 알파고, 일본에서 만든 '딥젠고(DeepZenGo)’
▪ 19 ✕ 19 = 361!의 엄청난 바둑 경우의 수를 판단
▪ 인간 고수 이세돌 9단을 이겨 센세이션을 불러일으킴

▪ 진화하는 소프트웨어 환경에 적응하기 위한 노력이 필요


소프트웨어, 코딩, 컴퓨팅 사고, 문제해결 등

CHAPTER 01 소프트웨어와 변화하는 사회 29


1.3.3 소프트웨어의 힘과 직업의 변화
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 소프트웨어의 힘

▪ 소프트웨어의 힘이 점점 강해지고 그 영향력도 커지는 추세


▪ ‘소프트웨어가 세상을 지배할 것’이란 말을 입증함
▪ IT 기업의 종업원 수 중 IBM의 종업원 수는 40만 명
▪ 트위터는 900명, 인스타그램(Instagram)은 불과 13명에 불과
▪ 표의 아래는 인프라 제공기업, 위는 소프트웨어 응용기업

CHAPTER 01 소프트웨어와 변화하는 사회 30


인스타그램
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 사진 및 동영상을 공유할 수 있는 세계적 소셜미디어 플랫폼


▪ 젊은이들의 선호 SNS, 2012년 페이스북에 10억 달러에 인수됨
▪ 2014년 월간 활동사용자 수 3억 명 돌파, 300억 장 사진 게재됨
▪ 막강한 파워의 인스타그램의 종업원수가 불과 13명이라니 놀라움
▪ ‘소프트웨어의 힘’이 대단함을 보여주는 단적인 예

CHAPTER 01 소프트웨어와 변화하는 사회 31


(2) 소프트웨어의 발달과 직업의 변화
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 소프트웨어 교육은 직업 선택권과 관련이 깊음


▪ 기존 산업의 직업군은 줄어들고, 소프트웨어 관련 직업 증가

▪ 소프트웨어 로봇의 출현으로 기자의 직업 위협 가능


▪ ‘포브스(Forbes)’ 등에서 주식시황 기사를 소프트웨어가 작성
▪ 특정 정보 관련된 기사는 기자가 쓴 기사와 구분하기 어려움

CHAPTER 01 소프트웨어와 변화하는 사회 32


소프트웨어 중심사회와 사회 변화
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

최근의 직업 변화

▪ 자동차 엔지니어들도 소프트웨어 패키지로 정비하거나 수리


엄청난 정보를 바탕, 소프트웨어가 금융상품도 만들어 출시

▪ Oxford 연구팀 인공지능의 발달로 직업군의 큰 변화 예상


20년 내에 현재의 직업 중 47%가 사라질 것이라고 전망
텔레마케터, 운동경기 심판, 물류 직원 등은 99% 대체 예상
전화교환원, 교통 감시요원, 주차요원 등도 없어질 가능성 큼

▪ 그 외 여러 직업들도 축소 또는 사라질 가능성이 매우 크다고 전망

CHAPTER 01 소프트웨어와 변화하는 사회 33


로봇이 대체하는 직업의 예 1
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 메이저 리그는 야구 볼을 판정하는 ‘인공지능 심판’을 준비 중


▪ IBM은 요리사를 대체할 인공지능 요리사 ‘ChefWatson’을 개발
▪ ChefWatson은 요리도 하고 고객에게 음식 서빙까지 담당

CHAPTER 01 소프트웨어와 변화하는 사회 34


로봇이 대체하는 직업의 예 2
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 인공지능 로봇이 피자를 만드는 데 참여


▪ 로봇이 지루하고 반복적이면서 위험한 일을 인간 대신 수행

▪ 미국의 ‘줌 피자(Zume pizza)’란 피자 회사가 인기


▪ 피자 가게에서 로봇과 사람이 일단 1차로 가공한 후 배송
▪ 배달 차에서 오븐으로 고객의 집 앞에서 피자 완성 후 배달

CHAPTER 01 소프트웨어와 변화하는 사회 35


변화하는 직업 변화에 대한 대처
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 그 외 다양한 직업군들이 영향을 받을 것으로 전망됨


▪ 기존의 직업들 대신 소프트웨어 관련 새로운 직업들이 생성
▪ 새롭게 전개되는 소프트웨어 흐름에의 적응은 필수적임
▪ 소프트웨어 관련 지식을 익히고 대세를 앞서가는 통찰력 확보

CHAPTER 01 소프트웨어와 변화하는 사회 36


2.1 소프트웨어의 동향
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

2.1.1 소프트웨어의 중요성과 역할


(1) 소프트웨어의 중요성

▪ 최근 들어 소프트웨어 개발의 중요성이 급격히 커지고 있음


▪ ‘소프트웨어는 영어만큼 중요한 21세기 세계 공용어’
▪ 선진국에서는 어릴 때부터 소프트웨어 기초 역량 함양 교육
▪ 우리나라도 소프트웨어 교육을 실시할 수 있도록 준비 중
▪ 타 산업과의 융합, ‘소프트웨어와 스포츠의 결합’ - 나이키 회장

CHAPTER 01 소프트웨어와 변화하는 사회 37


소프트웨어의 중요성
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

소프트웨어의 중요성을 강조하는 각계의 표현

▪ “남이 만든 게임에만 열중하지 말고 자기가 직접 게임을 만들어보라.”


(미국 오바마 대통령)
▪ “소프트웨어는 삼성의 새로운 문화이며 미래다.”(삼성전자)
▪ “미래를 선도하기 위해서는 어릴 때부터 소프트웨어를 더 많이 경험하라”(미래창조과학부)
▪ “이제 자동차는 기름이 아니라 소프트웨어로 달린다.”(벤츠 CEO)

CHAPTER 01 소프트웨어와 변화하는 사회 38


소프트웨어의 중요성
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ ‘소프트웨어가 세상을 지배하는 이유?


(Why software is eating the world?)’
▪ 미국의 앤드리센(Marc Andreessen) 2011년 월스트리트 저널
▪ 소프트웨어가 장차 모든 영역에서 세상을 지배할 것으로 예측
▪ 미래에는 거의 모든 회사가 소프트웨어와 관련을 맺을 것 주장

CHAPTER 01 소프트웨어와 변화하는 사회 39


소프트웨어의 중요성
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

소프트웨어가 다른 산업을 지배하거나 변화시키는 사례

▪ 소프트웨어의 영향력이 강력하고도 파괴적으로 진행됨에 주목


▪ ‘카카오톡’이 통신 회사의 수입원인 문자 서비스를 무료로 대체
▪ ‘카카오톡’의 무료 국제전화, 국제전화 회사의 수입 대폭 축소
▪ 구글, 애플 등 IT 강자들 소프트웨어 기술을 자동차에 접목
▪ 머지않아 무인자동차의 시대, 자동차 산업 영역에 큰 변화

CHAPTER 01 소프트웨어와 변화하는 사회 40


4.1 코딩의 표현 방법
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

• 4.1.1 코딩과 의사코드


(1) 프로그래밍과 코딩

▪ 컴퓨터로 문제해결 시 먼저 알고리즘부터 개발


▪ 알고리즘을 의사코드나 순서도를 이용하여 정확하게 표현
▪ 컴퓨터 프로그램을 작성하여 최종 결과를 도출
▪ 컴퓨터 프로그램(computer program)을 줄여서 프로그램

▪ 컴퓨터가 이해할 수 있는 규칙에 따라 프로그래밍 언어로 작성


▪ 이 때 작성된 프로그램이 원시코드(source code)임
▪ 프로그래밍(programming)은 프로그램을 작성하는 것
▪ 프로그램을 작성하는 사람을 프로그래머(programmer)
▪ 프로그래밍 작성 과정이 프로그래밍 또는 코딩(coding)
CHAPTER 04 코딩의 표현 방법과 디지털 혁명 41
4.1.2 순서도와 순서도 작성 규칙
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 순서도(flow chart)

▪ 처리하려는 문제를 분석한 후 처리 순서를 단계화


▪ 표준 기호로 박스와 연결선으로 표현한 도표(diagram)는
프로그래밍 과정에서 프로그램의 설계도의 역할을 담당
▪ 순서도를 바탕으로 명확하고 논리적인 프로그램을 작성
▪ 순서도는 일의 흐름을 나타내기 때문에 ‘흐름도’라고도 함
▪ 순서도는 반드시 컴퓨터의 이용을 전제로 하는 것은 아님

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 42


순서도의 종류와 동영상
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 순서도에는 개략 순서도와 상세 순서도의 2가지


▪ 개략 순서도는 전체를 작업 단위로 개괄적으로 작성
▪ 상세 순서도는 실행 가능하도록 줄 단위로 상세하게 작성
▪ 상세 순서도를 그린 후 컴퓨터 프로그램 작성

그림 4.2 의사코드와 순서도 동영상(12분)


(출처: https://www.youtube.com/watch?v=h736bEHkT_Y)

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 43


(2) 순서도의 기호와 의미
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 심벌의 형태, 이름, 의미를 이용하여 표현, 국제 표준

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 44


(3) 순서도가 필요한 이유
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 작업의 흐름을 도표로서 표시하므로 쉽게 이해


▪ 간단한 도형 형태의 기호를 사용하여 간결한 도식화가 가능
▪ 특정 프로그래밍 언어에 관계없이 알고리즘의 표현이 가능
▪ 프로그램 코딩의 기본 자료로서 활용이 가능
▪ 알고리즘의 이해와 추적이 쉬움
▪ 문제 처리의 과정의 논리적 파악으로 에러의 검색이 쉬움

▪ 순서도의 단점
패턴인식이 구조적으로 어려움
추상화가 근본적으로 어려움

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 45


(4) 순서도 작성의 일반적인 규칙
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

순서도 작성의 일반적인 규칙

▪ 전체의 흐름을 명확하게 알아볼 수 있도록 작성


▪ 표준 기호를 사용하여 간단하고 명료하게 표현
▪ 기호 내부에 처리할 내용을 간략하게 기입
▪ 원칙적으로 위에서 아래로, 왼쪽에서 오른쪽 방향
▪ 과정이 길거나 복잡하면 나누어서 작성, 연결자로 연결

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 46


순서도 작성의 예
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

▪ 거실에 있는 스탠드의 불이 켜지지 않는 경우의 순서도


▪ 콘센트를 ON 시키면 불이 켜지는 단순한 모델로 가정

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 47


4.1.3 순서도의 표현
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

(1) 순서도의 3가지 표현 방법

▪ 순차형(sequence): 동작을 순서에 따라 차례로 실행


▪ 선택형(selection): 조건에 맞는 동작 하나를 선택하여 실행
▪ 반복형(iteration): 정해진 조건에 도달할 때까지 반복적인
동작을 수행, 일명 루프(loop)

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 48


(2) 순서도 표현의 몇 가지 예
Software and
Computational Thinking

소프트웨어와
컴퓨팅 사고

[예제 4.1] 수지는 아침 9시에 시작하는 첫 강의를 수강하기 위해 학교로 가려


고 집을 나섰다. 이 때 시계를 보고 만약 아침 8시 이전이면 버스를 타고, 8시가
넘었으면 지하철을 이용한다는 것을 순서도로 그려보자.

(풀이) 출발한 후 일단 시간을 체크하고


선택 박스에서 8시 전후인지를 선택한 후
그 결과에 따라 버스나 지하철을 타고
학교로 간다.

CHAPTER 04 코딩의 표현 방법과 디지털 혁명 49

You might also like