育儿论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 303|回复: 0

Scratch 和 Kitten 这两款图形化的少儿编程工具

[复制链接]

489

主题

849

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2022-7-25
发表于 2024-1-9 22:05 | 显示全部楼层 |阅读模式
  我是一个程序员,也是一个父亲。工作之余我会经常和儿子聊他们小学信息技术课学习的 Scratch 和 Kitten 这两款图形化的少儿编程工具。
- ~% Y9 `( `; x2 a1 M! w! m1 S6 M9 Z1 `5 W9 \* R+ \6 f
  我儿子有一次指着书房里显示器上显示的 Visual Studio Code 问我,“为什么我们上课用的开发界面,和爸爸你每天工作用的样子不一样?”
; b. h9 O' G, G" N8 }6 k2 j
% Y( Z& {+ j- a  u. o, E  所以我也在想一个问题,什么时候可以让我儿子,从 Scratch,Kitten 这种少儿图形化编程工具,过渡到 Visual Studio Code 这种更专业的编程工具去?
7 B: @% l; M+ w/ H. ^; m, e8 [5 U5 Z; `: _0 N
  最近火出圈的 ChatGPT,被很多程序员用来作为自己工作中的代码生成辅助工具。我也在思考如何将 ChatGPT 用到少儿编程领域。由于众所周知的原因,ChatGPT 在国内使用有一定的门槛。但我最近了解到另一款基于人工智能的代码生成器,叫做 Amazon CodeWhisperer, 我已经将它用来辅导我儿子学习编程了。. a9 K, h+ v6 E# x$ N

- @/ v  R3 v& F' U  我和儿子用的开发工具是 Visual Studio Code,我教他在里面写一些最基础的 Python 和 Node.js 代码。5 p2 n& l9 e# q9 ?
  I- k; V  m) {" Y. X' e% F3 @  A
  Amazon CodeWhisperer, 属于 AWS Toolkit 的一部分,在 Visual Studio Code 打开 Extension Marketplace 面板,通过搜索关键字 AWS tool 即可安装。: \! C# ^+ q$ m, a& v8 s
& `- v( g: j2 u7 h- x
  安装完毕后,在 Visual Studio Code 左侧多出一个 Developer Tools 的面板,展开 CodeWhisperer 下拉列表,点击 Start,然后选择 Use a personal email to sign up and sign in with AWS Builder ID 即可在 AWS 网站上注册一个帐号并登录:
% z) n6 f7 K5 t7 Y; d
$ }% F" M& G; a  等到我们看到 Developer Tools 面板里,CodeWhisperer 下面显示出 Pause Auto-Suggestions 显示,说明这个基于 AI 的代码生成器已经成功启用了。
6 w+ s+ ]) u/ T: [, O9 r% r$ f
. n5 \$ h4 q# w  https://www.infoq.cn/article/tE4JARIoKzaSVav57McG
. n5 b$ I: M; M" b* `7 y
5 |" @& r, B/ R  https://www.infoq.cn/article/TprcKvXyB5fsKgC4SaLx' K- L) s+ u4 V% I

, c8 t- B! `8 C" K" V  https://www.infoq.cn/article/B0JNSlJPFxY5eebdIOZE$ ~& G( a4 F! J% Y4 W$ {- l; j% C

  y) c# R/ E8 _: I& m- d  https://www.infoq.cn/article/uPxOOxgMPdhVsFGsgUwD- [5 N! `# U4 z; I$ d, k9 V' j6 G+ J
# A3 _  x( k) m  v
  https://www.infoq.cn/article/sEM2KRuq2BAaiPtIGNHx
. _5 f, r! _) @5 N0 q
# s; [$ k% n7 A" i: f  https://www.infoq.cn/article/jE2rzViqAgM8MJYAYWHV
( V# p; \* h, N$ U
: j1 k' }; \2 d8 \" i* S  https://www.infoq.cn/article/W5RzCzfZ6imJQrCk2lW9) L; j4 z! c9 m( e, x* f0 G! y

" ]8 g, h( b$ ?: o  https://www.infoq.cn/article/QHhWqeXmAQYQahEFMN9j
( S: y# d; Y$ `4 M+ ?0 M& F% ^* v$ e
9 U  W" U* W/ E( @( H  https://www.infoq.cn/article/Z5kqO0J3Yq7bt3IiUsCE( X4 y/ @1 K, Z0 }  X; Z7 {& b) ?8 C
9 I5 ?) e+ F+ F. K( t7 G; c# F
  https://www.infoq.cn/article/8mTxLzES8Hrx7gHH1x3t
. ], N8 B* O( e! ^$ C2 p
& u* L2 I$ {: @4 ]* h  https://www.infoq.cn/article/O6qHtFBMoJUubbIz4MQw
9 ?" i, B0 W; G, Y9 ]  J" R4 H
+ p+ \( P4 V. b* R" t% L  https://www.infoq.cn/article/iCUjvWTzGm68ui4WbqFX
' a3 j- C' o; O7 C! C4 z' ?' b1 b/ @/ X6 X
  https://www.sohu.com/a/731659594_355140
% a1 O+ g2 r0 d9 Y2 r
& T, L# K7 ~2 y  https://www.sohu.com/a/733252389_355140
2 c) v+ E. f' g: `/ @9 T: d% s/ R9 o; B6 n2 z! F
  https://www.sohu.com/a/734898243_355140) Q, n4 J; P% M# l# D7 x
2 ~9 Z, |0 E6 I$ j3 |
  https://www.sohu.com/a/736322447_355140! l& I4 I- l/ _5 a5 s6 _
7 ?, ]2 a) Y  u$ V7 \" N( n- |
  https://www.sohu.com/a/738502918_355140
