SlideShare a Scribd company logo
1 of 31
Download to read offline
컴퓨터 프로그래밍
이 민석
국민대학교 소프트웨어학부
https://youtu.be/ryt0a9ri500 에 동영상이…
모두의 소프트웨어, http://sw4all.kookmin.ac.kr
• 1학기 목표
–Excel을 유창하게
• 생산성 높은 삶을 위하여
• MOS Excel Expert 자격증
–컴퓨터 프로그램 느껴보기
• 아~ 이런 거구나, 별거 없구나, 재미 있구나 !!
– 엔트리 (entry) 프로그래밍
– Physical Computing (하드웨어 활용)
• 논리적, 절차적 사고의 이해
• 소프트웨어적 표현 실습
• 개인별 프로젝트
컴퓨터 프로그래밍 I 과목 소개
사실 Excel로도 게임을 만들수도 있고..
• RPG
http://carywalkin.ca/
• TETRIS
https://www.youtube.com/watch?v=l-nMHQ1d4wY
http://www.think-maths.co.uk/spreadsheet
Excel로 그림도 그릴 수는 있어요..
개피곤…
그래서
• 문제 해결을 위한 효과적인 도구가 필요
• 가장 많이 사용되는 프로그래밍 언어
– TIOBE Index, Apr. 2017
(http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
– 5위 : Python
• 1위 ~ 4위 : 어디선가 많이 들어본 Java, C, C++, C#
• 해커톤 사용 언어 순위
– 해커톤 : 1박2일~2박3일시간의 짧은 시간 안에 (팀으로)
소프트웨어 (서비스, 게임)을 개발하는 것
– http://www.bloter.net/archives/234334
– 3위 : Python
• 1위 : HTML/CSS, 2위 : JavaScript, 4위 : Java
그 python은 2학기에 배웁니다.
언어의 첫 걸음: Hello World!
• Java 버전
• C 버전
// Hello World in Java
class HelloWorld {
static public void main(String args[]) {
System.out.println("Hello World!”);
}
}
/* Hello World in C, Ansi-style */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
puts("Hello World!");
return EXIT_SUCCESS;
}
언어의 첫 걸음: Hello World!
• Scratch 버전
• Entry 버전
• Python 버전
# Hello World! in Python 3
print("Hello World!")
그리고, 이번 학기 남은 기간 동안은 ..
Why Entry?
• Entry 역시 프로그래밍 언어의 일종
– 웹으로 되고, PC, Mac에서도 되고
• 스마트폰에서도 되고.
– 쉽고, 재미있고,
– 문법보다는 의미에 더 신경쓸 수 있게 하고
– “~~일이 발생하면 ~~를 해요” 라는 방식도 가능하고.
– 무료, 오픈소스이고, 국산이고
– 하드웨어, 센서 연결해서…
• 소위 말하는 IOT..
• 멋진거 다 할 수 있..
교재 (동영상 + 교재 + 하드웨어)
컴퓨팅 사고력을 키우는 SW 교육
피지컬 컴퓨팅
(엔트리 & 코드이노)
출판사 : 한빛아카데이
ISBN : 9791156643081
하드웨어는 실습 때 제공
그래서
프로그래밍 이란?
OFF
ON
절차적으로 정리하면
만일 스위치가 ON 위치 이면
불을 켜고,
아니면
불을 끈다.
프로그램으로 짜면
if (switch == ON-position) then
turn_LIGHT(ON)
else
turn_LIGHT(OFF)
말로 하면
스위치를 누르면 불이 켜진다.
프로그램의 예
* 모든 언어마다 문법은 조금씩 다름
로 짜면
알파고도 풀 수 없는 문제..
시작
(여자가 화가 남)
미안해
뭐가 미안해?
알아몰라
알면서
그래?
모르면서
그래?
잘못했어
뭘 잘못했는데?
남자
여자
: 멘붕에 따른 임의의 선택
(머리속에서 어설픈 동전던지기)
Man Trapped
예제: Man Trapped
미안해:
뭐를:
여자_화남 = TRUE;
남자(“미안해”);
여자(“뭐가 미안해?”);
남자(머릿속 동전 던지기);
if (동전=앞면) then
남자(“알아”);
여자( “알면서그래?”);
else
남자(“몰라”);
여자(“모르면서 그래?”);
남자(머릿속 동전 던지기);
if (동전=앞면) then
goto 미안해;
남자(“잘못했어”);
여자(“ 뭘 잘못했는데?”);
goto 뭐를;
예제: Man Trapped
• 사건을 단계로 풀어보면…
1. 시작
2. ‘미안해’ 하고
3. 막 추궁 당하고,
4. 아무 대답이나 하고,
5. 제대로 일격을 당하고
6. 나름 작전을 선택하고
7. ‘미안해’ 하면 2번으로 돌아가고
8. ‘잘못했어‘ 하면
9. 막 추궁 당하고
10. 다시 4번으로 가서 반복
알파고도 풀 수 없는 문제..
http://j.mp/man-trapped
프로그래밍 요소 (순차, 반복, 조건)
• 순차 실행
– 아래로 향하는 화살표
– 블록(문장)이 차례로 실행
• 반복
– 위로 올라가 다시오는 화살표
• 조건
– 선택에 따른 두 방향의 화살표
그럼
데이터는?
세상의 많은 문제의 본질은...
•데이터 사이의 관계를 이해하는 것
데이터의 순서
 정렬 (Sorting) : 어떤 기준이든.
데이터의 소속
 분류 (Categorizing) 및 인식 : 어떤 구분이든.
데이터의 연관성
 관계 (Relation)의 설정 : 어떤 이유이든.
데이터의 변화
 추세(Trend)의 확인 : 어떤 관점이든.
데이터의 순서
데이터의 소속
• 소속, 분류의 문제
• 인식의 문제
 Spam 메일 vs 중요 메일
사과인가 배인가?
개인가 고양이인가?
이 자는 누구인가?
나이는 몇인가?
데이터의 연관성
• 두 데이터 사이의 관계
친구인가?
그렇고 그런 관계인가?
데이터의 변화
• 추세의 확인과 예측
지금까지는 어땠는데… 다음은 어떻게 될 것인가?
http://tvchosun.com/pollab//publicopinion.html
알고리즘 예, 데이터의 정렬 방식
• Simple sorts
 Insertion sort
 Selection sort
• Efficient sorts
 Merge sort
 Heap sort
 Quick sort
• Bubble sort and variants
 Bubble sort
 Shell sort
 Comb sort
• Distribution sort
 Counting sort
 Bucket sort
 Radix sort
• …
문제는 다 같다:
데이터를 순서대로 정렬하는 것
답은 다르다:
데이터의 모양에 따라서
http://en.wikipedia.org/wiki/Sorting_algorithm
Shell Insertion
Merge Quick Heap
Comb
https://www.youtube.com/watch?v=ZZuD6iUe3Pc
https://www.youtube.com/watch?v=14oa9QBT5Js
요약
• 효율적인 프로그래밍 도구가 필요하다.
• 엔트리를 배운다.
– 쉽다, 재미있다
• 프로그램이란 별거 아니다.
– 논리에 따라 순차적인, 반복적인, 명령의 수행
• 데이터가 중요하다.
– 순서, 소속, 연관성, 변화
• 그렇다.
컴퓨터프로그래밍
페이스북 그룹
http://j.mp/kmu-comp
끝
이민석
국민대학교 소프트웨어학부

More Related Content

What's hot

네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수Sangsu Song
 
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)Sangsu Song
 
