ITS's Dev Story

2017.01.31

서울대 영재원 사사 단톡개설

서울대 영재원 사사 밴드 개설


2017.02.02

<교수님>

1. 서울대에서는 외부에서 들어오기 힘들기 때문에, 외부에 싼 단독서버 임대하기로 함


2. 리눅스 우분투를 기반으로 해 아파치 설치


3. 파이썬 데이터 분석을 고려, 파이썬 DJango와 복셀을 위한 node.js 생각


4. 서버 잘 아는 사람들이 아파치에 장고, 노드 둘 다 설치하는 방법 찾아봐라


5. 장고는 웹사이트를 만들때 유리하고, 기본적인 홈페이지 소스를 voxel.js와 연동해라

(나중에 가서 데이터 분석시 필요하다. 처음엔 중요하지 않음) 

아파치와 디장고, 노드 동시에 설정하는게 가능한지 알아 보자


6. 다음 모임때까지, 

 6-1. 가상서버 임대/아파치에 파이썬 장고 설치, 

 6-2. Voxel.js 설치하기 위한 node.js 설치방법 알아볼것. 


7. 그리고 SW 코딩교육을 위한 서버 운영 및 정보분과 학생들이 봉사를 할 수 있는 기반을 구축하겠다.

(서울 도곡초 혹은 시흥)


8. 4차 산업혁명의 화두는 머신러닝이다.

키보드로 하는 마인크래프트를 뇌파로 접근하려면 머신러닝 테크닉이 필요

이때 행렬기반 데이터표현, 선형대수 기반 PCA/LDA, 리그레션, 뉴럴 네트워크 등이 머신러닝 알고리즘으로 쓰임


9. 따라서, 머신러닝을 구현하기 위해서는 python으로 접근해야 한다.


http://fallskyjeon.tistory.com/m/2

아파치에서 장고와 노드 두개 돌리기

Running Django and Node.js on the Same Server Using Apache


효율성보다 공부하는 교육용  서버로

http://blog.matthewdfuller.com/2013/08/running-django-and-nodejs-on-same.html?m=1


아파치에 장고 설치

http://heiswed.tistory.com/entry/%EC%9E%A5%EA%B3%A0-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C-%EC%95%84%ED%8C%8C%EC%B9%98-%EC%9B%B9%EC%84%9C%EB%B2%84%EB%A1%9C-%EB%8F%8C%EB%A6%AC%EA%B8%B0


아파치와 노드

http://stackoverflow.com/questions/9831594/apache-and-node-js-on-the-same-server


아파치와 파이썬 장고

http://www.fun25.co.kr/blog/python-django-apache-mod-wsgi-install

현재 뇌파가 이런 수준

https://www.google.co.kr/amp/techholic.co.kr/archives/35699/amp?client=ms-android-skt-kr


<학생의견>

6월에 봉사 하기에는 영재고 준비하는 애들이 바쁨 -> 대안 : 여름방학, 2학기 (주말)

( 오늘 배운 내용 )

 

지능 정보 영재라고 하루 전에 미래창조과학부에서 발표한 건데, 인공지능을 활용한 데이터 분석.

 

지능 정보 영재고도 만들겠다는 이야기를 하는데, 인공지능전문가를 5만명 양성한다.

http://v.media.daum.net/v/20161215150339029

 

알파고 때문에도 그렇고 여러 가지지만 지금 무인차가 나오고 변호사시험에 합격할 수 있는 컴퓨터가 나오고, MRI 등도 컴퓨터가 잘하는 세상이 되고, 갤럭시 8에는 말하는 비서가 들어온다.

 

A.I. 가 미래의 대세. 과학영재교육원에게도 미래부가 A.I를 가르치도록 요청함

미래부에서는 과학고등학교와 과학영재학교에서 의대로의 지원을 금지한다 발표. 의대 가면 돈 다 회수한다.

 

미래부에서는 중학교 3학년때 각 분과별로 뽑아서 사사반 만든다.

 

