ITS's Dev Story

<오늘 배운 내용 : 패턴 일반화와 패턴 코딩>

인공지능, 머신러닝이 뜬다고 하는데 사실 그건 80년대에도 있었음.

왜 요새 뜨는가? - 이론은 다 있는데 기계의 성능이 느려서, 데이터 저장 공간이 굉장히 많아야 함.

 

핵심은 프로그램을 길게 짜는 것이 중요한 게 아닌 프로그램이 지가 스스로 알아서 짜게 만드는게 중요.

 

식물학자인 린덴마이어가 대표적. 간단한 세포분열 법칙을 가지고 인공지능으로 만듬.

 

기존 컵라면 먹으면서 하는 코딩은 이래라 저래라 하며 난리치는 것이지만 지금은 커피 마시면서 컴퓨터가 알아서 하게 하는 코딩을 해야 함. 키보드를 가장 적게 쓰는 아이가 이김.

 

지금처럼 학교에서 코딩 가르친다고 난리친게 옛날에도 있었음. (초등때 GW-Basic)

 

컵라면=========

쌓기나무준비

X=’(n=n+1)s[(n)u]’

do (n=-1) 5X

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

 

도미노 효과 5X = XXXXX => do (n=-1) XXXXX (세포분열)

 

5줄 이하는 코딩이고, 5줄 이상은 프로그래밍이다.

 

Iteration Programming ==========

X=’(n=n+1)S[(n)u]’

do (n=-1) 5X

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

 

Repeat=========================

X=’(n=n+1) s[(n)u]’

n=-1

repeat 5 {do X}

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

 

n=-1 ----> do (n=-1) 5X (이것이 Iteration)

 

 

리컬젼으로 만드는 쌓기나무 실행식

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

쌓기나무준비

n=6

S=’Sss[uY]’

Y=’uY’

do_n s

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

L-System 구현

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

쌓기나무준비

n=6

Y='uY'

='s[Y]'

do_n

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


TREE 구조

 

n=0

n=1 s[Y]

n=2 s[Y]s[uY]

n=3 s[Y]s[uY]s[uuY]

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

인공지능, 머신러닝 하는 애들이 실수하는 게 패턴을 모르는 것이다.

버클리 대학 논문 참고

 

- 리컬젼의 예



 

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

리컬젼 예제

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

쌓기나무준비

n=4

X='s[(n)u]X'

do_n sXs

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

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

리컬젼 예제2

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

쌓기나무준비

n=3

X='s[]'

='u'

do_n s (n) Xs

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

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

이차함수 그래프

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

X='(k=k-5)(10##k)m'

='(k=k-5)(10##k) m '

do (k=35) m 7 X

do_6

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

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

실전문제 3(중요)

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

쌓기나무준비

n=3

='(k=k+1) (k)u '

X='S[(k=1) ] X'

do_n S [(k=1)][RRX ]X

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

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

리컬젼을 하고 싶으면 머리로 이야기를 만들어 내라.

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

연습 1

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

ttblock

n=5

X='Xs[Y]'

Y='uY'

do_n s[3d][X]R[X]R[X]R[X](n)u

ttnet

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


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

* 611일 과제 : 거북수학 문제 만들어 오기 (, CODE5줄까지)

* 알아야 하는 수학 개념 : 이차함수, 제곱수, 삼각함수, 삼각뿔수, 시그마 기호 ()

 

설악산 대청봉에 가면 한쪽 줄기만 나와 있음. (그때그때 확률적으로 다르다는 설명)

전체교육 - 


연사 : 서울대학교 국어교육과 명예교수 우 한 용


글쓰기를 어떻게 (시작)할 것인가

 

글쓰기에 대한 흥미

$ 글쓰기를 좋아하는 사람

* 그런 사람이 정말 있을까?

# 글쓰기를 싫어하는 사람

* 그런 사람은 글쓰기만 싫어할까?

& 별 관심이 없는 사람

* 그대는 무엇에 관심이 있는가?

@ 자신을 글쓰기를 좋아하는 사람으로 만들라

 

2. 글쓰기가 왜 해볼만한가?

$ 삶의 과정에 관심을 불러온다.

* 관심은 대상에 대한 애정이다.