2016 oct somul_발표최종본_김기만
2016 oct somul_발표최종본_김기만2016 oct somul_발표최종본_김기만
2016 oct somul_발표최종본_김기만Giman Kim
 
생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집Byeongsu Kang
 
얼떨결에 일러스트02_ 기본도구 익히기
얼떨결에 일러스트02_ 기본도구 익히기얼떨결에 일러스트02_ 기본도구 익히기
얼떨결에 일러스트02_ 기본도구 익히기Bo Ram Han
 
소프트웨어에 물들다-누구나 만들 수 있는 SW
소프트웨어에 물들다-누구나 만들 수 있는 SW소프트웨어에 물들다-누구나 만들 수 있는 SW
소프트웨어에 물들다-누구나 만들 수 있는 SW재우 정
 
생각과 프로그램 개발 - 10월, 소프트웨어에 물들다
생각과 프로그램 개발 - 10월, 소프트웨어에 물들다생각과 프로그램 개발 - 10월, 소프트웨어에 물들다
생각과 프로그램 개발 - 10월, 소프트웨어에 물들다Jiho Lee
 
DreamCode Season2 Intro
DreamCode Season2 IntroDreamCode Season2 Intro
DreamCode Season2 IntroUi-Gyun Jeong
 
10월의 하늘_2016_진도 공공도서관_이지호
10월의 하늘_2016_진도 공공도서관_이지호10월의 하늘_2016_진도 공공도서관_이지호
10월의 하늘_2016_진도 공공도서관_이지호Jiho Lee
 