지금 AI가 상당히 발전되어 있지만 중2 수준에서 할 수 있는 거를 해라

100만원 짜리 뇌파장비도 있고, 3D 프린터도 있다. 2팀으로 나눠 선발한다.

 

뇌파장비를 10만원대에도 구비할 수 있다.그것을 복셀이나 자동차에 연결, 연구하라

내 몸 때문에 생기는 전류를 뇌파라고는 할 수 없다. 아이트래커도 연구해라.

 

요즘은 환자들이 아이트래커로 커맨드를 내린다. 미래부에서 관심갖고있다


 

지능정보영재 5만명을 조기에 발굴한다는데 지금 금방 기회가 된다. 5만명이면 어마어마한거임


 

http://www.javamath.com/class/minoboard/board.cgi?house=turtle&id=work&action=read&num=87&page=1&index=78

 

http://www.javamath.com/class/minoboard/board.cgi?house=turtle&id=work&action=read&num=85&page=1&index=75

 


서울대 대학원생들이 연구하는 것.

 

뇌파 오픈 소스

http://martinos.org/mne/stable/index.html

 


뇌파 오픈소스에 참여하는 대학.


오전에는 winpython을 설치함

파이썬을 쓰는 이유는 공대에서 많이 쓰는 랭귀지가 매트래그이라는 걸 많이 쓴다. (중고등에서 하는건 C, C++)

 

매트래그는 라이브러리가 많지만 비쌈, 그래서 파이썬을 쓰는 거임

 (파이썬 3 이상으로 해야함. 2.7은 안돌아가서 쓰레기임.)

 

머신러닝을 C언어로 만들지 않음. 파이썬으로 만듬. 거지같은 포인터 그만 다뤄라.

파이썬이 제일 쉽다.

 

학교 현장에 10만원 짜리 뇌파 장비를 보급하는게 우리의 숙제

 

이것이 정보의 마술임. 지능 정보 마술.

통계과에서는 R 언어를 가르키는데, C언어를 가르치는데는 한번도 들어본 적 없음.

근데 뭐 게임이나 만들 애들은 C++ 쓸거임.

근데 대학은 매트랙, 파이썬, R 등을 쓴다.

 

뇌파가 어느 정도냐 하면 2~3살 자녀의 인생 전체를 측정할 수 있는 무시할 수 없는 도구임.

ADHD가 집중 못하는 건데 뇌파로 치료한다.

http://www.ohmynews.com/NWS_Web/View/at_pg.aspx?CNTN_CD=A0002241204

 

뇌파로 로봇 팔을 움직인다. http://news.kbs.co.kr/news/view.do?ncd=3237484

 

노소영 아트센터나비 관장 "인공지능, 가르침 필요한 아기…인간이 필요한 이유" http://www.sedaily.com/NewsView/1L3YTPFKIQ/


하반신 마비 원숭이 다시 걷는다. http://news.chosun.com/site/data/html_dir/2016/11/10/2016111000457.html

황우석 줄기세포하고도 관련이 있다.

 

EEG-MUSE를 사용해서 제어 bit.ly/2hHE2zY

중학교 개념인 1차 함수를 이용해서 할 수 있는 머신 러닝 해 보기

머신러닝이 생겼을 때 살아남을 수 있는 직업은 머신러닝 만드는 직업

 

(, 몸무게) 형태로 모든 데이터를 좌표평면 내에 집어 넣는다.


이런 형태로 구현한다.

제일 첫 번째로 중등과정에서 구현 가능한 머신 러닝.

 

뇌파로 아두이노 불을 켜라, 모터를 돌려라. 좋은 주제이다.

이번년도 사사는 불을 켰으니 다음번 사사는 스텝 모터를 돌려야 한다.

 

한의사도 뇌파를 쓸 수 있다. http://www.akomnews.com/?p=367411

보톡스도 뇌파가 점령 http://www.medigatenews.com/news/1241583248

 

앞으로 영재학교나 과학고에서 의대를 못가게 해야 한다.

http://db.hankyung.com/news/app/newsview.php?aid=201608301725g

 

행렬을 알아야 함.


1년간의 서울대 수업이 이렇게 끝났다... 


▼ 파이썬 OPENSOURCE 자료 (뇌파 테스트 문제와 측정 코딩)  



(오늘 배운 내용)

지금 초등학교에서 코딩 교육하겠다고 하는것의 모토가 바로 ‘Micro World’ 임.

 

MIT Media Lab이 지상 최고의 대학임. 아무나 못 감.

거기 계신 교수님이 다 석학들임.

 


현미경으로 본 세계, 마이크로 월드는 MIT Media Lab이 만든 개념이다.

양자 컴퓨팅과도 많은 연관이 있다. 이를 연구할 것


<참고로 서울교대 영재원 수업 시에도 마이크로 월드에 대한 언급이 '아주 잠깐' 있었다. 순환교육때 과학 교수님이 이걸 읽어보라며 자신의 책을 홍보한 적이 있다.>


마인크래프트라는 게임은 거북이 세계와도 중첩되는 부분이 있다.

 

마이크로 월드가 증강현실, VR, 아이 트래커, EEG (뇌파), 마우스, 키보드와 연동됨.

이제는 마이크로 월드가 미래임.

 

인공지능 때문에 직업이 다 줄어들게 생겼는데 이제는 인공지능 만지는 애만 살아남음

절대 컴퓨터 공학과 가지 마라. 인문학을 해라. 옷이라든지 음식이라든지 인공지능 못하는 걸해라.


박근혜가 완전히 망한 대통령이지만 잘한 정책이 딱 2개가 있는데 자유학기제와 코딩 교육임.

 

엘반 토플러가 한국에 대해 비판했는데 사라질 직업 위해 학교서 하루 15시간 (기사 주소) 을 낭비하고 있다고 함.


서울대 입학하려면 자기소개서에 책 3권 써야하고, 봉사활동 많이 해야 하는데 절대 봉사활동으로 지하철 노동이나 화장실 청소같은거 하지 말 것. 그거 1000시간해도 뽑지 않는다.

 

미래에 머신러닝이 하지 못하는 봉사활동을 해라. 자신의 특기적성과 맞아야 하고, 책 3권은 정말 아무거나 쓰지 마라.


10월 28일 동아리 시간, 오늘은 동아리 마지막 시간이다. 우선, 지금까지 개발한 프로그램에 대한 개발 보고서를 작성하였고, 영상처리 알고리즘에 대해 수업을 하였다. 많이 어려워 할 것 같은 분야라 이론만 강의하였다.



▲ 동아리 최종 보고서를 작성하는 모습



▲ 프로그래밍 언어에 한국어라고 표기하는 아이들이 있어 '한국어는 프로그래밍 언어가 아닙니다' 라고 표기하였다. 그래도 여전히 한국어를 쓰는 아이들이 있었다.



▲ 위 부원들은 서로 팀 프로젝트를 하여 소프트웨어를 개발하였다. 소프트웨어 명은 '탭' 으로 다른 리듬게임과 달리 조작이 쉽고, 편리하고 좋은 음악을 들을 수 있는 리듬 게임으로서, 게임하면서 많은 음악을 들을 수 있는 혜택을 준다고 한다. 추후 구글 플레이 스토어에 게임을 업로드하려고 한다. 사용 프로그래밍 언어는 Java이다.



▲ 1학년 동아리 부원이 개발한 파일 관리자



▲ 이름만 에니그마이고 파일 관리자 소프트웨어이다.



▲ 한 동아리 부원은 천원을 스캔하면 그 위에 고양이가 올라가는 작품을 개발하였다.



▲ 유니티에 관심이 생겨 유니티로 휴대폰 애플리케이션을 개발하기로 했다고 한다.



▲ 파일 관리자를 개발한 동아리 부원은 123D 프로그램을 이용해 3D 프린터 출력물을 모델링하고 있다.



▲ 동아리를 마무리하며... 기념으로 찍은 사진



▲ 결국 천원 작품은, 끝내 성공하지 못했다.


지금은 또 다른 애플리케이션 개발에 관심이 생겨 개발하고 있다고 한다.


1년 동안 7회기의 수업을 준비하고, 시행하면서 모든 아이들이 S/W 분야에 가능성이 있는 아이들이고, 누구나 마음만 먹는다면 (물론 마음을 먹는게 쉬운 일은 아니다. 동기부여가 되어야 한다.), 쉽게 소프트웨어 전문가가 될 수 있음을 깨달았다. 


내년에는 조기입학으로 인하여 동아리를 운영할 수 없어, 1학년 천원 작품 개발자가 동아리를 운영하게 된다.

누군가를 가르치고, 함께 한다는 것은 어려움도 있지만, 나와 그 구성원들이 함께 성장할 수 있어 굉장히 보람찼다.


이제 마무리를 다 했기 때문에 개인 작품 개발과 영재원 팀 프로젝트에 더 집중해야 할 것 같다.

산출물 제작 빼고는 한 게 없다.


Voxeljs.com의 마인크래프트를 기반으로, 

여러명이 모이는 놀이광장 서버를 만들거나, 

VR을 도입하거나, 거기에 뇌파를 도입하는 등의 아이디어를 생각해 보았고, 팀 빌딩을 하였다.

지난 2016년 1월부터, 9개월간의 과정을 거쳐 개발된 프로젝트인 '시각장애인을 위한 이미지 설명 프로그램' 을 공개합니다!


< 소프트웨어의 모든 저작권은 ITSC(Taewon Kang) 에게 있으며, 무단 도용 및 복제, 전송 등의 행위는 저작권법에 의해 처벌받을 수 있음 >


[개발 프로그램 요약]



시각장애인을 위한 이미지 설명 프로그램 (Image Explanation Software for the Blind) 은 눈이 안 보이는 시각장애인에게 보이지 않는 상황에 대해 문장으로 설명하고, 설명된 데이터를 TTS (Text-To-Speech)를 이용, 실시간으로 설명을 들을 수 있도록 개발한 소프트웨어이다. (2016.10.22 수정) 현재도 업그레이드 중이다.


머신러닝 오픈소스 Dataset, Tensorflow를 이용 (오픈소스를 활용하였습니다. 혹여나 오해 없길 바랍니다.) 하므로 가장 정확한 문장 결과를 도출할 수 있으며, 지속적인 학습으로 어떠한 이미지든지 올바른 결과를 도출할 수 있다.

이미지 설명 프로그램의 알고리즘은 촬영된 이미지를 카메라의 Face Recognition처럼 CNN 알고리즘 (특정 부위를 잡아 단어로 설명하는 알고리즘) 을 이용해 단어로 변환이 가능한 특정 부위 각각을 Machine Learning (group of people, table 등) 후 단어를 도출해 낸다. 이후 이 단어들을 바탕으로 RNN 알고리즘이 부가 단어 (a, standing, around 등)를 생성한다. 마지막으로 이를 조합하는 알고리즘을 사용하여 조합하면 단어가 완성된다. 위의 이미지를 참고하면 이해가 쉬울 것이다.

 

현재까지 Image Caption에 대한 연구는 활발히 진행되고 있지만, 시각장애인을 위한 이미지 설명 프로그램은 존재하지 않았다.


시각장애인을 위한 이미지 설명 프로그램은 Raspberry Pi 등의 Embedeed Device를 활용하여 시각장애인이 혼자서도 이미지를 촬영하여 TTS로 설명을 들을 수 있고, 이를 적정기술로 활용해 경제, 사회적으로 약자인 시각장애인 뿐만이 아닌 오지, 즉 제3세계에도 보급이 가능하다. 또한 청소년들이 장비 조립방법, 머신러닝 이론 등을 배울 수 있도록 소프트웨어 교육과도 연계시킬 수 있다.

 

(2016 제 33회 한국정보올림피아드 공모부문 은상 수상작)


[ 경력 사항 ]


수락중학교 2학년, 강 태 원 (Taewon Kang) – itsckr.tistory.com

8살 때 우연히 한 형이 학교홈페이지에 올려놓은 자바스크립트 소스코드를 보고 흥미를 느껴 독학으로 C언어를 깨쳤고, 


10살 때부터는 쉽고 재미있게 IT를 가르쳐 주는 블로그 ‘IT스쿨’을 열어 내가 터득한 IT지식들을 다른 사람들과 공유하였다. 


나는 호기심이 많고 재미있는 아이디어가 많다. 그래서 나의 아이디어를 바로 구현할 수 있는 코딩의 매력에 점점 빠졌고, 사람과 자연을 생각하는 소프트웨어 아키텍트가 되고 싶다는 꿈을 갖게 되었다.


영재교육원의 교육을 꾸준히 받음과 동시에 여러 SW문제를 해결하기 위해 MOOC를 통해서 공부하였고, 여러 AI 관련된 프로그램을 개발하였다. 그리고 현재 Maker로써도 활동하고 있다. 나는 모르는 것을 두려워하지 않고 항상 새로운 것에 도전하며, 사회적 가치를 고민하고 행동하고 있다. 또한, 사람을 위한 기술이 아름답다는 가치관을 가지고 있으며 사회의 불평등, 불편함 해소에 나의 재능을 발휘하여 사회의 문제들을 해결하도록 시도 중이다.


개발프로그램


시각장애인을 위한 이미지 설명 프로그램 (2016, Python)

SendCloud (2013, C++ Builder)

E/V 군관리 시스템 (2014, C++ Builder) / 제31회 한국정보올림피아드 공모부문 금상 수상

New SendCloud (2014, C#)

SimpleMemo (2015, C/C++)

Survlient (2014, PHP/HTML)

움직이는 광고판(2014/2015, C/C++)

LED 블록 가방 (2015, C/C++)

The Diagram (2015, C#)

SendCloud 3.0 (2015, C#/C/C++/PHP/HTML)

The Doodleing (2015, HTML/PHP/MySQL)

아두이노를 통한 철도 ATO/CBTC 시스템 구현 (2015, C#)


[ 제작 배경 ]


사회의 불평등, 불편함 해소에 내가 가지고 있는 재능을 발휘하여 문제를 해결하고 싶다는 생각을 가지고 주변을 유심히 살펴보았다. 어느 날 지하철역에서 시각장애인의 도움요청에 응했고 시각장애인들의 열약하고 불편한 상황을 알게 되었다. 그래서 그러한 문제를 해결해 보려고 프로그램을 만들겠다는 생각을 하였다.

 

또, 우리 학교에는 시각장애인 선생님이 계신다. 옆에 항상 보조 선생님이 계시는데 자주 보조 선생님 이 바뀌고 구인광고를 내는 것을 알게 되었다. 시각장애인은 능력이 있어도 취업이 그리 쉽지 않겠다는 생각을 하였다. 보조선생님 도움 없이 혼자서 교사직을 수행해 낼 수 있는 방법을 찾아내기 위해 직접 인터뷰를 해 보았다.

 

처음 목표는 시각장애인이 길을 걸을 때 음성으로 내비게이션 역할을 해 주는 아이디어였다. 그래서 그런 애플리케이션이 필요한지 여쭈어 보았는데, 이미 그런 프로그램은 사용하고 있는 중이라고 답했다. 시각장애인 선생님은 영어 수업 때 이미지를 볼 수 없기 때문에 그 이미지가 어떤 것인지 문장으로 설명해 주는 프로그램이 필요하다고 하셨다. 그렇다면 수업을 할 때 보조선생님이 없어도 가능하다고 하였다. 


[ 프로그램 소개 ]


이 소프트웨어는 시각장애인 및 시각장애인 교사(보조 교사 없이 혼자서 교사직이 가능하도록)에게 유용한, ‘ImageCNN/RNN 머신러닝 알고리즘을 이용해 문장으로 설명해 주는 소프트웨어이다.

 

머신러닝 결과의 정확성을 높이기 위해 오픈소스 Dataset, Tensorflow를 활용한다.

 

300번 가량의 머신러닝 Test (실사 환경)를 토대로, 내 머신러닝 알고리즘의 정확도를 검증할 수 있었고, 내가 만든 Software를 라즈베리 파이에 32Bit Processor에 64Bit 기반으로 설치하여 이를 일상생활, 수업에 활용할 수 있도록 안경, 지팡이에 장착이 가능한 Embedeed 환경으로 개발하였다. 하드웨어에서는 버튼을 누르면 이미지를 촬영해 해당 이미지를 TTS로 변환해 설명해 준다.



위 이미지는 내가 촬영한 이미지 300개 (실제 라즈베리 파이에서 분석한 결과와 매우 흡사함) 를 분석한 결과로 완벽하게 판독한 이미지, 약간의 에러가 있는 이미지, 다소 잘못 판단한 이미지, 완전히 잘못 판단한 이미지 4개 영역으로 분류하였다. 주로 시각장애인이 보는 환경에서는 (길거리 등에 사람이 있는 환경) 온전한 역할을 수행하기에는 알맞으며, 이런 에러가 있는 이미지들도 알고리즘이 실행하면 실행할수록 계속 학습하도록 체계가 구축되어 있기 때문에, 잘못 판단한 이미지들도 지속적인 학습을 통해 수정되어 나갈 것이다. 향후 이러한 학습 데이터로 미래 사회를 Machine Learning으로 변화시킬 수 있고, 더 정확한 설명 데이터를 제공할 수 있다.


[ 작품 시연 ]



TTS가 들리지 않음 (라즈베리파이에 스피커 미장착)


[ 개발일지 ]


소프트웨어를 개발하면서 항상 내 프로젝트 개발 내용에 대해 개발일지에 기록한다. 이를 통하여 내 프로그램의 에러도 손쉽게 수정할 수 있고, 다른 사람이 내 개발일지를 보았을때 쉽게 프로그램 이해가 가능하다. 현재 [ 243 ]장이다.


최근 Ubuntu로 OpenCV 영상 처리를 하면서 느낀 점이, 설치해야 할 패키지가 너무 많다는 점이였다.



▲ 현재 작업하고 있는 환경


이에, OpenCV를 쉽게 설치할 수 있는 스크립트를 공유하려고 한다.


version="$(wget -q -O - http://sourceforge.net/projects/opencvlibrary/files/opencv-unix | egrep -m1 -o '\"[0-9](\.[0-9]+)+' | cut -c2-)"
echo "OpenCV" $version "설치"
mkdir OpenCV
cd OpenCV
echo "ffmpeg, x264 지우고 다시 설치"
sudo apt-get -qq remove ffmpeg x264 libx264-dev
echo "Dependenices 설치"
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils cmake qt5-default checkinstall
echo "OpenCV" $version "다운로드"
wget -O OpenCV-$version.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/opencv-"$version".zip/download
echo "OpenCV" $version "설치"
unzip OpenCV-$version.zip
cd opencv-$version
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j2
sudo checkinstall
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
echo "OpenCV가 설치되었습니다. 버전 : " $version

(소스코드 출처 : http://ledgku.tistory.com/59 소스코드 일부 변형)


쉘 스크립트를 실행하기 위해서는 쉘코드에 실행 권한을 부여해야 한다. 우선 위 소스코드를 파일로 만들어 저장한 후 (파일명.sh)


chmod +x 파일명.sh 를 친다. 


이후, ./파일명.sh 명령어로 쉘코드를 실행하면 된다.


나같은 경우 VM에 1Core, 1GB RAM, Ubuntu 사양에 설치 시 20~30분 정도 걸렸다. 


그냥 스크립트 실행하고 자전거 타고 나갔다 오면 설치가 저절로 다 되어 있을 것이다. 



9월 23일 동아리 시간에는 컴퓨터와 수학이 잘 조화될 수 있는 주제인 '암호' 를 선택하여 수업을 준비하였다. 많이 어려울 것 같은 문제도 서로 협력하여 풀도록 하니 쉽게 해결해 나갈 수 있었다.



컴퓨터 동아리 활동지 중 일부



규칙은 간단하게 잘 정의되었지만, 답은 아주 많은 문제를 한 번 풀어보도록 했다. (답이 무수히 많은 것이 아닌 이를 풀어내는 해결 방법이 아주 많다는 뜻이다.)



규칙은 간단하게 잘 정의되었지만, 답은 아주 많은 문제



이후 컴퓨터실에서의 실습



유니티를 이용한 게임을 플레이하는 애들도 있었고,



직접 자기가 만든 프로젝트을 가져와 테스트해 보는 아이들도 있었다.


새로운 것을 중학교 1학년에게 경험해 줄 수 있도록 도와주는 것은 쉬운 일이 아니다. 아직 초등학생 기(...) 가 많이 남아 있어서이다. 아이들에게 새로운 것들을 계속 가르쳐 주고 있는데 처음에는 두려워했던 아이들도 지금은 거침없이 받아들이고 즐기는 것 같아 흐뭇하고, 점점 발전하는 것 같아 뿌듯하다.

(오늘 배운 내용)


 

[문제1] 마우스로 점_3을 끌면 점 7이 자취를 남기며 곡선이 사라진다. 이 곡선의 식이  임을 설명하여라. , 원점을 점 2의 위치로 본다. 1과 점 2의 거리는 9이다. 1과 점 2는 고정점이고, 3을 움직이면 점 1과 점 3을 지름으로 하는 원이 만들어지고, 6은 그 원이 점 2를 지나는 수직선에 만나는 점이다. 따라서, 3을 마우스로 움직이면 점 6의 위치도 수직으로 위 아래로 변한다. 또한 점 7은 점 3의 엑스좌표와 점 6의 와이좌표를 각각 갖는 점이다.

 

[문제2] 슈뢰딩거의 원리는 n번 거북이가 위 또는 아래로 움직이며 이동을 하며 도수분포표를 그릴 때, 그 막대그래프의 99.7%가 원점을 중심으로 위 아래 플러스 마이너스  이라는 것이다. 이것을 이용해 동전을 1000 억번 (아주 많이) 던지면 앞면이 나온 횟수는 거의 2분의 1임을 밝혀라. n번 던질 때 n=10과 같이 n의 값이 작으면 앞면이 나온 횟수의 비가 2분의 1이 아닐 수 있다. 그러나 큰수의 n을 던지며 앞면이 나온 횟수의 비가 99.7%의 확률로 2분의 1이라는 것이다. 인터넷에서 큰 수의 법칙을 찾는다.

 

[문제2 힌트]

 의 값은 아주 커지면 0이다.

 

슈뢰딩거의 루트 n을 알려면 큰수의 법칙을 알아야 한다. (인터넷 검색할 것)

근데 한국에서는 단순히 외우는 교육만 하기 때문에 문제가 있음.

인터넷 결과는 내용이 매우 어려울 수 있으니 주의할 것.

원리를 알려주는 것이 아닌 단순 답 구하는 식임.

 

무리함수의 그래프를 그릴 줄 알아야 한다.

 의 그래프는

(출처 : catalog.flatworldknowledge.com, 문제가 될 시 삭제)


산출물을 정해야 함.

교과학습기간 (중간고사) 까지는 공부를 하고, 이후 산출물을 한다.

 

기억해 둘 것. 중학생은 앱같은거 만들지 않는다. PC 소프트웨어를 개발한다.

(오늘 배운 내용)


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


도수분포준비

반복 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

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

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

 

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



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

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

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

 

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

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

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

복수전공을 할 것

 

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


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

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

 

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

 

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

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