학습목표 프로그래밍언어의개요에대해살펴본다. 교육용프로그래밍언어인로고의특징에대해살펴본다. MSWLogo 로고인터프리터의설치방법에대해살펴본다. 2012. 5. 박남제 namjepark@jejunu.ac.kr
< 프로그래밍언어의분류 > 저급언어 : 기계어, 어셈블리어 고급언어 : C, C++, Java, 로고등 < 학교교육에적합한 EPL의조건 > 이해하기쉽고습득시간이짧은것대화를기반으로상호작용이가능할것기본적인계산원리습득이가능한것일상적으로사용하는소프트웨어와결부시킬수있는객체기반형태네트워크를체험할수있는것알고리즘교육및컴퓨터과학교육에기본목적을두고있는것초보자들이친숙할수있도록텍스트아닌비주얼코딩방법채택애니메이션, 텍스트, 사운드, 비디오등다양한멀티미디어지원가능한것 2
< 프로그래밍교육의최근동향 > - 프로그래밍교육을위한교수법및교구도입에대해다양한연구가진행 - 교수ㆍ학습모형및동기모형등다양한교수법이개발 - Unplugged, Blended 교육등새로운형태의컴퓨터과학교육모델등장 - Mindstorms, Roborobo, 축구로봇등교육용로봇을활용한프로그래밍교육연구가활성화 - Alice, Logo, queak, Scratch 등교육용프로그래밍언어를활용한교육연구가활성화 3
< 로고인터프리터 > 원시프로그램인터프리터실행 입력 인터프리터설명주소 MSWLogo LXlogo 소스가오픈, 윈도우환경에서사용이가능 작은용량의프로그램으로, 어린이들교육용에초점을맞춰개 발 http://www.softronix.com/logo.ht ml http://lxlogo.sourceforge.net/ FMSLogo GUI 환경을제공하므로쉽게사용할수있으며용량이작다. http://www.fmslogo.org/ Berkeley Logo 윈도우, 유닉스 / 리눅스, MacOS 환경에서사용이가능하다. 4 http://www.cs.berkeley.edu/~bh/ logo.html
< 로고의특징 > - 어린이들이배우기쉬움 -수학, 과학적논리사고신장 -문제해결능력신장 - 대화식프로그래밍 생각을키우는 ~~, 머리가좋아지는 ~~ Logo 프로그래밍.. 5
<MSWLogo 설치및실행 > http://www.softronix.com/logo.html 6
< What is Logo? > Logo is both an educational Philosophy and a programming language based on Constructivism Constructivism views knowledge as being created by learners in their own minds through interaction with other people and the world around them. This theory is most closely associated with Jean Piaget, the Swiss psychologist, who spent decades studying and documenting the learning processes of young children. 7
< A Brief History of Logo > Seymour Papert and Marvin Minsky co-founded MIT s Artificial Intelligence Lab in mid 60s Papert and others developed the Logo programming language in 1967 In 1980 Papert published Mindstorms Logo Reference Movie - MSWLogo example - Seymour Papert 1983 8
< Logo Basics > Turtle(s) moving in a world controlled by the user Turtle(s) act on and react to the World controlled by the User The only data structure is a list (LISP heritage) Commands are simple and intuitive low threshold and NO ceiling 9
< Logo Today > STARLogo Massively Parallel Developed by Mitchel Resnick at MIT UCBLogo Unix, msdos, Mac Brian Harvey at UC at Berkeley Computer Science Logo Style MSWLogo Windows (GUI) version of UCBLogo George Mills at Softronics, INC Has all the power of any windows programming Language Great tool for exploring Advanced Computer Topics 10
< MSWLogo Primer > 11
< Turtle commands > To move Forward (# of steps) FD Back (# of steps) BK Home (back to the Middle) To Turn Right (# of Degrees) RT Left (# of Degrees) LT Pen Commands PenUp PU PenDown PD SetPenColor [Red, Green, Blue] O-255 12
< MSWLogo Commands > Edit <procedure> Creates a procedure (program) Edall Edit all procedures in memory ClearScreen CS Repeat # [stuff to do] :<Identifier> Variable (place to store stuff.. Memory) Mathematics *, +,, / (4 +3)/12*3 6 13
< Draw a square > Lets make the turtle draw a square First think how you would draw a square. Then tell the turtle to do it FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 Repeat 4 [FD 100 RT 90] 14
< Create p Program for Drawing a square > Invoke the editor by typing edall Every procedure To <name> <maybe some stuff> <stuff to do> End Remember variables can be used (:X) 15
< The square Program > to square :size Repeat 4 [fd :size rt 90] end Type run square # 16
< Something Cool > What if the turtle took a step and turned slightly and drew another Square? And then did this a bunch of times?? to cool :size Repeat 100 [square :size fd 1 rt 10] end 17
< Drawing a fern> A fern is a Fractal Structure is repeated Every leaf is a fern Structure is recursive to fern :size if :size < 4 [stop] fd :size / 25 lt 90 fern :size *.3 rt 90 rt 90 fern :size *.3 lt 90 fern :size *.85 bk :size / 25 end [A Cool Fractal Fern] 18
< Logo Resources> MSWLogo http://www.softronix.com/logo.html Logo Foundation http://el.www.media.mit.edu/groups/logo foundation/ Logo Art Gallery http://www.geocities.com/collegepark/lab/2276/ Beginnings of My Logo workshop http://littleblack.umfk.maine.edu http://el.media.mit.edu/logo foundation/index.html http://www.cs.berkeley.edu/~bh/ http://en.wikipedia.org/wiki/logo_programming_language 19
http://infosec.jejunu.ac.kr 20