1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까
1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까
1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까Yann Heo
 
교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안Sangsu Song
 
얼떨결에 일러스트_01 누구나 디자이너
얼떨결에 일러스트_01 누구나 디자이너얼떨결에 일러스트_01 누구나 디자이너
얼떨결에 일러스트_01 누구나 디자이너Bo Ram Han
 
외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview민태 김
 
SW교육_학부모 세미나 자료
SW교육_학부모 세미나 자료SW교육_학부모 세미나 자료
SW교육_학부모 세미나 자료Sangsu Song
 
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략Startlink
 
학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나 학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나 Sangsu Song
 
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!Startlink
 

What's hot (17)

네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수
 
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
 
2016 oct somul_발표최종본_김기만
2016 oct somul_발표최종본_김기만2016 oct somul_발표최종본_김기만
2016 oct somul_발표최종본_김기만
 
생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집생각이라는 벽돌로 만드는 집
생각이라는 벽돌로 만드는 집
 
얼떨결에 일러스트02_ 기본도구 익히기
얼떨결에 일러스트02_ 기본도구 익히기얼떨결에 일러스트02_ 기본도구 익히기
얼떨결에 일러스트02_ 기본도구 익히기
 
소프트웨어에 물들다-누구나 만들 수 있는 SW
소프트웨어에 물들다-누구나 만들 수 있는 SW소프트웨어에 물들다-누구나 만들 수 있는 SW
소프트웨어에 물들다-누구나 만들 수 있는 SW
 
생각과 프로그램 개발 - 10월, 소프트웨어에 물들다
생각과 프로그램 개발 - 10월, 소프트웨어에 물들다생각과 프로그램 개발 - 10월, 소프트웨어에 물들다
생각과 프로그램 개발 - 10월, 소프트웨어에 물들다
 
DreamCode Season2 Intro
DreamCode Season2 IntroDreamCode Season2 Intro
DreamCode Season2 Intro
 
10월의 하늘_2016_진도 공공도서관_이지호
10월의 하늘_2016_진도 공공도서관_이지호10월의 하늘_2016_진도 공공도서관_이지호
10월의 하늘_2016_진도 공공도서관_이지호
 
1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까
1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까
1000만명이 넘게쓰는 게임과 앱은 어떻게 만들어질까
 
교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안
 
얼떨결에 일러스트_01 누구나 디자이너
얼떨결에 일러스트_01 누구나 디자이너얼떨결에 일러스트_01 누구나 디자이너
얼떨결에 일러스트_01 누구나 디자이너
 
외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview
 
SW교육_학부모 세미나 자료
SW교육_학부모 세미나 자료SW교육_학부모 세미나 자료
SW교육_학부모 세미나 자료
 
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
두 번째 startlink.live: 김재홍 (xhark) - 알고리즘 문제 출제 전략
 
학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나 학부모.교사대상 Sw교육 세미나
학부모.교사대상 Sw교육 세미나
 
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
 

Viewers also liked

소프트웨어, 정말 되는 건가?
소프트웨어, 정말 되는 건가?소프트웨어, 정말 되는 건가?
소프트웨어, 정말 되는 건가?Minsuk Lee
 
소프트웨어, 소프트웨어 개발자
소프트웨어, 소프트웨어 개발자소프트웨어, 소프트웨어 개발자
소프트웨어, 소프트웨어 개발자Minsuk Lee
 
왜 소프트웨어를 배워야할까?
왜 소프트웨어를 배워야할까?왜 소프트웨어를 배워야할까?
왜 소프트웨어를 배워야할까?Minsuk Lee
 
자기소개서, 이력서 쓰는 법
자기소개서, 이력서 쓰는 법자기소개서, 이력서 쓰는 법
자기소개서, 이력서 쓰는 법Minsuk Lee
 
Deview-2014-자신있는개발자에서 훌륭한개발자로
Deview-2014-자신있는개발자에서 훌륭한개발자로Deview-2014-자신있는개발자에서 훌륭한개발자로
Deview-2014-자신있는개발자에서 훌륭한개발자로Minsuk Lee
 
