育儿论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

489

主题

849

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2022-7-25
发表于 2024-1-9 22:05 | 显示全部楼层 |阅读模式
  我是一个程序员,也是一个父亲。工作之余我会经常和儿子聊他们小学信息技术课学习的 Scratch 和 Kitten 这两款图形化的少儿编程工具。) Y* J3 u( d, _+ z# W8 v1 i- Z
9 a# z( A" ~0 b( X
  我儿子有一次指着书房里显示器上显示的 Visual Studio Code 问我,“为什么我们上课用的开发界面,和爸爸你每天工作用的样子不一样?”- c% A; _0 s$ E1 N5 d
7 S4 `' j% a* W
  所以我也在想一个问题,什么时候可以让我儿子,从 Scratch,Kitten 这种少儿图形化编程工具,过渡到 Visual Studio Code 这种更专业的编程工具去?
1 f: w% t- ~# i* V( m  m7 C
8 E( I5 r6 S1 {2 J  最近火出圈的 ChatGPT,被很多程序员用来作为自己工作中的代码生成辅助工具。我也在思考如何将 ChatGPT 用到少儿编程领域。由于众所周知的原因,ChatGPT 在国内使用有一定的门槛。但我最近了解到另一款基于人工智能的代码生成器,叫做 Amazon CodeWhisperer, 我已经将它用来辅导我儿子学习编程了。
2 a( e- b. ?9 W! c: e7 F6 l
7 R# b* ]# n" h  V& e  我和儿子用的开发工具是 Visual Studio Code,我教他在里面写一些最基础的 Python 和 Node.js 代码。
' h$ C4 [  K& _- @# c5 x$ V0 T7 {0 N2 t' b7 b) `7 h
  Amazon CodeWhisperer, 属于 AWS Toolkit 的一部分,在 Visual Studio Code 打开 Extension Marketplace 面板,通过搜索关键字 AWS tool 即可安装。
: w" c! ^" }$ N7 m7 C4 n; N4 `1 s
  安装完毕后,在 Visual Studio Code 左侧多出一个 Developer Tools 的面板,展开 CodeWhisperer 下拉列表,点击 Start,然后选择 Use a personal email to sign up and sign in with AWS Builder ID 即可在 AWS 网站上注册一个帐号并登录:
+ W6 u/ R, ]4 |. r- p/ \& O4 P9 o  _7 ~, W0 T6 f4 b! s" ~
  等到我们看到 Developer Tools 面板里,CodeWhisperer 下面显示出 Pause Auto-Suggestions 显示,说明这个基于 AI 的代码生成器已经成功启用了。
5 t: `" l% x$ F6 V& ?
) }' i" L  f9 w& `/ w" W  https://www.infoq.cn/article/tE4JARIoKzaSVav57McG
  K+ H+ y2 ?  b( m: J
9 t- {! F% }' k: u8 n  https://www.infoq.cn/article/TprcKvXyB5fsKgC4SaLx
' l9 O6 f9 V* U: {7 k# _
7 A1 q9 w0 o6 t% z3 h! c  https://www.infoq.cn/article/B0JNSlJPFxY5eebdIOZE
$ x& ?+ L; I: ~1 C
; y( \( n) _/ w% j0 v4 x9 y  https://www.infoq.cn/article/uPxOOxgMPdhVsFGsgUwD- ^" h  b+ [# m' t+ w2 ]0 m
3 ~; V9 ]7 {3 \
  https://www.infoq.cn/article/sEM2KRuq2BAaiPtIGNHx
- o; a* E. r5 b/ ^* c  }: e& V
6 g; ^. ?  }. t  https://www.infoq.cn/article/jE2rzViqAgM8MJYAYWHV* }  K' I0 m* k) \