+ n: |9 ^- p* |1 r, X& C
5 d5 Q7 v2 d! ?  https://www.sohu.com/a/739977693_355140
! q" V, k% `$ [# u' S, c) L! T
8 y0 R/ z8 u# M1 Z! U2 G! R' i  https://www.sohu.com/a/740505240_355140
, s7 E4 K% j/ {* }' z. ^5 g0 M) x7 J. T
  https://www.sohu.com/a/742114784_355140
# m$ |  t* B- p0 |3 D9 A- K, g6 w1 P' v7 a% M
  https://www.sohu.com/a/742438806_355140
; s" `% C1 U* q: s- A+ @1 o9 j( G2 r# ^3 o/ e
  https://www.sohu.com/a/743480374_3551400 l0 h# z4 b, g
9 _& a) l! k- q1 |1 W
  https://www.sohu.com/a/744302752_3551405 c( S* P9 X) F; [+ m2 P

1 r  S* N; R6 B* c( a  https://baijiahao.baidu.com/s?id=17808778642447877274 q/ N2 O0 k) m3 K" S

' G3 R  k. t( \' a  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D# b+ g% C0 c: }' ~6 D' ]/ b

8 L9 J' Q9 {- m- |  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D# j  X/ e% o  |

0 R1 J) F" q% y6 w0 [  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
, v& f! `9 F8 ^5 i' C/ {
+ _+ A: ]9 y5 Y  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D7 H3 d/ ]; V3 e; ]
( K+ ?$ q& S. s9 V: a# \2 k+ c
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D+ H9 u( c  x$ a( |( _1 B
0 @) ?4 @$ R0 z; f& c
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
. M7 u! W( r6 ^% {/ C$ F, d. U' n6 G- T/ D8 [0 g; h/ }" V; j; h
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
# n9 m8 X8 ]; f* H; `! x* }- w9 T1 o: d# ~7 o4 `$ b8 O
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
3 r$ D+ Z8 a/ B4 Z9 c  P+ n$ n+ F& }; I1 ?
  https://baijiahao.baidu.com/buil ... 1785327415605564374, n$ X7 r6 E1 U
