SlideShare una empresa de Scribd logo
1 de 33
2014. 7. 15
김덕태
㈜디티웨어
1㈜디티웨어
 나는 누구인가?
 "나는 생각한다. 고로 존재한다." - 데카르트 –
  "나" = "스스로를 자각하고 느끼고 생각하는 존재“
  나는 사회와 구별된 독립된 자아이면서도 사회에 의해 만들어진 존재 (내
생각과 지식의 거의 전부가 과거 및 현재의 타인으로부터 받은 것이므로)
 삶이란 무엇인가?
  "느끼고(감정) 생각(이성)하는 활동“
  감정과 이성 모두 중요
 나는 왜 사는가?
  삶에 대한 욕구
 나는 어떻게 살 것인가?
  (나에게 맞는) 행복한 삶
나는 어떻게 살 것인가?
2㈜디티웨어
행복한 삶이란? (1)
미래 이익 성취주의자 행복한 사람
미래 손해 허무주의자 쾌락주의자
현재 손해 현재 이익
3㈜디티웨어
 행복한 사람 ("하버드대 행복학 강의 - 해피어")
 요약: 현재도 즐겁고 미래도 즐겁고 나도 좋고 다른 사람도 좋은 일에 힘쓰자.
 조화로운 삶: 행복은 현재와 미래의 이익, 나의 이익과 타인의 이익을 동시에
추구하는 것 (어느 하나를 일방적으로 희생하지 않는 것)
 흥미, 적성, 능력에 맞는 과제 수행: 너무 어렵지도 너무 쉽지도 않은 적절한
수준의 도전이어야 한다.
 학습: 학습은 책을 읽고 생각하는 것을 즐기는 현재의 이익뿐 아니라 우리의
전반적인 성장에 기여하는 미래의 이익을 가져다 준다.
 긍정적이고 낙관적인 시각: 모든 사람이나 사물은 좋은 점과 함께 좋지 않은
점을 함께 갖는다. 좋지 않은 점에만 지나치게 신경쓰기보다는 좋은 면을
높이 평가하고 활용할 수 있어야 한다.
 지속적인 행복을 가져다 주는 좋은 인간 관계 유지: 사람을 좋아하거나
사랑할 때는 핵심 자아, 즉 우리의 가장 깊은 곳에 뿌리 박혀 있는 가장
안정적인 특성인 인격을 중시한다. 부, 권력, 명예, 외모는 핵심자아가 아니며
가변적이고 영속적이지 못하므로 이에 기반한 인간 관계는 불안정한
관계이다
행복한 삶이란? (2)
4㈜디티웨어
 학습 = 일 = 놀이
 게임 (놀이, 사냥, 퍼즐)
 육체 훈련 (운동)
 두뇌 훈련 (문제 풀이)
 육식 동물과 과거 우리 선조들은 사냥이 곧 학습이자 일이자
놀이였다.
 현대는 학습, 일, 놀이가 분리되어 비효율적이고 재미가 없어졌다.
 결론: “재미있게 공부하면서 일하자.”
행복한 삶이란? (3)
5㈜디티웨어
 프로그램 (Program)
 컴퓨터가 문제를 해결하기 위해 수행할 명령들(instructions)을 명시한 것
 프로그래밍 언어 (Programming Language)
 프로그램의 문법(syntax)와 의미(semnantics)를 정의
 프로그램 코드 (program code)
 프로그램의 임의의 일부
 소스 코드 (Source Code)
 사람이 이해할 수 있는 프로그래밍 언어(일반적으로 텍스트 형태)를 사용하여
작성된 프로그램 코드. 소스 파일 (Source File)은 소스 코드로 이루어진 파일
 소프트웨어 (Software)
 컴퓨터 프로그램과 그와 관련된 문서들을 총칭
소프트웨어란 무엇인가?
6㈜디티웨어
 레고 블록을 쌓듯이 프로그래밍을 쉽고 재미있게 할 수 있다.
 http://scratch.mit.edu
재미있고 쉬운 프로그래밍 - 스크래치
7㈜디티웨어
 레고블록을 쌓듯이 스마트폰 프로그래밍을 쉽고 재미있게 할 수 있다
 http://appinventor.mit.edu/explore/
재미있고 쉬운 프로그래밍 - 앱인벤터
8㈜디티웨어
 레고블록을 쌓듯이 기계(로봇 등)를 쉽게 프로그래밍할 수 있다.
 http://mindstorms.lego.com/
재미있고 쉬운 프로그래밍 교육 - 마인드스톰
9㈜디티웨어
 알고리듬(Algorithm)
 단계적 계산 절차
 사람이 보고 한 단계씩 따라서 수행할 수 있는 명료한 계산 절차이며 보통 자연어나 그림으로 표현한다.
 알고리듬을 머릿속에 떠올리거나 작성한 후에 이를 특정 프로그래밍 언어로 프로그래밍한다.
 알고리듬의 예
1. 함수 f(x) = 3 * x + 1라고 하자.
2. 입력 값 n이 0보다 작거나 같으면 프로그램의 실행을 끝낸다.
3. 입력 값 n에 대하여, x는 1부터 n까지 반복하여 f(x) 값을 계산하여 화면에 표시한다.
 자바 프로그램 소스 코드와 실행 결과
일반적인 프로그래밍의 기본 원리와 예 (1)
public class MyProg {
public static int f(int x) {
return 3 * x + 1;
}
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
if (n <= 0)
return;
int x = 1;
while(x <= n) {
System.out.println(f(x));
x = x + 1;
}
}
}
w:>java MyProg 2
4
7
w:>java MyProg 4
4
7
10
13
10㈜디티웨어
 일반 프로그래밍의 기본 요소
 알고리듬과 프로그램은 다음과 같은 단순한 요소들을 조합한 것이다.
 수식: 수식의 결과값을 계산한다.
 함수: 계산 절차를 하나의 단위로 묶어서 재사용할 수 있게 해준다.
 순차 실행: 여러 명령들을 하나씩 순차적으로 실행한다.
 조건 실행: 명시된 조건이 만족될 때만 지정된 명령을 실행한다.
 반복 실행: 명시된 조건이 완료될 때까지 지정된 명령을 반복 실행한다.
 고급 프로그램과 도메인 지식
 아무리 복잡한 알고리듬과 프로그램도 이상의 단순한 기본 요소들의 조합에 불과하다.
 프로그래밍 언어가 아무리 기능이 많아도 효율성, 편리성 등의 차이일 뿐 근본적인 표현력은
동일하므로 프로그래밍의 기본 요소들을 갖춘 언어이기만 하면 어떠한 알고리듬도 구현할 수
있다.
 운영체제, 스마트폰, 비행기 등에 수천만 라인의 코드에도 단순한 기본 요소들의 조합에
불과하나 수천만 라인의 코드가 모여 매우 정교한 일을 처리해낸다.
 고급 프로그램에는 매우 복잡한 기존 수학, 공학, 의학, 금융, 법률, 오락, 업무 처리 절차 등의
지식을 표현할 수 있다. 이와 같은 프로그래밍 외적인 전문 지식을 도메인 지식이라고 한다.
일반적인 프로그래밍의 기본 원리와 예 (2)
11㈜디티웨어
 프로그래밍 라이브러리
 반복적으로 사용되는 함수들을 배포하고 사용하기 쉽게 묶어 놓은 것
 개발자는 기존 라이브러리에 존재하는 함수는 별도로 프로그래밍하지 않고 사용하기만 하면
된다.
 라이브러리가 매우 방대해져서 이를 익히는 데 많은 시간과 노력이 필요해졌다.
 라이브러리를 사용하기 위해서는 그 라이브러리가 지원하는 프로그래밍 언어를 사용해야
한다.
 그래픽 라이브러리: 프로그램이 문자를 입력하고 출력하는 대신 마우스로부터 입력값을 받고
그래픽 화면에 출력하면 그래픽 프로그램이 된다. 이를 간편하게 프로그래밍할 수 있게 해주는
라이브러리
 시스템 라이브러리: 운영체제의 기능을 불러 쓸수 있도록 해주는 라이브러리
 응용 라이브러리: 통신, 저장 등 기타 다양한 용도의 라이브러리
 소프트웨어 서비스
 다른 기기에서 동작하는 소프트웨어 기능을 통신을 통하여 요청하고 결과를 받아서
이용하도록 프로그래밍할 수 있다.
 웹 서비스: 인터넷 상의 다른 기기에게 소프트웨어 기능을 제공하는 서비스
 현대는 라이브러리뿐만 아니라 점점 더 늘어나는 서비스들을 익히고 프로그래밍에 활용한다.
일반적인 프로그래밍의 기본 원리와 예 (3)
12㈜디티웨어
 절차형 언어 (Procedural Language)
 C, C++, 자바, C#, Objective-C, Swift, JavaScript, Python, PHP,
BASIC, ...
 FORTRAN, COBOL, ALGOL, PL/1, ...
 객체 지향 프로그래밍 언어 (Object-Oriented Programming)
 C++, 자바, C#, Objective-C, ...
 Simula, Smalltalk, Eiffel, ...
 함수형 언어 (Functional Language)
 Scala, F#, Oz, Lisp, Scheme, Standard ML, Haskell, ...
 다범주형 언어 (Multi-paradigm Language)
 C++, 자바, C#, Objective-C, …
프로그래밍 언어의 종류
13㈜디티웨어
현재 프로그래밍 언어 순위
14㈜디티웨어
소프트웨어로 성공한 사람들의 증언
15㈜디티웨어
 소프트웨어란 컴퓨터가 특정 영역의 문제를 해결하도록 지능을
구현한 것
 지능: 지식을 사용한 문제 해결 능력
 인류가 발전하여 지구를 지배한 주 원인: 뛰어난 지능, 지식의
교류와 축적
 소프트웨어가 가전 기기, 의료 기기, 자동차, 항공기, 선박, 우주선
