Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Teaching Teenagers to Coding

Teaching Teenagers to Coding

From Scratch to Python

Renyuan Lyu

May 31, 2014
Tweet

More Decks by Renyuan Lyu

Other Decks in Education

Transcript

  1. 教 青少年 寫程式 從 Scratch 2.0 到 Python 3.3 Renyuan

    Lyu 呂仁園 長庚大學,資訊系 1 http://scratch.mit.edu/users/ryTemp2014_001/ https://dl.dropboxusercontent.com/u/33089565/ry2014_thinkcspy/html /_ryTest01.html
  2. 5

  3. 10

  4. 16

  5. Python 17 • 如何像電腦科學家一樣的思考 – 用 Python 3 來學習 –

    https://dl.dropboxusercontent.com/u/33089565/r y2014_thinkcspy/html/index.html
  6. CPU, RAM, HardDisk • Computer Components – https://www.youtube.com/watch?v=rK3YxmkarIg – In

    this section you learn a little about the architecture of a computer and some general terms to use when talking about computer programs. This includes: • CPU - Central Processing Unit • RAM - Random Access Memory • Hard Drive - A Persistent Storage Device 18
  7. Hello, little turtles! 嗨,小烏龜! • https://dl.dropboxusercontent.com/u/330895 65/ry2014_thinkcspy/html/hello_little_turtles .html 20 from

    turtle import * def main(): mode("logo") speed(10) shape("arrow") pensize(3) circle(66) rt(180) circle(66) pu() lt(90) fd(33) rt(90) ….
  8. 補充 01 • What is a Computer? • What is

    a Programming Language? • Hello, world ! – 大多數程式語言的第一支程式 21
  9. What is a Computer? • A Computer (電腦,計算機) is composed

    of – Central Processing Unit (CPU), (中央處理器) – Random Access Memory (RAM), (隨機存取 記憶體) – Input/Output (I/O) devices. (輸入輸出設備) • A screen (螢幕) is an output device. • A mouse (滑鼠) and a keyboard (鍵盤) are input devices. • A hard drive (硬碟) is an I/O device. keyboard 22
  10. What is a Programming Language (程式語言)? • 語言是人類互相溝通的工具。 • 華語、英語、日語、西班牙語、、、、

    – 自然語言數量 6,000 以上 • 使用人口數: – 華語 > 西班牙語 > 英語 > 日語、、、 • 影響力: – 英語 > { 華語、日語、西班牙語、、、} • 人類與電腦溝通,要透過程式語言 • Assembly, C, C++, Java, Python, Scratch, … – 程式語言數量甚至多過自然語言 • 使用人口數: – {C, C++ , Java }> Python > Scratch …. • 影響力: – {C, C++ , Java }> Python > …. • 容易學習的程度: – Scratch > Python > {C, C++, Java,…} > Assembly 23
  11. Hello, world ! 大多數程式語言的第一支程式 #include <stdio.h> main() { printf("hello, world");

    } public class HelloWorld { public static void main(String [] args) { System.out.println("Hello world!"); } } print(‘Hello, world!’) PRINT "Hello, world!" BASIC C Python 3 Scratch Java 印= print 印 (‘Hello, world !’) 24 JavaScript alert('Hello, world!'); Scratch 中文化 Python 3 中文化 C++ #include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; }
  12. • Assembly language — x86 Windows ; This program displays

    "Hello, World!" in a windows messagebox and then quits. ; ; Written by Stewart Moss - May 2006 ; ; Assemble using TASM 5.0 and TLINK32 ; ; The output EXE is standard 4096 bytes long. ; It is possible to produce really small windows PE exe files, but that ; is outside of the scope of this demo. .486p .model flat,STDCALL include win32.inc extrn MessageBoxA:PROC extrn ExitProcess:PROC .data HelloWorld db "Hello, world!",0 msgTitle db "Hello world program",0 .code Start: push MB_ICONQUESTION + MB_APPLMODAL + MB_OK push offset msgTitle push offset HelloWorld push 0 call MessageBoxA push 0 call ExitProcess ends end Start 25 蠻可怕的吧! 怪不得嚇跑一堆人。
  13. 補充 02 • A hands-on introduction to Python for beginning

    programmers • http://www.pyvideo.org/video/1850/a-hands-on- introduction-to-python-for-beginning-p • http://www.pyvideo.org/video/2559/hands-on-intro-to- python-for-beginning-programmer • Introduction to Python with Jessica McKellar • https://www.youtube.com/watch?v=sAU2l5MKCbI • http://vplayer.oreilly.com/?chapter=http%3A%2F%2Fatom.o reilly.com%2Fatom%2Foreilly%2Fvideos%2F2005177&video _product=urn%3Ax- domain%3Aoreilly.com%3Aproduct%3A9781491902141.VID EO#embedded_player 26
  14. 28

  15. Python 程式範例 31 • 列出 99 乘法表 • 列出 100

    以內的質數 • 小烏龜 • 求二元一次方程式的解 • 井字棋, Tic-Tac-Toe https://dl.dropboxusercontent.com/u/330895 65/ry2014_thinkcspy/html/_ryTest01.html