! |+ ~( _, N  Y5 s0 Y
  下面就是孩子们发挥自己的想象,随意向 CodeWhisperer 发出指令进行编程学习了。
& Q& Z5 Z. ~  X, N
% L( u. S1 u$ t% t  为什么 CodeWhisperer 可以用来辅助孩子学习编程?职业程序员都清楚,包括 ChatGPT,CodeWhisperer 这些 AI 工具,生成的代码仅仅用来作为参考,绝对不能直接用在生产系统里,因此这些 AI 自动生成的代码,可能存在安全风险,缺乏足够的出错处理等等。而相对来说,孩子通过工具自学编程,不需要考虑这些软件产品开发需要注意的产品标准,只需要把注意力放在工具生成代码的语法,编程逻辑和 API 的调用上就行了。2 o1 o- j% j' A) F# ~
0 Z+ U5 ^3 h# u$ a$ s2 x# F
  另一方面,CodeWhisperer 的安装和配置非常方便,也不需要像 ChatGPT 那样科学上网。8 ^' t' b* [- b' o4 I( l- r+ e
* O- A6 d! u/ o
  下面是一些具体的使用例子。
: a1 w4 g2 @8 f. o2 U7 s: e! t% P- Z7 Z. I, Z3 W
  假设小朋友想用 Python 编程,打印出当前目录下所有文件的列表。
0 e& h& ], C+ c
: I7 J* s2 z: e, t# H4 q  u  O; h5 w7 l  在 Visual Studio Code 里新建一个 1.py 文件,然后录入如下注释,可以类比成是 ChatGPT 里的 Prompt:
7 a6 @$ D% {+ s; r2 l
8 _6 ~# O6 o5 d/ a# f8 H' H  list all files in current folder9 V# |7 c# b) v* j5 B0 @/ [- H- e
# Y8 B# {, v! D6 Q9 z3 G7 O) i
  我孩子的英语学习我是全程陪伴的,我觉得现在少儿英语的教育比我上学的时候卷多了。现在小学五年级就已经开始学很多我以前初中才学到的复杂语法,什么定语从句,被动语态,各种完成时等等。这种内卷倒也有一个好处:小朋友用英语编写简单的 Prompt 没有什么障碍:这些 Prompt 都是简单的命令式短句,无非是动词+名词即谓语+宾语的搭配结构。9 W  B' ]0 x7 M; j6 T

, w8 m/ y: D) N4 q; p  我们在 1.py 里输入 # 开头的 Prompt,回车之后,稍等片刻,CodeWhisperer 就会以灰色的字体颜色,显示出完成这个 Prompt 所需的第一行代码:import os# p& C3 F- r) h5 J/ J% M5 P: n
& {# ]( p1 w. W; k) N# c  V$ j
  如果我们觉得这行代码能够接受,敲击键盘 Tab 键,就能将其正式书写在 1.py 文件里。0 U0 r5 e" r7 l5 V3 N
# ^9 E+ R2 f+ S: L3 |/ g0 ^
  这种一行一行交互式的代码生成方式,适合家长和小朋友坐在一起,出来一行,给孩子讲解一行,也就是逐行理解。6 Y3 v3 }9 W+ c! z& h8 ~

7 O" e3 V- b$ [1 M3 }0 W( Z  我们在 import os 之后点击回车,稍后片刻,会看到 CodeWhisperer 给我们生成的下一行代码:for file in os.listdir("."):% x& P7 M# M/ m
6 h8 L2 ~9 {% \/ T# t
  同理,点击 tab 按钮之后,for file in os.listdir(".") 这行代码也被我们选定。继续按回车,就会出现下一行代码提示:print(file)
: d5 |$ h: D2 i" w3 h3 _7 u$ x
2 Y, r6 s, H8 X) T0 H/ A$ h5 \  就这样,三次回车和三次 Tab 键,就完成了这个需求的编码工作。直接使用 python 命令执行这个编辑好的文件,能得到期望的正确输出。
% O. \, |: z1 T! Y1 g" k0 L7 E/ d9 P. G5 o/ x4 A) Z$ d/ o
  我又继续做了测试,针对 Node.js,使用同样的 Prompt,也能得到令人满意的代码和执行结果:
& j( _& N( e1 g- T) I, N* t, m: G9 t, v
  总结
. [0 s0 I& c- r
2 l/ S& d0 |- p/ n( L  Amazon CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。. `3 V' G9 _5 t$ c* q& F

6 O7 U  Q& F5 N% T! {6 }* r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|小黑屋|手机版|Archiver|育儿网

GMT-5, 2025-1-15 12:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表