등에 내장되어 휠씬 더 가치를 높게 만듦
 인간은 인간의 지식과 기능을 소프트웨어에 지속적으로 축적시키고,
소프트웨어는 산업의 중추적 역할을 한다.
소프트웨어가 왜 중요한가?
16㈜디티웨어
 소프트웨어 혁명: 소프트웨어 능력으로 경쟁의 법칙을 바꾸고 기존
시장 질서를 파괴하며 시장을 석권
 “Software is eating the world” 소프트웨어가 세상을 먹어 치우고
있다. By Marc Andressen, Wall Street Journal, Essay,
2011.8.20
 소프트웨어 혁명: 이메일, 게시판, 업무시스템, 온라인 마켓, 금융,
문화, 교육, 의료기기, (무인)차, 비행기, 선박, 우주선 등등
 소프트웨어는 사회 각 분야에서 점점 더 중요한 위치를 차지
소프트웨어 중심 사회
17㈜디티웨어
 SW 중심의 산업 패러다임 도래
 제품개발 원가 중 SW가 차지하는 비중이 지속적으로 확대
 임베디드 SW의 신뢰성 문제 부각 (자동차, 항공, 의료 등)
 개발원가 중 SW 비중 ('07)
 정보가전: 53.7%
 통신장비: 52.7%
 의료장비: 45.5%
 자동차의 전장화 비율 전망 (NIPA, '11)
 2000: 22%
 2010: 35%
 2020: 50%
소프트웨어 중심 사회 – 개발 원가 비중
18㈜디티웨어
소프트웨어 중심 사회 – 구글 무인카
19㈜디티웨어
소프트웨어 중심 사회 – 자동차는 소프트웨어
자동차는 이제 가솔린이 아니라
SW로 달린다
20㈜디티웨어
소프트웨어 중심 사회 - 항공산업
F-4
F-22
F-35
0
10
20
30
40
50
60
70
80
90
100
1960 1964 1970 1975 1982 1990 2000 2007
Year of introduction
F-16
F-15
B-2
F-111
A-7
FunctionalityimplementedbySW(%)
자료: The Method Framework for Engineering System Architectures, D.G. Firesmith 2008
2400만 Line of Code
21㈜디티웨어
소프트웨어 중심 사회 - 영화산업
 컴퓨터 그래픽의 일상적 사용
 36000대의 Linux 컴퓨터가 영
화 Avata 제작에 이용
22㈜디티웨어
소프트웨어 중심 사회 - 금융업
23㈜디티웨어
 Massive Open Online Courses (MOOC) 열풍
소프트웨어 중심 사회 – 온라인 교육
24㈜디티웨어
소프트웨어 중심 사회 - SW 기술의 발달
운영체계
모듈화/ 객체지향/ 재사용
분산/병렬처리
그래픽스/시각화 기술
HCI기술
인공지능/기계학습/패턴인식
데이터베이스 기술
고급 프로그램 언어
25㈜디티웨어
 자동화의 물결로 단순 일자리 감소, 구조적 실업 심화
 단순 노동은 물론 지식처리 업무도 자동화 추세
 소프트웨어 개발업은 최후까지 남아 있을 일자리
소프트웨어 중심 사회 - 일자리 감소
26㈜디티웨어
 미국 대졸 초봉: 1억6천만원
 한국 대졸 초봉: 3천만원
소프트웨어 개발자의 연봉
27㈜디티웨어
 소프트웨어 개발자
 웹 개발자
 모바일 개발자
 서버 개발자
 데이터 엔지니어
 SW 아키텍트
 기획자
 UI 디자이너
 테스트 엔지니어
소프트웨어 직업의 종류
28㈜디티웨어
 일반 개발자
 내향적: 50 ~ 60% (인구의 25%만이 내향적. 내향적인 사람이 더 고등 교육을 추구)
 사고형: 80 ~ 90% (인구의 50%가 사고형)
 ISTJ(내향성, 감각형, 사고형, 판단형)이 가장 많으며 25 ~ 40% 차지.
 도구를 잘 다루며 프로그래밍의 세부적인 구현들을 잘 다룬다.
 프로그래밍 관련 이론과 기반 지식은 잘 바뀌지 않으나 프로그래밍 도구와 각종 실무 기술들은 매우 빠르게 바뀌므로
끊임없이 공부하며 일해야 한다.
 결론: 논리적 사고, 공부, 도구 다루기를 좋아하는 사람이 소프트웨어 개발 업무에 잘 맞는다.
 기획자, 디자이너
 직관형, 인식형(NP형)
 SW 아키텍트, 위대한 설계자
 추상화할 수 있는 능력과 창의성을 갖춘 직관형 인재
 창조적인 문제 해결사
 감각형/직관형, 사고형/감정형, 인식형/판단형의 경계를 쉽게 이동
 그들은 다양한 관점으로 문제를 볼 수 있다.
 예: 레오나르도 다빈치, 알버트 아인슈타인
 결론: SW 아키텍트는 전체를 파악하고 설계할 수 있으면서도 핵심 부분을 직접 구현하고 검증할 수 있는 개발 능력을
갖추어야 한다.
소프트웨어 개발자와 MBTi 성격
29㈜디티웨어
 컴퓨터 구조
 운영체제
 프로그래밍 언어론
 자료구조/알고리듬
 컴파일러
 소프트웨어 공학
 컴퓨터 그래픽스
 컴퓨터 네트워크
 데이터베이스
 컴퓨터 보안
 인공지능
컴퓨터공학과에서 배우는 주요 전공 과목
30㈜디티웨어
미국 오바마 대통령의 코딩 교육 중요성 강조
31㈜디티웨어
 재미있고 다재다능한 교육 도구
 논리적, 수학적, 분석적, 창의적 사고 능력 함양
 기획, 디자인, 협업 능력 함양
 어떤 일을 하든지 SW를 잘 이해함으로써 잘 구매하고 잘 활용하는
능력이 필수
 어떤 일을 하든지 SW 개발에 직간접적으로 관여될 가능성이 점점
더 높아짐
 소프트웨어 전공자도 어렸을 때부터 코딩하지 않으면 학업 부담으로
코딩을 능숙하게 배울 시간이 많지 않음
 소규모 창업 용이
 최근, 미국, 영국, 일본, 프랑스, 중국 등이 잇달아 SW 교육을 독립
정규 과목으로 채택함
프로그래밍 교육은 어릴때부터
32㈜디티웨어
 본 자료의 내용중 소프트웨어 산업 현황과 관련된 부분인 16, 17,
18, 19, 20, 21, 21, 22, 23, 24, 25 페이지는
소프트웨어정책연구소 김진형 소장님의 발표 자료 "우리는
소프트웨어 중심사회를 준비하고 있는가?"에서 발췌한 것임을
밝힌다.
 http://www.slideshare.net/primebae/ss-36412546
참고

Más contenido relacionado

La actualidad más candente

(책 소개) 쏙쏙 들어오는 인공지능 알고리즘
(책 소개) 쏙쏙 들어오는 인공지능 알고리즘(책 소개) 쏙쏙 들어오는 인공지능 알고리즘
(책 소개) 쏙쏙 들어오는 인공지능 알고리즘Jay Park
 
(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌Jay Park
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로Sungwoo Park
 
신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비인서 박
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제Kiyoung Moon
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략Jay Park
 
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍Jay Park
 
Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수Sangsu Song
 
소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법Jay Park
 
Jade template for okjsp
Jade template for okjspJade template for okjsp
Jade template for okjsp항희 이
 
Clean code chapter1
Clean code chapter1Clean code chapter1
Clean code chapter1ukjinkwoun
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향Eunhyang Kim
 
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰Eunhyang Kim
 
『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기복연 이
 
OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 YoChun YoChun
 
스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers 스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers ServerDevCamp
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기복연 이
 
개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어Eunhyang Kim
 
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Youngbin Han
 

La actualidad más candente (20)

(책 소개) 쏙쏙 들어오는 인공지능 알고리즘
(책 소개) 쏙쏙 들어오는 인공지능 알고리즘(책 소개) 쏙쏙 들어오는 인공지능 알고리즘
(책 소개) 쏙쏙 들어오는 인공지능 알고리즘
 
(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
 
신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략
 
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
 
Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수
 
소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법
 
Jade template for okjsp
Jade template for okjspJade template for okjsp
Jade template for okjsp
 
Clean code chapter1
Clean code chapter1Clean code chapter1
Clean code chapter1
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향
 
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
 
『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기
 
OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료
 
스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers 스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
 
개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어개발하긴 싫지만 코딩은 하고싶어
개발하긴 싫지만 코딩은 하고싶어
 
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기
 

Destacado

소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)
소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)
소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)더하기 더
 
[2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요!
[2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요![2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요!
[2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요!Sung-tae Ryu
 
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해중선 곽
 
세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표
세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표
세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표cbs15min
 
소프트웨어 전쟁 책 소개
소프트웨어 전쟁 책 소개소프트웨어 전쟁 책 소개
소프트웨어 전쟁 책 소개더하기 더
 
Sw야놀자 sw기본원리 송상수
Sw야놀자 sw기본원리 송상수Sw야놀자 sw기본원리 송상수
Sw야놀자 sw기본원리 송상수Sangsu Song
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용Terry Cho
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐Terry Cho
 

Destacado (8)

소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)
소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)
소프트웨어 전쟁, 그리고 세상의 변화 - IT 혁명을 중심으로 (백일승)
 
[2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요!
[2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요![2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요!
[2016소프트웨어에물들다] 소프트웨어는 세상을 먹어치우고 있습니다만, 여러분들을 먹지는 않을 거에요!
 
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해
 
세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표
세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표
세바시 15분 다음 10년의 변화, 세상의 모든 것을 연결하다 @최형욱 Chief Maker & 매직에코 대표
 
소프트웨어 전쟁 책 소개
소프트웨어 전쟁 책 소개소프트웨어 전쟁 책 소개
소프트웨어 전쟁 책 소개
 
Sw야놀자 sw기본원리 송상수
Sw야놀자 sw기본원리 송상수Sw야놀자 sw기본원리 송상수
Sw야놀자 sw기본원리 송상수
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
 

Similar a 소프트웨어 중심 시대를 준비하자

격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk
 
Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서 Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서 봉조 김
 
클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)Sang-Kyu Park
 
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구yunjae jang
 
Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?유명환 FunFun Yoo
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어Bizmerce Corp
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Jinsoo Jung
 
JavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotJavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotCirculus
 
3주차 language
3주차 language3주차 language
3주차 language준혁 이
 
2012 3 qp_hybrid algorithm optimization with artificial intelligence
2012 3 qp_hybrid algorithm optimization with artificial intelligence 2012 3 qp_hybrid algorithm optimization with artificial intelligence
2012 3 qp_hybrid algorithm optimization with artificial intelligence Jong MIn Yu
 
자본시장IT의 미래 오픈소스에서 답을 구하라
자본시장IT의 미래 오픈소스에서 답을 구하라자본시장IT의 미래 오픈소스에서 답을 구하라
자본시장IT의 미래 오픈소스에서 답을 구하라heungjae Kim
 
Circulus Introduction
Circulus IntroductionCirculus Introduction
Circulus IntroductionPark Jonggun
 
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기Daniel Juyung Seo
 
피지컬 컴퓨팅 도구
피지컬 컴퓨팅 도구피지컬 컴퓨팅 도구
피지컬 컴퓨팅 도구Kisoon Eom
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
develop android app using intellij
develop android app using intellijdevelop android app using intellij
develop android app using intellijSewon Ann
 

Similar a 소프트웨어 중심 시대를 준비하자 (20)

In c
In cIn c
In c
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go
 
Native A/V
Native A/VNative A/V
Native A/V
 
Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서 Softbox arduino software education, softbox 소프트박스 제품소개서
Softbox arduino software education, softbox 소프트박스 제품소개서
 
클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)
 
프로그래머
프로그래머프로그래머
프로그래머
 
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구
 
Why OpenStack is Operating System?
Why OpenStack is Operating System?Why OpenStack is Operating System?
Why OpenStack is Operating System?
 
Hello std.io 유명환_20140125
Hello std.io 유명환_20140125Hello std.io 유명환_20140125
Hello std.io 유명환_20140125
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
 
JavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and RobotJavaScript Everywhere from Mobile and Robot
JavaScript Everywhere from Mobile and Robot
 
3주차 language
3주차 language3주차 language
3주차 language
 
2012 3 qp_hybrid algorithm optimization with artificial intelligence
2012 3 qp_hybrid algorithm optimization with artificial intelligence 2012 3 qp_hybrid algorithm optimization with artificial intelligence
2012 3 qp_hybrid algorithm optimization with artificial intelligence
 
자본시장IT의 미래 오픈소스에서 답을 구하라
자본시장IT의 미래 오픈소스에서 답을 구하라자본시장IT의 미래 오픈소스에서 답을 구하라
자본시장IT의 미래 오픈소스에서 답을 구하라
 
Circulus Introduction
Circulus IntroductionCirculus Introduction
Circulus Introduction
 
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
 
피지컬 컴퓨팅 도구
피지컬 컴퓨팅 도구피지컬 컴퓨팅 도구
피지컬 컴퓨팅 도구
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
develop android app using intellij
develop android app using intellijdevelop android app using intellij
develop android app using intellij
 

소프트웨어 중심 시대를 준비하자

  • 2. 1㈜디티웨어  나는 누구인가?  "나는 생각한다. 고로 존재한다." - 데카르트 –   "나" = "스스로를 자각하고 느끼고 생각하는 존재“   나는 사회와 구별된 독립된 자아이면서도 사회에 의해 만들어진 존재 (내 생각과 지식의 거의 전부가 과거 및 현재의 타인으로부터 받은 것이므로)  삶이란 무엇인가?   "느끼고(감정) 생각(이성)하는 활동“   감정과 이성 모두 중요  나는 왜 사는가?   삶에 대한 욕구  나는 어떻게 살 것인가?   (나에게 맞는) 행복한 삶 나는 어떻게 살 것인가?
  • 3. 2㈜디티웨어 행복한 삶이란? (1) 미래 이익 성취주의자 행복한 사람 미래 손해 허무주의자 쾌락주의자 현재 손해 현재 이익
  • 4. 3㈜디티웨어  행복한 사람 ("하버드대 행복학 강의 - 해피어")  요약: 현재도 즐겁고 미래도 즐겁고 나도 좋고 다른 사람도 좋은 일에 힘쓰자.  조화로운 삶: 행복은 현재와 미래의 이익, 나의 이익과 타인의 이익을 동시에 추구하는 것 (어느 하나를 일방적으로 희생하지 않는 것)  흥미, 적성, 능력에 맞는 과제 수행: 너무 어렵지도 너무 쉽지도 않은 적절한 수준의 도전이어야 한다.  학습: 학습은 책을 읽고 생각하는 것을 즐기는 현재의 이익뿐 아니라 우리의 전반적인 성장에 기여하는 미래의 이익을 가져다 준다.  긍정적이고 낙관적인 시각: 모든 사람이나 사물은 좋은 점과 함께 좋지 않은 점을 함께 갖는다. 좋지 않은 점에만 지나치게 신경쓰기보다는 좋은 면을 높이 평가하고 활용할 수 있어야 한다.  지속적인 행복을 가져다 주는 좋은 인간 관계 유지: 사람을 좋아하거나 사랑할 때는 핵심 자아, 즉 우리의 가장 깊은 곳에 뿌리 박혀 있는 가장 안정적인 특성인 인격을 중시한다. 부, 권력, 명예, 외모는 핵심자아가 아니며 가변적이고 영속적이지 못하므로 이에 기반한 인간 관계는 불안정한 관계이다 행복한 삶이란? (2)
  • 5. 4㈜디티웨어  학습 = 일 = 놀이  게임 (놀이, 사냥, 퍼즐)  육체 훈련 (운동)  두뇌 훈련 (문제 풀이)  육식 동물과 과거 우리 선조들은 사냥이 곧 학습이자 일이자 놀이였다.  현대는 학습, 일, 놀이가 분리되어 비효율적이고 재미가 없어졌다.  결론: “재미있게 공부하면서 일하자.” 행복한 삶이란? (3)
  • 6. 5㈜디티웨어  프로그램 (Program)  컴퓨터가 문제를 해결하기 위해 수행할 명령들(instructions)을 명시한 것  프로그래밍 언어 (Programming Language)  프로그램의 문법(syntax)와 의미(semnantics)를 정의  프로그램 코드 (program code)  프로그램의 임의의 일부  소스 코드 (Source Code)  사람이 이해할 수 있는 프로그래밍 언어(일반적으로 텍스트 형태)를 사용하여 작성된 프로그램 코드. 소스 파일 (Source File)은 소스 코드로 이루어진 파일  소프트웨어 (Software)  컴퓨터 프로그램과 그와 관련된 문서들을 총칭 소프트웨어란 무엇인가?
  • 7. 6㈜디티웨어  레고 블록을 쌓듯이 프로그래밍을 쉽고 재미있게 할 수 있다.  http://scratch.mit.edu 재미있고 쉬운 프로그래밍 - 스크래치
  • 8. 7㈜디티웨어  레고블록을 쌓듯이 스마트폰 프로그래밍을 쉽고 재미있게 할 수 있다  http://appinventor.mit.edu/explore/ 재미있고 쉬운 프로그래밍 - 앱인벤터
  • 9. 8㈜디티웨어  레고블록을 쌓듯이 기계(로봇 등)를 쉽게 프로그래밍할 수 있다.  http://mindstorms.lego.com/ 재미있고 쉬운 프로그래밍 교육 - 마인드스톰
  • 10. 9㈜디티웨어  알고리듬(Algorithm)  단계적 계산 절차  사람이 보고 한 단계씩 따라서 수행할 수 있는 명료한 계산 절차이며 보통 자연어나 그림으로 표현한다.  알고리듬을 머릿속에 떠올리거나 작성한 후에 이를 특정 프로그래밍 언어로 프로그래밍한다.  알고리듬의 예 1. 함수 f(x) = 3 * x + 1라고 하자. 2. 입력 값 n이 0보다 작거나 같으면 프로그램의 실행을 끝낸다. 3. 입력 값 n에 대하여, x는 1부터 n까지 반복하여 f(x) 값을 계산하여 화면에 표시한다.  자바 프로그램 소스 코드와 실행 결과 일반적인 프로그래밍의 기본 원리와 예 (1) public class MyProg { public static int f(int x) { return 3 * x + 1; } public static void main(String[] args) { int n = Integer.parseInt(args[0]); if (n <= 0) return; int x = 1; while(x <= n) { System.out.println(f(x)); x = x + 1; } } } w:>java MyProg 2 4 7 w:>java MyProg 4 4 7 10 13
  • 11. 10㈜디티웨어  일반 프로그래밍의 기본 요소  알고리듬과 프로그램은 다음과 같은 단순한 요소들을 조합한 것이다.  수식: 수식의 결과값을 계산한다.  함수: 계산 절차를 하나의 단위로 묶어서 재사용할 수 있게 해준다.  순차 실행: 여러 명령들을 하나씩 순차적으로 실행한다.  조건 실행: 명시된 조건이 만족될 때만 지정된 명령을 실행한다.  반복 실행: 명시된 조건이 완료될 때까지 지정된 명령을 반복 실행한다.  고급 프로그램과 도메인 지식  아무리 복잡한 알고리듬과 프로그램도 이상의 단순한 기본 요소들의 조합에 불과하다.  프로그래밍 언어가 아무리 기능이 많아도 효율성, 편리성 등의 차이일 뿐 근본적인 표현력은 동일하므로 프로그래밍의 기본 요소들을 갖춘 언어이기만 하면 어떠한 알고리듬도 구현할 수 있다.  운영체제, 스마트폰, 비행기 등에 수천만 라인의 코드에도 단순한 기본 요소들의 조합에 불과하나 수천만 라인의 코드가 모여 매우 정교한 일을 처리해낸다.  고급 프로그램에는 매우 복잡한 기존 수학, 공학, 의학, 금융, 법률, 오락, 업무 처리 절차 등의 지식을 표현할 수 있다. 이와 같은 프로그래밍 외적인 전문 지식을 도메인 지식이라고 한다. 일반적인 프로그래밍의 기본 원리와 예 (2)
  • 12. 11㈜디티웨어  프로그래밍 라이브러리  반복적으로 사용되는 함수들을 배포하고 사용하기 쉽게 묶어 놓은 것  개발자는 기존 라이브러리에 존재하는 함수는 별도로 프로그래밍하지 않고 사용하기만 하면 된다.  라이브러리가 매우 방대해져서 이를 익히는 데 많은 시간과 노력이 필요해졌다.  라이브러리를 사용하기 위해서는 그 라이브러리가 지원하는 프로그래밍 언어를 사용해야 한다.  그래픽 라이브러리: 프로그램이 문자를 입력하고 출력하는 대신 마우스로부터 입력값을 받고 그래픽 화면에 출력하면 그래픽 프로그램이 된다. 이를 간편하게 프로그래밍할 수 있게 해주는 라이브러리  시스템 라이브러리: 운영체제의 기능을 불러 쓸수 있도록 해주는 라이브러리  응용 라이브러리: 통신, 저장 등 기타 다양한 용도의 라이브러리  소프트웨어 서비스  다른 기기에서 동작하는 소프트웨어 기능을 통신을 통하여 요청하고 결과를 받아서 이용하도록 프로그래밍할 수 있다.  웹 서비스: 인터넷 상의 다른 기기에게 소프트웨어 기능을 제공하는 서비스  현대는 라이브러리뿐만 아니라 점점 더 늘어나는 서비스들을 익히고 프로그래밍에 활용한다. 일반적인 프로그래밍의 기본 원리와 예 (3)
  • 13. 12㈜디티웨어  절차형 언어 (Procedural Language)  C, C++, 자바, C#, Objective-C, Swift, JavaScript, Python, PHP, BASIC, ...  FORTRAN, COBOL, ALGOL, PL/1, ...  객체 지향 프로그래밍 언어 (Object-Oriented Programming)  C++, 자바, C#, Objective-C, ...  Simula, Smalltalk, Eiffel, ...  함수형 언어 (Functional Language)  Scala, F#, Oz, Lisp, Scheme, Standard ML, Haskell, ...  다범주형 언어 (Multi-paradigm Language)  C++, 자바, C#, Objective-C, … 프로그래밍 언어의 종류
  • 16. 15㈜디티웨어  소프트웨어란 컴퓨터가 특정 영역의 문제를 해결하도록 지능을 구현한 것  지능: 지식을 사용한 문제 해결 능력  인류가 발전하여 지구를 지배한 주 원인: 뛰어난 지능, 지식의 교류와 축적  소프트웨어가 가전 기기, 의료 기기, 자동차, 항공기, 선박, 우주선 등에 내장되어 휠씬 더 가치를 높게 만듦  인간은 인간의 지식과 기능을 소프트웨어에 지속적으로 축적시키고, 소프트웨어는 산업의 중추적 역할을 한다. 소프트웨어가 왜 중요한가?
  • 17. 16㈜디티웨어  소프트웨어 혁명: 소프트웨어 능력으로 경쟁의 법칙을 바꾸고 기존 시장 질서를 파괴하며 시장을 석권  “Software is eating the world” 소프트웨어가 세상을 먹어 치우고 있다. By Marc Andressen, Wall Street Journal, Essay, 2011.8.20  소프트웨어 혁명: 이메일, 게시판, 업무시스템, 온라인 마켓, 금융, 문화, 교육, 의료기기, (무인)차, 비행기, 선박, 우주선 등등  소프트웨어는 사회 각 분야에서 점점 더 중요한 위치를 차지 소프트웨어 중심 사회
  • 18. 17㈜디티웨어  SW 중심의 산업 패러다임 도래  제품개발 원가 중 SW가 차지하는 비중이 지속적으로 확대  임베디드 SW의 신뢰성 문제 부각 (자동차, 항공, 의료 등)  개발원가 중 SW 비중 ('07)  정보가전: 53.7%  통신장비: 52.7%  의료장비: 45.5%  자동차의 전장화 비율 전망 (NIPA, '11)  2000: 22%  2010: 35%  2020: 50% 소프트웨어 중심 사회 – 개발 원가 비중
  • 20. 19㈜디티웨어 소프트웨어 중심 사회 – 자동차는 소프트웨어 자동차는 이제 가솔린이 아니라 SW로 달린다
  • 21. 20㈜디티웨어 소프트웨어 중심 사회 - 항공산업 F-4 F-22 F-35 0 10 20 30 40 50 60 70 80 90 100 1960 1964 1970 1975 1982 1990 2000 2007 Year of introduction F-16 F-15 B-2 F-111 A-7 FunctionalityimplementedbySW(%) 자료: The Method Framework for Engineering System Architectures, D.G. Firesmith 2008 2400만 Line of Code
  • 22. 21㈜디티웨어 소프트웨어 중심 사회 - 영화산업  컴퓨터 그래픽의 일상적 사용  36000대의 Linux 컴퓨터가 영 화 Avata 제작에 이용
  • 24. 23㈜디티웨어  Massive Open Online Courses (MOOC) 열풍 소프트웨어 중심 사회 – 온라인 교육
  • 25. 24㈜디티웨어 소프트웨어 중심 사회 - SW 기술의 발달 운영체계 모듈화/ 객체지향/ 재사용 분산/병렬처리 그래픽스/시각화 기술 HCI기술 인공지능/기계학습/패턴인식 데이터베이스 기술 고급 프로그램 언어
  • 26. 25㈜디티웨어  자동화의 물결로 단순 일자리 감소, 구조적 실업 심화  단순 노동은 물론 지식처리 업무도 자동화 추세  소프트웨어 개발업은 최후까지 남아 있을 일자리 소프트웨어 중심 사회 - 일자리 감소
  • 27. 26㈜디티웨어  미국 대졸 초봉: 1억6천만원  한국 대졸 초봉: 3천만원 소프트웨어 개발자의 연봉
  • 28. 27㈜디티웨어  소프트웨어 개발자  웹 개발자  모바일 개발자  서버 개발자  데이터 엔지니어  SW 아키텍트  기획자  UI 디자이너  테스트 엔지니어 소프트웨어 직업의 종류
  • 29. 28㈜디티웨어  일반 개발자  내향적: 50 ~ 60% (인구의 25%만이 내향적. 내향적인 사람이 더 고등 교육을 추구)  사고형: 80 ~ 90% (인구의 50%가 사고형)  ISTJ(내향성, 감각형, 사고형, 판단형)이 가장 많으며 25 ~ 40% 차지.  도구를 잘 다루며 프로그래밍의 세부적인 구현들을 잘 다룬다.  프로그래밍 관련 이론과 기반 지식은 잘 바뀌지 않으나 프로그래밍 도구와 각종 실무 기술들은 매우 빠르게 바뀌므로 끊임없이 공부하며 일해야 한다.  결론: 논리적 사고, 공부, 도구 다루기를 좋아하는 사람이 소프트웨어 개발 업무에 잘 맞는다.  기획자, 디자이너  직관형, 인식형(NP형)  SW 아키텍트, 위대한 설계자  추상화할 수 있는 능력과 창의성을 갖춘 직관형 인재  창조적인 문제 해결사  감각형/직관형, 사고형/감정형, 인식형/판단형의 경계를 쉽게 이동  그들은 다양한 관점으로 문제를 볼 수 있다.  예: 레오나르도 다빈치, 알버트 아인슈타인  결론: SW 아키텍트는 전체를 파악하고 설계할 수 있으면서도 핵심 부분을 직접 구현하고 검증할 수 있는 개발 능력을 갖추어야 한다. 소프트웨어 개발자와 MBTi 성격
  • 30. 29㈜디티웨어  컴퓨터 구조  운영체제  프로그래밍 언어론  자료구조/알고리듬  컴파일러  소프트웨어 공학  컴퓨터 그래픽스  컴퓨터 네트워크  데이터베이스  컴퓨터 보안  인공지능 컴퓨터공학과에서 배우는 주요 전공 과목
  • 31. 30㈜디티웨어 미국 오바마 대통령의 코딩 교육 중요성 강조
  • 32. 31㈜디티웨어  재미있고 다재다능한 교육 도구  논리적, 수학적, 분석적, 창의적 사고 능력 함양  기획, 디자인, 협업 능력 함양  어떤 일을 하든지 SW를 잘 이해함으로써 잘 구매하고 잘 활용하는 능력이 필수  어떤 일을 하든지 SW 개발에 직간접적으로 관여될 가능성이 점점 더 높아짐  소프트웨어 전공자도 어렸을 때부터 코딩하지 않으면 학업 부담으로 코딩을 능숙하게 배울 시간이 많지 않음  소규모 창업 용이  최근, 미국, 영국, 일본, 프랑스, 중국 등이 잇달아 SW 교육을 독립 정규 과목으로 채택함 프로그래밍 교육은 어릴때부터
  • 33. 32㈜디티웨어  본 자료의 내용중 소프트웨어 산업 현황과 관련된 부분인 16, 17, 18, 19, 20, 21, 21, 22, 23, 24, 25 페이지는 소프트웨어정책연구소 김진형 소장님의 발표 자료 "우리는 소프트웨어 중심사회를 준비하고 있는가?"에서 발췌한 것임을 밝힌다.  http://www.slideshare.net/primebae/ss-36412546 참고