Software Company, Open Soure Software Company
Software Company, Open Soure Software CompanySoftware Company, Open Soure Software Company
Software Company, Open Soure Software CompanyMinsuk Lee
 
it's software!
it's software!it's software!
it's software!Minsuk Lee
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?Minsuk Lee
 
Samsung-OSS-Conference-20140916
Samsung-OSS-Conference-20140916Samsung-OSS-Conference-20140916
Samsung-OSS-Conference-20140916Minsuk Lee
 
Data and Sorting Algoritm
Data and Sorting AlgoritmData and Sorting Algoritm
Data and Sorting AlgoritmMinsuk Lee
 
Somul 2017-이민석
Somul 2017-이민석Somul 2017-이민석
Somul 2017-이민석Minsuk Lee
 
1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)fmbvbfhs
 
Mi power point flores
Mi power point floresMi power point flores
Mi power point floresAilinTomas
 
10분만에 이해하는 프로그래밍
10분만에 이해하는 프로그래밍10분만에 이해하는 프로그래밍
10분만에 이해하는 프로그래밍명욱 송
 
왜 우리는 개발자에 집중하지 않는가?
왜 우리는 개발자에 집중하지 않는가?왜 우리는 개발자에 집중하지 않는가?
왜 우리는 개발자에 집중하지 않는가?Minsuk Lee
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어Bizmerce Corp
 
[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들MinGeun Park
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심흥배 최
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewMinsuk Lee
 

Viewers also liked (20)

소프트웨어, 정말 되는 건가?
소프트웨어, 정말 되는 건가?소프트웨어, 정말 되는 건가?
소프트웨어, 정말 되는 건가?
 
소프트웨어, 소프트웨어 개발자
소프트웨어, 소프트웨어 개발자소프트웨어, 소프트웨어 개발자
소프트웨어, 소프트웨어 개발자
 
왜 소프트웨어를 배워야할까?
왜 소프트웨어를 배워야할까?왜 소프트웨어를 배워야할까?
왜 소프트웨어를 배워야할까?
 
자기소개서, 이력서 쓰는 법
자기소개서, 이력서 쓰는 법자기소개서, 이력서 쓰는 법
자기소개서, 이력서 쓰는 법
 
Deview-2014-자신있는개발자에서 훌륭한개발자로
Deview-2014-자신있는개발자에서 훌륭한개발자로Deview-2014-자신있는개발자에서 훌륭한개발자로
Deview-2014-자신있는개발자에서 훌륭한개발자로
 
Software Company, Open Soure Software Company
Software Company, Open Soure Software CompanySoftware Company, Open Soure Software Company
Software Company, Open Soure Software Company
 
Binary search
Binary searchBinary search
Binary search
 
it's software!
it's software!it's software!
it's software!
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?
 
Samsung-OSS-Conference-20140916
Samsung-OSS-Conference-20140916Samsung-OSS-Conference-20140916
Samsung-OSS-Conference-20140916
 
Data and Sorting Algoritm
Data and Sorting AlgoritmData and Sorting Algoritm
Data and Sorting Algoritm
 
Somul 2017-이민석
Somul 2017-이민석Somul 2017-이민석
Somul 2017-이민석
 
1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)1.자료구조와 알고리즘(강의자료)
1.자료구조와 알고리즘(강의자료)
 
Mi power point flores
Mi power point floresMi power point flores
Mi power point flores
 
10분만에 이해하는 프로그래밍
10분만에 이해하는 프로그래밍10분만에 이해하는 프로그래밍
10분만에 이해하는 프로그래밍
 
왜 우리는 개발자에 집중하지 않는가?
왜 우리는 개발자에 집중하지 않는가?왜 우리는 개발자에 집중하지 않는가?
왜 우리는 개발자에 집중하지 않는가?
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
 
[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 

Similar to 국민대-컴퓨터프로그래밍-2017-1-오프라인강좌

현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점Wonha Ryu
 
[Dev rookie] Omnibus Me (2014.01.11)
[Dev rookie] Omnibus Me (2014.01.11)[Dev rookie] Omnibus Me (2014.01.11)
[Dev rookie] Omnibus Me (2014.01.11)해강
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료Junyoung Jung
 
A small-team (or indie) Game Development
A small-team (or indie) Game DevelopmentA small-team (or indie) Game Development
A small-team (or indie) Game DevelopmentKalito Viscra
 
소프트웨어 교육 이야기
소프트웨어 교육 이야기소프트웨어 교육 이야기
소프트웨어 교육 이야기Jaehwi Alice Kim
 
[Dev rookie] 무엇을 하고 있습니까(13.05.11)
[Dev rookie] 무엇을 하고 있습니까(13.05.11)[Dev rookie] 무엇을 하고 있습니까(13.05.11)
[Dev rookie] 무엇을 하고 있습니까(13.05.11)해강
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임Imseong Kang
 
교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안Sangsu Song
 
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)해강
 