* 정서적 공감 , , 나무와...

* 호기심의 촉발 주변에서 일어나는 일들에 대한 호기심

* 나와 연관된 일들에 대한 비판의식

@ 내 삶에 대한 관심이 최고의 관심이다.

 

$ 글쓰기는 꿈을 꾸게 한다.

* 꿈은 미래에 대한 설계다.

* 꿈은 상상력의 구체적 작동상이다.

* 꿈을 꾼다는 현실에 대한 비판을 포함한다.

@ 나 스스로 꿈꿀 줄 아는 사람으로 길러가라.

 

$ 글쓰기는 삶의 기술이다.

* 잘 살기 위해서는 자기 삶에 대한 성찰이 있어야 하는데, 이는 글쓰기로 표현된다.

* 메모하고, 글로 완성하라.

@ 자신의 삶을 기록하고 성찰함으로써 성장을 도모하라.

 

$ 글쓰기는 모든 학문(공부) 의 기반이다.

* 공부한 결과는 모두 글로 발표된다.

* 남의 글을 읽어서 지식을 얻고, 나의 글을 통해 지식을 창출한다.

* 공부하는데 필요한 글의 종류 관찰기록, 보고서, 논문, 저서 등

@ 평생 공부하고 싶은 사람은 글쓰기를 수행하라.

 

3. 글쓰기를 위해 무엇을 어떻게 해야 하는가?

 

$ 무엇을 쓸 것인가

* 쓸 거리가 너무 많다.

* 쓸 거리가 아무것도 없다.

** 선생님이 쓰라는 걸 쓴다.

@ 쓸 거리를 찾아 메모지에 정리해 두라.

 

$ 글쓰기를 어떻게 시작할 것인가

* 시작의 두 가지 뜻 글쓰기 전과정의 시작, 지금 쓰는 글의 시작

* 문제를 제시하고 시작하라.

* 고민을, 즐거움을 털어놓는 데서 시작하라.

@ 결론을 미리 예정하고 쓸 수도 있고, 결론을 뒤로 미룰 수도 있다.

 

$ 구성을 어떻게 할 것인가

# ‘처음 중간 의 고정관념을 벗어나라. 곤충, insect ...

* [과제, 일반진술-구체적 사례, 일반진술-구체적 사례, 결론]의 형식을 고려하라.

P GD GD ... C

# ‘기승전결은 한시의 구성법일 뿐이다.

@ 글쓰기의 구성은 사고과정을 따라가면 충분하다.

 

$ 어떻게 써나갈 것인가

* 완결을 향하여 달려가라. 멈칫대지 말아라.

* 다시 읽으면서 문장, 단어, 개념 등을 살펴라.

* 어떤 글인지 글의 장르(종류)를 생각하라.

* 자신이 최고의 독자(필자) 라고 생각하고 써나가라

@ “글은 손으로 쓴다.”는 점을 명심하라.

 

4. 글쓰기를 위한 소소한 제안

아이디어 노트를 준비해라. 스마트폰 이용.

이거 글감이다싶으면 메모해 두어라. 가끔 신문도 보도록.

작문노트를 만들라, 컴퓨터 및 블로그 이용

매일 한 가지 이상 기록해 둔다고 생각하라.

작문통신을 활용하라 작문은 소통이다. SNS를 이용하는 방법

 

5. 글쓰기의 윤리

맘에 드는 문장을 인용할 때는 반드시 출처를 밝히도록 한다.

남한테, 친구한테 아이디어를 얻었다면 그 아이디어를 제공한 사람을 밝힌다.

책을 읽을 때 누가 쓴, 어느 출판사, 몇 년 판인지 적어 둔다.

## 글도둑은 처벌 받는다. 남의 글을 지켜 주어야 한다.

 


분과교육 - 


오늘 배운 내용 이차함수 / 리컬젼을 이용한 창의 거북수학


소스코드==================


쌓기나무준비                    @ 1 + 2 + ..+  n 의 값을 n단계 삼각수라 함 @ 

ㄱ                                 @ 1 + 3 + 5 + 7 + 9  는 5의 제곱인 25 이다 @ 

n  =   5 

