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
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!")
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번으로 가서 반복
22. 세상의 많은 문제의 본질은...
•데이터 사이의 관계를 이해하는 것
데이터의 순서
정렬 (Sorting) : 어떤 기준이든.
데이터의 소속
분류 (Categorizing) 및 인식 : 어떤 구분이든.
데이터의 연관성
관계 (Relation)의 설정 : 어떤 이유이든.
데이터의 변화
추세(Trend)의 확인 : 어떤 관점이든.