[Dev rookie] 어디로 가야 하나요(13.10.05)
[Dev rookie] 어디로 가야 하나요(13.10.05)[Dev rookie] 어디로 가야 하나요(13.10.05)
[Dev rookie] 어디로 가야 하나요(13.10.05)해강
 
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기Daniel Juyung Seo
 
평범한 개발자의 실수 꾸러미
평범한 개발자의 실수 꾸러미평범한 개발자의 실수 꾸러미
평범한 개발자의 실수 꾸러미mniktw
 
프로그래머를 꿈꾸는 학부 후배들에게
프로그래머를 꿈꾸는 학부 후배들에게프로그래머를 꿈꾸는 학부 후배들에게
프로그래머를 꿈꾸는 학부 후배들에게Matthew (정재화)
 
Deep Learning for Chatbot (1/4)
Deep Learning for Chatbot (1/4)Deep Learning for Chatbot (1/4)
Deep Learning for Chatbot (1/4)Jaemin Cho
 
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초Choi Man Dream
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library민태 김
 
기획서 쓰는 사람 이야기 (2014)
기획서 쓰는 사람 이야기 (2014)기획서 쓰는 사람 이야기 (2014)
기획서 쓰는 사람 이야기 (2014)Min-Sang Choi
 

Similar to 국민대-컴퓨터프로그래밍-2017-1-오프라인강좌 (20)

현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
 
[Dev rookie] Omnibus Me (2014.01.11)
[Dev rookie] Omnibus Me (2014.01.11)[Dev rookie] Omnibus Me (2014.01.11)
[Dev rookie] Omnibus Me (2014.01.11)
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료
 
A small-team (or indie) Game Development
A small-team (or indie) Game DevelopmentA small-team (or indie) Game Development
A small-team (or indie) Game Development
 
DebugIt/chapter5~8
DebugIt/chapter5~8DebugIt/chapter5~8
DebugIt/chapter5~8
 
소프트웨어 교육 이야기
소프트웨어 교육 이야기소프트웨어 교육 이야기
소프트웨어 교육 이야기
 
[Dev rookie] 무엇을 하고 있습니까(13.05.11)
[Dev rookie] 무엇을 하고 있습니까(13.05.11)[Dev rookie] 무엇을 하고 있습니까(13.05.11)
[Dev rookie] 무엇을 하고 있습니까(13.05.11)
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
 
교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안교육용 프로그래밍 언어 엔트리 10차 교육과정안
교육용 프로그래밍 언어 엔트리 10차 교육과정안
 
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)[14.06.28]  이 구역의 프로그래머는 나야(devrookie - 공개용)
[14.06.28] 이 구역의 프로그래머는 나야(devrookie - 공개용)
 
[Dev rookie] 어디로 가야 하나요(13.10.05)
[Dev rookie] 어디로 가야 하나요(13.10.05)[Dev rookie] 어디로 가야 하나요(13.10.05)
[Dev rookie] 어디로 가야 하나요(13.10.05)
 
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
[Ajou Greative 콘서트] 글로벌 sw엔지니어로 성장하기
 
Cs seminar
Cs seminar Cs seminar
Cs seminar
 
평범한 개발자의 실수 꾸러미
평범한 개발자의 실수 꾸러미평범한 개발자의 실수 꾸러미
평범한 개발자의 실수 꾸러미
 
프로그래머를 꿈꾸는 학부 후배들에게
프로그래머를 꿈꾸는 학부 후배들에게프로그래머를 꿈꾸는 학부 후배들에게
프로그래머를 꿈꾸는 학부 후배들에게
 
Deep Learning for Chatbot (1/4)
Deep Learning for Chatbot (1/4)Deep Learning for Chatbot (1/4)
Deep Learning for Chatbot (1/4)
 
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
 
기획서 쓰는 사람 이야기 (2014)
기획서 쓰는 사람 이야기 (2014)기획서 쓰는 사람 이야기 (2014)
기획서 쓰는 사람 이야기 (2014)
 