뿔 = ' u 뿔 '                     @ 뿔이 자라서 쌓기나무 u 만들며 위로 이동 @ 

잎 = ' sS 잎 '                   @ 잎은 자라나 s S 만들며 앞으로 계속 이동 @ 

눈 = ' S [뿔] [R잎] e 눈 '   @ 보이지 않는 눈은 자라나 S를 만들고 위에 @ 

                                    @ [뿔] 오른쪽에 [잎] 만들며 e 앞으로 이동 @ 

do_n   눈                        @ 맨 처음 (0단계)눈이 있었고, 이 것이 성장 @ 

move nets,-26,-14; head nets,-38,-66;      @ 마우스 오른쪽 더블 클릭 @ 

ㄴ 

mouse  4000, 1000            @ Shift+ 마우스 오른쪽 끌기로 4000->1000 @ 

tt -85,66 ; write '다음은 5번째 단계의 그림입니다. 첫째 단계의 모양은 ?' 

tt -83,56 ; write ' 또한 10번째 단계의 그림에 있는 정육면체의 갯수는 ? ' 

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



 

컴퓨터 게임 만드는 사람 (코드 짜는 사람) 컵라면 먹으면서 밤을 샌다.

코딩 하는 사람 샌드위치, 커피 먹고 키보드를 안 쓴다.

인공지능, 머신러닝 뜬다고 컴퓨터공학 전공하는 사람들이 있는데 그러면 안 됨.

경영학과나 바이오공학과 갈 것.

 

누가 키보드를 가장 적게 써서 멋있는 것을 만드는가?

 

린덴마이어 System (L System) -

형식문법의 일종으로서, 식물의 성장 프로세스를 기초로 한 다양한 자연물의 구조를 기술하거나 표현을 가능케 하는 알고리즘이다. 자연물 이외에도 망델브로 집합 반복함수계(Iterated Function System; IFS)와 같이 이른바 자기상사 도형이나 프랙탈 도형을 생성할 경우에도 사용된다. L-system1968, 네덜란드 위트레흐트 대학교 대학의 이론생물학자이자 식물학자였던 아리스티드 린덴마이어(Aristid Lindenmayer)에 의해 제창되어 발전되었다. (위키백과 인용)

 

ex) 재귀 처리

‘A’ = ABA

‘B’ = BAB

 

이 시스템은 OpenGL을 이용해서 시각화할 수 있고, 프랙탈 등 수학적인 문제도 구현 가능

오늘 동아리 시간에는 아두이노를 이용한 시리얼 통신, CDS 광센서 조작 및 마인크래프트를 통한 레드스톤 경진대회를 열었다.

▲ 전 활동지를 평가한 후, 아두이노를 다룰 줄 아는 학생들을 모둠에 1명씩 배치하여 원활한 수업이 가능하도록 하였다.

▲ 활동지 문제 해결 모습

▲ 안 풀리는 문제가 있어 아이들끼리 나와 문제에 대해 의논하고 있다.

▲ 1학년 아이가 응용한 작품. 주위 밝기가 어두워지면 부저가 울린다.

▲ 마인크래프트 레드스톤 회로 자작 경진대회. AND, OR같은 어려운 논리 게이트 회로들을 쉽게 접할 수 있고, 창의적 문제해결력을 기르기 위해 기획한 대회이다. 우선 경진대회를 하기 전에 소개 동영상을 시청하고 있다.

▲ 이와 같이 20 X 20 공간 내에서 레드스톤 및 각종 블럭을 이용한 창의적인 작품을 만들고, 투표와 평가로 우수작품 3작품을 뽑는 경진대회이다. (수상자 집계는 시간이 없어 하지 못했다.)


▲ 레드스톤 경진대회를 안 하는 두 학생은 지인이 제공해 준 Makey Makey를 가지고 놀았다.

내년에는 영재학교 조기입학으로 인해 이 동아리를 어쩔 수 없이 운영하지 못하게 된다. (1달에 1번정도는 관리가 가능하다.) 이 동아리가 더욱 더 발전하여 많은 친구들과 후배들이 이곳에서 꿈을 키워갈 수 있도록 매뉴얼 제작도 하고 있다. 그래도 관심을 가지고 열심히 하는 아이들이 있어서 다행이다.