8 s5 |/ y0 Z) G5 D( H  W3 |7 ]6 Z  https://www.infoq.cn/article/W5RzCzfZ6imJQrCk2lW9
6 C* R# d4 |7 s) \) a7 i# O
8 L/ L" b7 E: J; N7 V  https://www.infoq.cn/article/QHhWqeXmAQYQahEFMN9j
( u. |( _, Q8 {- ?4 n6 m2 j
" T3 p2 M7 |7 Y' m1 _8 b" E/ T& K! v  https://www.infoq.cn/article/Z5kqO0J3Yq7bt3IiUsCE
8 c# H. x6 g3 A# O/ S- @# }8 k3 C& {; E) p$ u' k
  https://www.infoq.cn/article/8mTxLzES8Hrx7gHH1x3t
8 [2 ]/ _4 I' y! a0 X) p+ h. d
& w" v; }' f& C. Q6 Q( V/ r8 r  https://www.infoq.cn/article/O6qHtFBMoJUubbIz4MQw
" j) B$ Q1 c, \9 H0 R+ D% ]2 E4 I
  https://www.infoq.cn/article/iCUjvWTzGm68ui4WbqFX
) C" J9 D0 o3 x0 P5 f+ i+ F& F7 f% T7 r; R% M9 {8 i; t
  https://www.sohu.com/a/731659594_355140
/ R. s9 X$ D" a+ X& G3 _$ v
2 ^8 E3 |* S, F5 E' |  https://www.sohu.com/a/733252389_355140
, z% X0 D, ~/ L  H5 G$ |8 M: G5 C& L; e0 e! C* M8 d& W7 j# x5 N
  https://www.sohu.com/a/734898243_355140# O. e' \8 {1 ~5 V
' R. d, k/ K  R+ b
  https://www.sohu.com/a/736322447_355140# f0 o: ?3 k9 ^, d! C: J
, @' _$ |# r, A. K" a- o3 I
  https://www.sohu.com/a/738502918_355140
. J* V1 C# Z# N
& ~& n9 H& J8 M3 F  https://www.sohu.com/a/739977693_355140# g& J2 i5 C1 s7 a
- f& ], g( M7 E( P
  https://www.sohu.com/a/740505240_355140
3 m; q, M7 K- j6 s8 a4 _/ j" c9 V+ b7 c9 _& N9 K% X- ?" L4 u0 }
  https://www.sohu.com/a/742114784_355140
, M& d- q  [9 A7 ]7 f
% I* |& P* E- w0 i' l: J& W7 h2 ~  https://www.sohu.com/a/742438806_355140
' f& R- z6 ~) X5 o; s) f$ u! S' v
: Z' D* X, W* j& w) a' Q  https://www.sohu.com/a/743480374_3551402 G# D  ^' q% N3 b

+ b' y" S. ^9 L, }% ^$ K5 q# n$ K  https://www.sohu.com/a/744302752_355140# M" l) ?- d, k4 a6 @

; G+ J; f6 J: t! F, Y9 L  https://baijiahao.baidu.com/s?id=1780877864244787727
% i0 R) o# }3 ~! q
/ Y" @- o# m' S  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
+ ~1 j- m' Z% E& s- ^
( ]  c( j$ t( p+ z; i  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D( |' n( R  T9 U# Y5 t( X

+ q6 X$ o$ g9 Y1 S5 I# ^9 K* T  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
3 v8 ~' H% v% J) [; O! m
% H" ^+ K# I7 l; Y5 H  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
5 G& h1 E9 D- n5 Z' w$ H
$ b, v! z( q# x/ P+ f  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D2 G- ]0 d2 e: O( x2 V6 L' h
0 r$ Y0 C( A0 s' F5 k2 E8 |
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
1 o& x' p8 }# E% @8 e) K" W- f- Q: J% ?$ }, d4 j
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
2 A1 f2 L# {- k! C1 D* `5 p) ~+ Z# z; Y; o, B+ v2 \8 a: q: M
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D: h5 e5 ]3 @, v1 ^. X& k  C+ `  y
- S+ R% b& @; N1 a/ }& S9 t
  https://baijiahao.baidu.com/buil ... 1785327415605564374
  |2 B. n/ U" x- D
$ Z/ |/ }5 q0 M3 R  下面就是孩子们发挥自己的想象,随意向 CodeWhisperer 发出指令进行编程学习了。3 G7 J3 ^# t$ v) n2 l
  K6 h9 Q- R# d& H- k$ Y4 }
  为什么 CodeWhisperer 可以用来辅助孩子学习编程?职业程序员都清楚,包括 ChatGPT,CodeWhisperer 这些 AI 工具,生成的代码仅仅用来作为参考,绝对不能直接用在生产系统里,因此这些 AI 自动生成的代码,可能存在安全风险,缺乏足够的出错处理等等。而相对来说,孩子通过工具自学编程,不需要考虑这些软件产品开发需要注意的产品标准,只需要把注意力放在工具生成代码的语法,编程逻辑和 API 的调用上就行了。0 D* Q. e  o& `9 M: L$ x

: M6 V  r' U# K# L- G  另一方面,CodeWhisperer 的安装和配置非常方便,也不需要像 ChatGPT 那样科学上网。. ^. D% m, n' [, h

1 G9 q" m6 T7 c( _, c% Y+ [  下面是一些具体的使用例子。
9 d+ u  c0 m4 c) `. A$ Z2 f5 G* q! J  h2 H6 G1 t, t. |
  假设小朋友想用 Python 编程,打印出当前目录下所有文件的列表。; M, }( ^- h, e! D; m" u

2 n3 l0 o1 [& H% m  在 Visual Studio Code 里新建一个 1.py 文件,然后录入如下注释,可以类比成是 ChatGPT 里的 Prompt:
  ?7 P/ q3 {7 ?1 H. v5 G
6 V0 v2 f$ K0 n  list all files in current folder0 Q- d2 {$ M. s7 h/ s
, }2 ]" x5 [0 U) t' \, f
  我孩子的英语学习我是全程陪伴的,我觉得现在少儿英语的教育比我上学的时候卷多了。现在小学五年级就已经开始学很多我以前初中才学到的复杂语法,什么定语从句,被动语态,各种完成时等等。这种内卷倒也有一个好处:小朋友用英语编写简单的 Prompt 没有什么障碍:这些 Prompt 都是简单的命令式短句,无非是动词+名词即谓语+宾语的搭配结构。" O' r0 b3 p  k: ^. j
7 K4 `, V4 S; R9 F& k  t+ H$ }4 w
  我们在 1.py 里输入 # 开头的 Prompt,回车之后,稍等片刻,CodeWhisperer 就会以灰色的字体颜色,显示出完成这个 Prompt 所需的第一行代码:import os( Y+ f) p$ o) `5 A+ b7 Q
) A5 Y( ~/ c; }( A; G5 H
  如果我们觉得这行代码能够接受,敲击键盘 Tab 键,就能将其正式书写在 1.py 文件里。
6 c2 Z( n, ?3 r  |0 k, V" a$ z5 j& _/ W2 p4 Z1 U2 S* g
  这种一行一行交互式的代码生成方式,适合家长和小朋友坐在一起,出来一行,给孩子讲解一行,也就是逐行理解。
7 @) E3 c1 U: A9 L7 @, S  K) p. q' V. E$ Y
  我们在 import os 之后点击回车,稍后片刻,会看到 CodeWhisperer 给我们生成的下一行代码:for file in os.listdir("."):4 k6 n: U; ]% [

+ ]. C% r. U. B1 W" d  同理,点击 tab 按钮之后,for file in os.listdir(".") 这行代码也被我们选定。继续按回车,就会出现下一行代码提示:print(file)6 f2 ~8 O9 M+ i* d
9 U1 b/ C  f* e* x9 w- r
  就这样,三次回车和三次 Tab 键,就完成了这个需求的编码工作。直接使用 python 命令执行这个编辑好的文件,能得到期望的正确输出。. c2 A" M. J+ C5 e4 C

3 Y3 T! A  G3 c  我又继续做了测试,针对 Node.js,使用同样的 Prompt,也能得到令人满意的代码和执行结果:
! h/ M% W8 f+ {; b4 W: }5 r) Z4 {. h& r) ~, B: b
  总结' R3 ]4 i( j  B3 J) R6 h

' u. l. M0 `9 \, {  Amazon CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。" l/ ?; n, E7 w8 K% d. F" n

! y" d- p+ M! J' }% w
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-5, 2025-1-15 14:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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