More from Minsuk Lee

CES 처음 가는 분을 위한 가이드
CES 처음 가는 분을 위한 가이드CES 처음 가는 분을 위한 가이드
CES 처음 가는 분을 위한 가이드Minsuk Lee
 
NIA-PaaS-TA Pub 키노트
NIA-PaaS-TA Pub 키노트NIA-PaaS-TA Pub 키노트
NIA-PaaS-TA Pub 키노트Minsuk Lee
 
모두콘, 어떻게 배울 것인가 발제.
모두콘,  어떻게 배울 것인가 발제.모두콘,  어떻게 배울 것인가 발제.
모두콘, 어떻게 배울 것인가 발제.Minsuk Lee
 
GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자
GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자
GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자Minsuk Lee
 
개발자, 회사.. 왜 오픈소스를 해야할까?
개발자, 회사.. 왜 오픈소스를 해야할까?개발자, 회사.. 왜 오픈소스를 해야할까?
개발자, 회사.. 왜 오픈소스를 해야할까?Minsuk Lee
 
진정한 소프트웨어 융합교육에 대하여
진정한 소프트웨어 융합교육에 대하여 진정한 소프트웨어 융합교육에 대하여
진정한 소프트웨어 융합교육에 대하여 Minsuk Lee
 
FOSS CON Korea 2018
FOSS CON Korea 2018FOSS CON Korea 2018
FOSS CON Korea 2018Minsuk Lee
 
소프트웨어 공부하는법
소프트웨어 공부하는법소프트웨어 공부하는법
소프트웨어 공부하는법Minsuk Lee
 
Next에서 공부하는 법
Next에서 공부하는 법Next에서 공부하는 법
Next에서 공부하는 법Minsuk Lee
 
Deview 2013 - 나는 왜 개발자인데 자신이 없을까?
Deview 2013 - 나는 왜 개발자인데자신이 없을까?Deview 2013 - 나는 왜 개발자인데자신이 없을까?
Deview 2013 - 나는 왜 개발자인데 자신이 없을까?Minsuk Lee
 
임베디드시스템개발 Part2
임베디드시스템개발 Part2임베디드시스템개발 Part2
임베디드시스템개발 Part2Minsuk Lee
 
OSS개발자포럼 Slide-2013-05-25
OSS개발자포럼 Slide-2013-05-25OSS개발자포럼 Slide-2013-05-25
OSS개발자포럼 Slide-2013-05-25Minsuk Lee
 
임베디드시스템개발 Part1
임베디드시스템개발 Part1임베디드시스템개발 Part1
임베디드시스템개발 Part1Minsuk Lee
 
임베디드시스템과시장
임베디드시스템과시장임베디드시스템과시장
임베디드시스템과시장Minsuk Lee
 

More from Minsuk Lee (14)

CES 처음 가는 분을 위한 가이드
CES 처음 가는 분을 위한 가이드CES 처음 가는 분을 위한 가이드
CES 처음 가는 분을 위한 가이드
 
NIA-PaaS-TA Pub 키노트
NIA-PaaS-TA Pub 키노트NIA-PaaS-TA Pub 키노트
NIA-PaaS-TA Pub 키노트
 
모두콘, 어떻게 배울 것인가 발제.
모두콘,  어떻게 배울 것인가 발제.모두콘,  어떻게 배울 것인가 발제.
모두콘, 어떻게 배울 것인가 발제.
 
GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자
GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자
GDG-DevFest, 만들면서 자랑하면서 성장하는 개발자
 
개발자, 회사.. 왜 오픈소스를 해야할까?
개발자, 회사.. 왜 오픈소스를 해야할까?개발자, 회사.. 왜 오픈소스를 해야할까?
개발자, 회사.. 왜 오픈소스를 해야할까?
 
진정한 소프트웨어 융합교육에 대하여
진정한 소프트웨어 융합교육에 대하여 진정한 소프트웨어 융합교육에 대하여
진정한 소프트웨어 융합교육에 대하여
 
FOSS CON Korea 2018
FOSS CON Korea 2018FOSS CON Korea 2018
FOSS CON Korea 2018
 
소프트웨어 공부하는법
소프트웨어 공부하는법소프트웨어 공부하는법
소프트웨어 공부하는법
 
Next에서 공부하는 법
Next에서 공부하는 법Next에서 공부하는 법
Next에서 공부하는 법
 
