Skip to content

Instantly share code, notes, and snippets.

@ukjin1192
Created February 18, 2017 10:34
Show Gist options
  • Save ukjin1192/d13fc1ec20d974512339442be96dd85b to your computer and use it in GitHub Desktop.
Save ukjin1192/d13fc1ec20d974512339442be96dd85b to your computer and use it in GitHub Desktop.
프로그래밍 교육 위키

프로그래밍을 왜 배워야할까요?

입문 과정은 어떻게 진행되죠?

  • Unplugged Activity : 컴퓨터없이 놀이를 통해 원리를 배운다.
  • Basic Algorithm : 게임 형식으로 미션을 해결하며 기초 알고리즘을 배운다.
  • Product Making : 문제 또는 미션을 해결하기 위해 Pseudo code 로 돌아가는 결과물을 제작한다.
  • Physical Computing : 아두이노, 라즈베리 파이 등의 다양한 H/W 들과 연동되는 결과물을 제작한다.

Unplugged Activity

Basic Algorithm

  • Code Studio
    • Blockly 기술을 사용한다.
    • Block Coding 을 통해 게임과 같은 미션을 해결한다. 반복문, 조건문, 함수/변수 등의 필요성과 사용법을 배운다.
    • 아래 예제들을 살펴보자.
    • Flappy bird
    • Minecraft
  • Made with code
    • Google 에서 여자 아이들을 위해 만든 Hour of code 모음집
    • YETI, EMOJIFY, MUSIC MIXER 가 쓸만하다. (난이도 순)
  • Code Combat
    • 그래픽은 완전히 게임이다. Python 또는 Javascript 을 사용해서 퀘스트를 수행한다.
  • The foos
    • 모든 Platform 에서 사용 가능하다. 특이한 점은 직접 Map editing 을 할 수 있다는 것이다.
  • Lightbot
    • Android 및 iOS 에서 이용가능한 유료 application 인데, 캐릭터에게 움직임에 관한 명령을 하면서 푸는 퍼즐이다.
    • 유사한 서비스로 Cargo Bot 이 있다.
  • Reeborg
    • Python 을 통해서 주어진 미션을 해결한다.
    • Code studio 와 목표는 비슷하지만 Block 이 아닌 실제 Python code 를 사용한다는 점이 다르다.
    • 유사한 프로그램으로 RUR-PLE 이 있다.
  • Kodable
  • Swift Playgrounds
    • iPad 에서만 가능하다.

Product Making

  • Scratch
  • Scratch Extensions
    • 다양한 확장 기능을 체험하고 사용할 수 있다.
  • 엔트리
    • Scratch 와 비슷하며, 한국에서 제작되었다. 현재는 Naver 의 전폭적인 지원을 받으면서 정규 교과과정의 실습도구로 비중있게 다뤄지고 있다.
  • Codly
    • Entry 와 비슷하지만 코딩(알고리즘)으로 문제를 해결하는데 더 집중하고 있다.
  • Coding with Chrome
  • Microsoft Touch Develop

Physical Computing

  • Pico board, LEGO WeDo, Arduino, Raspberry Pi 등의 H/W 들과 연계되는 결과물을 지원한다.
  • Scratch 및 엔트리가 부분적으로 지원하고 있다.
  • Coder for Raspberry Pi
    • Raspberry Pi 에서 Web stuff 를 만들 수 있는 Bootstrap
  • LEGO Boost

직접 Native Application 까지 만들고 싶다면?

  • Block coding 으로 Android application 을 만들 수 있는 툴
  • Make School
    • 유명 App 코드를 Customize 하며 iOS App 을 만들 수 있도록 안내한다. - [예제]
  • Kivy
    • Python 기반의 Natural User Interface Library
    • 최근에는 Android .apk 로 추출가능한 plugin 도 나왔다.

게임 제작툴

  • 특징
    • Drag and drop 으로 프로그래밍할 수 있는 builder 들이 있다.
    • 다양한 platform 에 export 가능하다.
    • Builder 별로 만들 수 있는 게임의 특징이 있다.
    • Multiplay 기능을 제공하는 곳은 아직 없다.
  • 난이도 하
  • 난이도 중
  • 난이도 상

Computational thinking

  • 과정 [참고 1] [참고 2]
    • 현실 세계에서 문제점을 찾는다.
    • 문제를 simplify 하면서 해결할 수 있는 model 을 생각해본다.
    • Computational model 을 세우고, experimental testbed 를 세팅한다.
    • Testbed 에서 성공하면 현실 세계에 적용해본다.
  • Computational Thinking for Educators
  • 도구: Starlogo Nova

Design thinking

Web Stack

  • General Assembly DASH
    • General Assembly 에서 만든 Web starter project
    • 도움말과 튜토리얼이 적힌 Slide, 실습할 수 있는 Editor, 결과를 확인할 수 있는 창이 제공된다.
    • 주제별로 목적이 있고, 소주제에서 실습하며 skill 들을 unlock 할 수 있다.
  • CSS layout

Etc.

  • CS Field Guide
    • CS 에서 다루는 주제들을 예시와 함께 쉽게 설명해준다.
  • Warrior JS
    • Terminal 배경으로 Javascript 를 학습한다.
  • Coding bat
    • Input 및 Output 예시가 있는 문제와 Test case 를 제공한다.
    • Python, Java
  • Cloud 9
    • Browser 기반의 개발환경을 제공하는 툴
    • 실습형 교육을 할 때, OS 에 상관없이 쉽게 세팅할 수 있는 것이 큰 장점이다.
    • 협업이나 공유도 URL 기반으로 할 수 있다.
  • Code visualizer
    • Python, Java, JavaScript, TypeScript, Ruby, C, C++ 의 Code 를 실시간으로 시각화해준다.
  • Careers with STEM
    • 미래 유망한 다양한 직업들을 소개하고 인터뷰
  • CS Field Guide
  • Google CS First
    • 다양한 CS+X (컴퓨터과학과 다른 분야의 융합)를 소개와 커리큘럼이 있다.
  • Code.org Widget
    • Widget 형태로 기초 개념들을 배울 수 있다.
    • 현재 지원하는 목록으로는 Text compression, Pixelation, Cryptography, Internet Simulator 가 있다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment