ITS's Dev Story

(오늘 배운 내용)


==============================


도수분포준비

반복 200

{

X = 'a,b'

do 50 X 표 집

}

==============================


==============================

window ttgraph.gif ; for i=0 to 100 { ary_i=0 }

약속 표 { n = yc+50 ; ary_n = ary_n +1 ; tt blue ; move ary_n,0 }

약속 앞 { move 1, 1 } ; 약속 뒤 { move 1, -1 } ; 거북 -50,0 ; move 50,50 ; 거북 -50, 0; move 50, -50; tt ; tt -50,0;

v_1 { 자유점 ; -59, 0 ; black,5 ; #3BB9FF, 8 } ; v_2 { 자유점 ; -50, 0 ; black,7; #3BB9FF, 8} ; v_3 {선위점;v_1,v_2, 0, 0; yellow, 9; blue, 8 } ; v_4 {중점;v_1,v_3;blue,7;lightgray,8} ; v_5 {수직점;v_2,v_2,v_3;gray,4;lightgray,8} ; v_6 {교점;v_5,v_2,v_4,v_4,v_3;gray,4;lightgray,8} ; f_1 {반지름;v_4, v_3; ; ; red} ; e_1 {선분;v_1,v_2;;;red}; e_2{선분;v_5,v_2;;;yellow} ; v_4, name ; v_5, name ; v_6, name ; v_7 {작도점;v_3,v_3,v_2,v_6;red,2; red,8} ; v_7,name; trace v_7,on; v_8,-72,-56 ; v_9,-72,-66;

이름 v_8 { '2의 좌표 (-50,0) : 1의 좌표 (-59,0) ' ; red ,1 } ; v_10, -102,69; label v_10 { '_3 을 마우스로 끌면 점 7은 자취를 담는 포물선을 그림' ; blue, 1 }

이름 v_9 { '7의 자취곡선은 ' , $ y^2 = 9x \thicksp \thicksp y= 3 \sqrt{x}$; blue,1}

반복 250 { tt random ; do 50 ' , ' ; tt -50, 0 }

@ 반복 250 { do ([#random]) 50 ' , ' ([-50#0]) } @

@ _3 을 마우스로 끌면 점_7 은 거북자취를 담아내는 포물선을 그립니다 @

@ 4개 표본의 평균으로 도수분포 그래프를 만들면 표준편차가 반으로 준다 @

버튼 push() { ' 4개 표본의 평균으로 만들기 ' ; -10,60 }

함수 push() { logo ; window ttgraph.gif ; point v_1, 110,0 ; point v_2, 110,0; point v_3, 110,0; point v_4, 110,0; point v_1, noname; point v_2, noname; point v_3, noname; point v_4, noname; for i=0 to 100;arx_i = 0; arz_i=0;next; ary_1=0; ary_2=0; ary_3=0; ary_4=0;거북 -50, 0; move 50, 50; 거북 -50, 0; move 50, -50; tt gray; 거북 -50, 0; move 50, 0;

반복 80 { for i=1 to 4 ; pu ; tt -50,0 ; do 50 ' , ' ; point v_i, 0, yc ; n=yc + 50 ; arz_n=arz_n+1; pd ; tt blue; move arz_n, 0; ary_i=yc; next; n = 50 + int( 0.25*( ary_1 + ary_2 + ary_3 + ary_4) ) ; tt 0, n-50 ; arx_n = arx_n + 1; tt black; move -2*arx_n, 0; } ; v_10, -104,69; label v_10 { '4개 값의 평균으로 도수분포를 만들면 표준편차가 반으로 준다' ; blue, 1 } }

==============================

슈뢰딩거의  법칙.

==============================

===============================

쌓기나무준비

window normalcurve.gif @ m : (길이##) m , (#) m @

k=0.00048 ; oldv=1 @ (dx ## dy) m : x , y 증가량 @

tt -105,-19 ; do (3##) m @ 맨 처음 평평한 기준면을 만듦 @

for i=1 to 20 { @ i 1 부터 20 까지 변하면서 @

newv = com(20,i) @ 20 개 중 i 개를 뽑는 경우 값 @

do ( 10 ## k*( newv-oldv ) ) m

oldv=newv

}

move nets,-103,-19; head nets,0,-83;

===============================

가우스 정규분포, 표준편차 68 95 99.7

벡터는 가자 5, 가자 7 등으로 표현할 수 있다.


===============================

도수분포준비

 

move 30, -40

tt 30, 20

move 30, -40

===============================

크기와 방향만 같으면 다 같은 벡터, 고로 위 그림은 같은 벡터이다.

 

확률과 통계 : 순열과 조합 등등



컴퓨터 사이언스를 배우는 아이들이 대부분 부전공을 함이것이 확률과 통계.

앞으로 공인인증서가 없어질 것임홍채인식이 생김.

지문이라는 건 죽은 사람 손가락 잘라서 해도 되지만홍채는 안 그럼.

 

그러므로 생체신호로 접근해야 하는데드론 등이 활성화되면 보안이 매우 중요

양자통신을 배울 것그러므로 교수님의 답은 확률과 통계다.

데이터 사이언스가 각광을 받으므로결국에는 확률적인 분석을 할 수밖에 없다.

복수전공을 할 것

 

데이터 분석머신러닝 등이 확률 분석이기 때문에 수학을 못하면 안됨.


옛날에는 컵라면만 먹고 시간투자만 하면 되지만 이제는 수학이 매우 중요하다.

지금 세상이 바뀌고 있다절대 컴퓨터 공학과 가지 마라.

 

지금 당장 뇌파가 인기가 없는 이유는 너무 어렵다는 편견 때문이다전자파로 인해서 뇌파도 변하므로 조심할 것그러므로 홍채인식이 각광을 받을 것이다그래서 내가 하고 있는 것이 아이트래커인데이를 이용해서 너네가 조는 걸 알 수 있다너네가 딴짓을 하는지도 분석이 가능.

 

기계 학습을 이용해서 스팸메일을 걸러낸다. (베이지안 스팸 필터)

컴퓨터 공학과나 가서 게임 만들고 컵라면 먹으면 아주 피곤한 삶이 됨.

 

826일 동아리 시간에는 아두이노의 개념은 제대로 이해하고 있지만, C언어의 기술이 부족하여 아두이노를 잘 못 다루는 아이들을 위해 이 수업을 준비하였다. 그리고 1028일까지 완성될 프로젝트에 대한 중간 발표를 하였다.





활동지를 열심히 풀고 있는 모습. 창의적으로 문제를 해결하는 모습이 보인다.



 활동지의 내용. 주로 자세한 개념설명은 구두 혹은 PPT로 대체하였고, 활동지에는 꼭 필요한 개념 및 문제들을 주로 수록하였다. 이 문제들은 단순히 언어만 잘 한다고 빠르게 풀 수 있는 문제가 아닌, 수학적인 머리가 되면 창의적으로 빠르게 풀어 낼 수 있는 문제들이다. 



 한 아이는 수학적인 머리가 뛰어나 컴퓨터 프로그래밍을 따로 공부하지 않았는데도 바로 문제를 2분만에 풀어냈다.



 활동지의 개념 부분. C언어 뿐만이 아닌 다른 프로그래밍 언어에도 쓰이는 여러 문법들을 탑재하였다. 이로 C언어에만 종속되는 활동지가 아닌 거의 모든 프로그래밍 언어에서 활용 가능한 지식들을 주로 학습하도록 계획하였다.



 1학년에서 컴퓨터를 잘 하는 아이가 개발한 '통합 파일 관리자'. 알집이나 7Zip 등 별도로 압축 프로그램을 깔기 귀찮아 개발하게 되었다고 한다. 현재 안드로이드로도 확장한다고 한다.



 통합 파일 관리자 소스 일부 (파이썬으로 개발)



▲ 아까 소개한 수학적인 머리가 뛰어난 아이는 이 동아리 활동을 통해 '유니티' 에 입문하게 되었다. 앞으로 만들어 낼 소프트웨어가 기대된다.



▲ 한 아이가 개발 중인 '천상계 이야기'. 

기존 RPG 툴로 만든 인디게임을 좋아하는데, 해보니까 모두 맵이 작고 버전 업데이트만 많은 것에 갈증을 느껴 직접 게임을 만들어 보기로 계획하였다고 한다. 


이 게임은 처음 시작미션만 끝나면 제한되는 게 없으며, '막장 전개'로 사람들에게 재미를 준다고 한다. 점점 더 흥미진진해 지는 것 같아 기대된다.



원래는 아두이노를 이용한 프로젝트가 많이 나올 줄 알았는데, 자신들의 이야기를 소프트웨어를 통해 펼쳐나가는 것을 선호하는 것 같았다. 이 활동을 해 보면서 컴퓨터 프로그래밍 언어 실력이 필요한 것이 아닌 창의력, 그리고 수학 실력이 중요하다는 것을 다시 한번 깨닫게 되었다.

819일 동아리 시간에는 내가 개발하고 있는 머신러닝 S/W의 개념을 쉽게 다가갈 수 있도록 가볍게 다루어 보았고, 아두이노 블루투스 수업을 한 후 프로젝트 개발을 하였다.





▲ 활동지를 푸는 모습



머신러닝 예제 중에는 NumberDetection하는 S/W가 있다. 이와 연계되어 컴퓨터가 숫자의 어느 패턴을 보고 분석하는지를 아이들보고 풀게 했다. 주로 각이 진 부분이나 휘어진 부분, 끝나는 부분 등에 동그라미를 쳤는데 이 아이의 경우에는 길이를 분석해서 Machine Learning을 하면 되지 않을까라는 창의적인 발상을 했다



▲ 차량 번호판 인식 방법에 대한 강의를 듣는 모습 



▲ 구글이 공개한 오픈소스 머신러닝 알고리즘 'TensorFlow'.




▲ 아두이노에 블루투스 HC-06을 연결해 휴대폰으로 메시지를 주고 받는 강의를 하였다.








▲ 이후, 각자 컴퓨터로 자신의 프로젝트를 개발하였다. 한 아이는 컴퓨터 동아리 시간에 이렇게 손으로 코딩한 노트를 가져와 개발한다. 개인적으로 이 습관이 참 좋다고 생각한다.



▲ 또 다른 아이는 학원을 가는 길에 도로를 건너다 사망하는 스토리로 구상한 게임을 가져와 보여줬다. 거기에 내가 '단순히 사망하는 걸로 게임을 끝내지 말고 하늘나라에서의 이야기로 확장하는건 어떨까' 라고 제안을 해 주니 바로 업그레이드하였다. 


지금도 집에서 업그레이드 중이라고 한다.


머신러닝의 개념이 어떻게 보면 초등학생도 이해할 수 있는 쉬운 개념이지만, 비전공자는 수학의 한계로 어렵게 느껴 접하는데 부담감을 느낀다. 쉽게 풀어서 설명하니 아이들은 정해져 있는 방법 뿐만이 아닌 새로운 방법들도 창조하여 만드는 모습들을 보여 주었다.


동아리에 들어오기 전에는 게임 의외에는 컴퓨터를 만져 본 적이 없는 아이들도 자신의 프로젝트를 조금씩 업그레이드하면서 완성해 가는 모습을 보니 참 뿌듯하다.