Deview 2013 - 나는 왜 개발자인데 자신이 없을까?
Deview 2013 - 나는 왜 개발자인데자신이 없을까?Deview 2013 - 나는 왜 개발자인데자신이 없을까?
Deview 2013 - 나는 왜 개발자인데 자신이 없을까?
 
임베디드시스템개발 Part2
임베디드시스템개발 Part2임베디드시스템개발 Part2
임베디드시스템개발 Part2
 
OSS개발자포럼 Slide-2013-05-25
OSS개발자포럼 Slide-2013-05-25OSS개발자포럼 Slide-2013-05-25
OSS개발자포럼 Slide-2013-05-25
 
임베디드시스템개발 Part1
임베디드시스템개발 Part1임베디드시스템개발 Part1
임베디드시스템개발 Part1
 
임베디드시스템과시장
임베디드시스템과시장임베디드시스템과시장
임베디드시스템과시장
 

국민대-컴퓨터프로그래밍-2017-1-오프라인강좌

  • 2. https://youtu.be/ryt0a9ri500 에 동영상이… 모두의 소프트웨어, http://sw4all.kookmin.ac.kr
  • 3. • 1학기 목표 –Excel을 유창하게 • 생산성 높은 삶을 위하여 • MOS Excel Expert 자격증 –컴퓨터 프로그램 느껴보기 • 아~ 이런 거구나, 별거 없구나, 재미 있구나 !! – 엔트리 (entry) 프로그래밍 – Physical Computing (하드웨어 활용) • 논리적, 절차적 사고의 이해 • 소프트웨어적 표현 실습 • 개인별 프로젝트 컴퓨터 프로그래밍 I 과목 소개
  • 4. 사실 Excel로도 게임을 만들수도 있고.. • RPG http://carywalkin.ca/ • TETRIS https://www.youtube.com/watch?v=l-nMHQ1d4wY
  • 7. 그래서 • 문제 해결을 위한 효과적인 도구가 필요 • 가장 많이 사용되는 프로그래밍 언어 – TIOBE Index, Apr. 2017 (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) – 5위 : Python • 1위 ~ 4위 : 어디선가 많이 들어본 Java, C, C++, C# • 해커톤 사용 언어 순위 – 해커톤 : 1박2일~2박3일시간의 짧은 시간 안에 (팀으로) 소프트웨어 (서비스, 게임)을 개발하는 것 – http://www.bloter.net/archives/234334 – 3위 : Python • 1위 : HTML/CSS, 2위 : JavaScript, 4위 : Java
  • 8. 그 python은 2학기에 배웁니다.
  • 9. 언어의 첫 걸음: Hello World! • Java 버전 • C 버전 // Hello World in Java class HelloWorld { static public void main(String args[]) { System.out.println("Hello World!”); } } /* Hello World in C, Ansi-style */ #include <stdio.h> #include <stdlib.h> int main(void) { puts("Hello World!"); return EXIT_SUCCESS; }
  • 10. 언어의 첫 걸음: Hello World! • Scratch 버전 • Entry 버전 • Python 버전 # Hello World! in Python 3 print("Hello World!")
  • 11. 그리고, 이번 학기 남은 기간 동안은 ..
  • 12. Why Entry? • Entry 역시 프로그래밍 언어의 일종 – 웹으로 되고, PC, Mac에서도 되고 • 스마트폰에서도 되고. – 쉽고, 재미있고, – 문법보다는 의미에 더 신경쓸 수 있게 하고 – “~~일이 발생하면 ~~를 해요” 라는 방식도 가능하고. – 무료, 오픈소스이고, 국산이고 – 하드웨어, 센서 연결해서… • 소위 말하는 IOT.. • 멋진거 다 할 수 있..
  • 13. 교재 (동영상 + 교재 + 하드웨어) 컴퓨팅 사고력을 키우는 SW 교육 피지컬 컴퓨팅 (엔트리 & 코드이노) 출판사 : 한빛아카데이 ISBN : 9791156643081 하드웨어는 실습 때 제공
  • 15. OFF ON 절차적으로 정리하면 만일 스위치가 ON 위치 이면 불을 켜고, 아니면 불을 끈다. 프로그램으로 짜면 if (switch == ON-position) then turn_LIGHT(ON) else turn_LIGHT(OFF) 말로 하면 스위치를 누르면 불이 켜진다. 프로그램의 예 * 모든 언어마다 문법은 조금씩 다름 로 짜면
  • 16. 알파고도 풀 수 없는 문제.. 시작 (여자가 화가 남) 미안해 뭐가 미안해? 알아몰라 알면서 그래? 모르면서 그래? 잘못했어 뭘 잘못했는데? 남자 여자 : 멘붕에 따른 임의의 선택 (머리속에서 어설픈 동전던지기) Man Trapped
  • 17. 예제: Man Trapped 미안해: 뭐를: 여자_화남 = TRUE; 남자(“미안해”); 여자(“뭐가 미안해?”); 남자(머릿속 동전 던지기); if (동전=앞면) then 남자(“알아”); 여자( “알면서그래?”); else 남자(“몰라”); 여자(“모르면서 그래?”); 남자(머릿속 동전 던지기); if (동전=앞면) then goto 미안해; 남자(“잘못했어”); 여자(“ 뭘 잘못했는데?”); goto 뭐를;
  • 18. 예제: Man Trapped • 사건을 단계로 풀어보면… 1. 시작 2. ‘미안해’ 하고 3. 막 추궁 당하고, 4. 아무 대답이나 하고, 5. 제대로 일격을 당하고 6. 나름 작전을 선택하고 7. ‘미안해’ 하면 2번으로 돌아가고 8. ‘잘못했어‘ 하면 9. 막 추궁 당하고 10. 다시 4번으로 가서 반복
  • 19. 알파고도 풀 수 없는 문제.. http://j.mp/man-trapped
  • 20. 프로그래밍 요소 (순차, 반복, 조건) • 순차 실행 – 아래로 향하는 화살표 – 블록(문장)이 차례로 실행 • 반복 – 위로 올라가 다시오는 화살표 • 조건 – 선택에 따른 두 방향의 화살표
  • 22. 세상의 많은 문제의 본질은... •데이터 사이의 관계를 이해하는 것 데이터의 순서  정렬 (Sorting) : 어떤 기준이든. 데이터의 소속  분류 (Categorizing) 및 인식 : 어떤 구분이든. 데이터의 연관성  관계 (Relation)의 설정 : 어떤 이유이든. 데이터의 변화  추세(Trend)의 확인 : 어떤 관점이든.
  • 24. 데이터의 소속 • 소속, 분류의 문제 • 인식의 문제  Spam 메일 vs 중요 메일 사과인가 배인가? 개인가 고양이인가? 이 자는 누구인가? 나이는 몇인가?
  • 25. 데이터의 연관성 • 두 데이터 사이의 관계 친구인가? 그렇고 그런 관계인가?
  • 26. 데이터의 변화 • 추세의 확인과 예측 지금까지는 어땠는데… 다음은 어떻게 될 것인가? http://tvchosun.com/pollab//publicopinion.html
  • 27. 알고리즘 예, 데이터의 정렬 방식 • Simple sorts  Insertion sort  Selection sort • Efficient sorts  Merge sort  Heap sort  Quick sort • Bubble sort and variants  Bubble sort  Shell sort  Comb sort • Distribution sort  Counting sort  Bucket sort  Radix sort • … 문제는 다 같다: 데이터를 순서대로 정렬하는 것 답은 다르다: 데이터의 모양에 따라서 http://en.wikipedia.org/wiki/Sorting_algorithm
  • 28. Shell Insertion Merge Quick Heap Comb https://www.youtube.com/watch?v=ZZuD6iUe3Pc
  • 30. 요약 • 효율적인 프로그래밍 도구가 필요하다. • 엔트리를 배운다. – 쉽다, 재미있다 • 프로그램이란 별거 아니다. – 논리에 따라 순차적인, 반복적인, 명령의 수행 • 데이터가 중요하다. – 순서, 소속, 연관성, 변화 • 그렇다.

Editor's Notes

  1. 순서는 : 어떤 식이든 Sorting 소속은 : Categorize 분류, 인식 : 사진을 보고 개or고양이, 사과or배 연관성은 : 관계의 정의 : 친구, 부모, 학교-학생 변화는 : 미래 예측 : 어떤 관점이든
  2. 사진으로 성별과 나이를 잘 맞출 수 있다면… -- 예, 백화점 엘리베이터에서
  3. 사람 사이의 관계를 잘 알 수 있다면..
  4. 문제의 이해.. 뭘 (변화를 주도하는) 의미 있는 데이터로 볼 것인가? 유용하지만 가장 어려운 것 신용도를 조사한다면 의미있는 것과 아닌 거.