育儿论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

443

主题

763

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2022-7-25
发表于 2024-1-9 22:05 | 显示全部楼层 |阅读模式
  我是一个程序员,也是一个父亲。工作之余我会经常和儿子聊他们小学信息技术课学习的 Scratch 和 Kitten 这两款图形化的少儿编程工具。) j- ~- Q1 {' U+ y
$ `* j  {& m! l* F/ F8 i. m
  我儿子有一次指着书房里显示器上显示的 Visual Studio Code 问我,“为什么我们上课用的开发界面,和爸爸你每天工作用的样子不一样?”- T( n7 {" U5 y8 r: V& {
2 h0 i. V8 n4 Q2 e: d1 p" l
  所以我也在想一个问题,什么时候可以让我儿子,从 Scratch,Kitten 这种少儿图形化编程工具,过渡到 Visual Studio Code 这种更专业的编程工具去?
# Q* W, S* D1 `% _
; Q$ B+ ]. y8 Z$ `  最近火出圈的 ChatGPT,被很多程序员用来作为自己工作中的代码生成辅助工具。我也在思考如何将 ChatGPT 用到少儿编程领域。由于众所周知的原因,ChatGPT 在国内使用有一定的门槛。但我最近了解到另一款基于人工智能的代码生成器,叫做 Amazon CodeWhisperer, 我已经将它用来辅导我儿子学习编程了。
- N6 _1 Z  A, b
9 b9 c( b" g) G0 M" c  我和儿子用的开发工具是 Visual Studio Code,我教他在里面写一些最基础的 Python 和 Node.js 代码。  w( v: o. U2 Z$ |& g. H9 J

2 Z4 c  B& H1 e# q* x7 P  Amazon CodeWhisperer, 属于 AWS Toolkit 的一部分,在 Visual Studio Code 打开 Extension Marketplace 面板,通过搜索关键字 AWS tool 即可安装。
' C; X' p, w& g$ v3 u# c  k$ _+ r- H$ b; t) w+ ^) q6 c
  安装完毕后,在 Visual Studio Code 左侧多出一个 Developer Tools 的面板,展开 CodeWhisperer 下拉列表,点击 Start,然后选择 Use a personal email to sign up and sign in with AWS Builder ID 即可在 AWS 网站上注册一个帐号并登录:
! t- k& O+ W, k% q  c5 T  f; j( _( W) v: @$ G0 d9 d' g
  等到我们看到 Developer Tools 面板里,CodeWhisperer 下面显示出 Pause Auto-Suggestions 显示,说明这个基于 AI 的代码生成器已经成功启用了。
7 P. Y' G; t4 u
1 l5 p6 u) V2 e$ ?- Q  https://www.infoq.cn/article/tE4JARIoKzaSVav57McG
' u5 ^  L8 Y+ Q) r$ a! ~; M! U' ^& Z1 H/ |( {! C5 e
  https://www.infoq.cn/article/TprcKvXyB5fsKgC4SaLx
8 W+ K, f' j2 D0 h! P+ B, v) J* _; z" ]: T; G
  https://www.infoq.cn/article/B0JNSlJPFxY5eebdIOZE1 M3 v1 o$ z1 [# u8 S7 @

5 M1 b3 t! Y7 J) H8 ?  https://www.infoq.cn/article/uPxOOxgMPdhVsFGsgUwD( Z3 \0 s4 d) f# p& t: g4 x8 A

- ~4 F% L1 D9 t! Q2 _6 {  https://www.infoq.cn/article/sEM2KRuq2BAaiPtIGNHx
2 a/ L) T) T3 ]) {: ~) l0 n  _* T* }, R/ f) t6 y
  https://www.infoq.cn/article/jE2rzViqAgM8MJYAYWHV
6 O) l0 e+ r7 O$ F
, e# c* V! X) V6 R6 ?1 a  https://www.infoq.cn/article/W5RzCzfZ6imJQrCk2lW9
$ _1 `# j2 P" ?5 }
3 a, M( B+ X8 R% G( }  https://www.infoq.cn/article/QHhWqeXmAQYQahEFMN9j
: W$ }: c& Z$ |/ y3 G) l( r) X1 Q4 L: W$ D* j( r3 v8 d
  https://www.infoq.cn/article/Z5kqO0J3Yq7bt3IiUsCE5 R$ t& Q2 Q$ Z' D9 v* I* l; ^! R
! B1 R$ v8 Q. X, O
  https://www.infoq.cn/article/8mTxLzES8Hrx7gHH1x3t
4 A( @) d1 q; w' s6 b3 n
# U: R- j% a0 X* ]. j5 u  https://www.infoq.cn/article/O6qHtFBMoJUubbIz4MQw
) p0 f) S* s' c3 o$ Y  U
" i# ~6 l2 t# W6 N' `+ m  https://www.infoq.cn/article/iCUjvWTzGm68ui4WbqFX- D* G4 \) b3 I

: S# w5 ~5 ]& E& z) h  https://www.sohu.com/a/731659594_355140) `) \) D7 R; ], g
5 K# i5 R4 t3 M! b3 X
  https://www.sohu.com/a/733252389_355140+ \: c6 I4 O: k! }  o" P! Q

5 {2 W6 ~$ Q( ~# G* ]& D. P  https://www.sohu.com/a/734898243_355140
9 u& l- C$ G( F6 M( [* D4 S7 L8 z7 X9 ^; Y: _
  https://www.sohu.com/a/736322447_3551403 B' S& H" B; X

8 X0 P; o0 f3 I( ~" p. O* X9 `  S  https://www.sohu.com/a/738502918_355140, W- D5 i% M( W4 d1 w9 u

& [4 i, W! \- q8 |  https://www.sohu.com/a/739977693_355140  c* E- E  z/ d" ?  Z8 r1 C* _
& \6 ~. d+ x: S2 T, A% {
  https://www.sohu.com/a/740505240_355140( ^2 X8 Q$ z! v) O
. O" \% `3 O8 n0 b' {. Y
  https://www.sohu.com/a/742114784_355140. q5 U% Y% w; ?# x' n

6 Q2 v/ J( n; C6 g+ {  https://www.sohu.com/a/742438806_3551406 B9 ^: v' R! n/ K- l* v
! |# _' K' D5 ~1 D9 W1 x
  https://www.sohu.com/a/743480374_355140& a8 {: P# `. m0 n8 V6 o

& [( B0 G% e; h$ H  S  https://www.sohu.com/a/744302752_355140' v" g( Q- W4 X2 M: E

" _8 B& E* `; _3 u9 \8 N, G5 Z  https://baijiahao.baidu.com/s?id=1780877864244787727
7 a9 E' i. u% l2 V" U% _
8 I0 t# W' g: t9 K: {  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
, G+ l+ `8 T( J) y* |. v$ K$ y# \  H1 q# e' a; N
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D" ~6 N: j3 K; h1 ~# G

; n7 R, h1 R0 |/ d  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
9 V! z: i) [/ K: a0 X) W/ s) C) Y5 E8 M7 a- K) S& d
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
8 O$ `5 ^; i  c, ?; b3 H/ z* w" E, ]5 V$ ~/ j6 Q2 F# s
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
: T2 F6 W" j$ D1 y1 Z) p) P3 X- t  Q1 |. s+ {/ |
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
  L. o4 t$ U: A, K4 \( y* m; }- v# T$ o: Q0 g5 D* e
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D- ^, {2 x; [2 \' u% T
8 q# H3 Q* E. O; {- Z7 n, ^
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
+ t5 L( G$ [/ j' L  Z* s' D) I8 J$ x9 j) k' q2 V! {1 c# n1 X
  https://baijiahao.baidu.com/buil ... 1785327415605564374
: l! k6 }, X- ?, q5 E. O8 g! I0 w
& G, H0 W/ U; N$ A  下面就是孩子们发挥自己的想象,随意向 CodeWhisperer 发出指令进行编程学习了。
1 h$ @1 P. k- u6 u
- Y! O* E1 O: _1 e' A. @) }, D  为什么 CodeWhisperer 可以用来辅助孩子学习编程?职业程序员都清楚,包括 ChatGPT,CodeWhisperer 这些 AI 工具,生成的代码仅仅用来作为参考,绝对不能直接用在生产系统里,因此这些 AI 自动生成的代码,可能存在安全风险,缺乏足够的出错处理等等。而相对来说,孩子通过工具自学编程,不需要考虑这些软件产品开发需要注意的产品标准,只需要把注意力放在工具生成代码的语法,编程逻辑和 API 的调用上就行了。, E( E9 X+ m0 R# e2 @: Q1 A

" K" C% T: X1 M( p/ Y( c0 V) d# ?  另一方面,CodeWhisperer 的安装和配置非常方便,也不需要像 ChatGPT 那样科学上网。7 c1 g- ~/ G: |5 ~& C+ F3 B, o, T
7 [6 F" |. }8 r; a1 T9 e
  下面是一些具体的使用例子。+ B2 Y* M' r3 V( Z( r' Q
5 r' q  |) {& S0 J/ a! r; p  X* v# P
  假设小朋友想用 Python 编程,打印出当前目录下所有文件的列表。. ~8 `: e! \3 f; o2 \, `+ M6 f
$ M5 E7 C# j, @0 H$ {: X, t
  在 Visual Studio Code 里新建一个 1.py 文件,然后录入如下注释,可以类比成是 ChatGPT 里的 Prompt:- x2 ]; `7 ^, q5 N

9 m4 M  I4 `4 Y! R( `  list all files in current folder# ]8 d+ Y- ?7 @& _- f
7 W' ]4 c6 L; S* j1 \" @0 ^
  我孩子的英语学习我是全程陪伴的,我觉得现在少儿英语的教育比我上学的时候卷多了。现在小学五年级就已经开始学很多我以前初中才学到的复杂语法,什么定语从句,被动语态,各种完成时等等。这种内卷倒也有一个好处:小朋友用英语编写简单的 Prompt 没有什么障碍:这些 Prompt 都是简单的命令式短句,无非是动词+名词即谓语+宾语的搭配结构。
1 p* l- @6 h( `& G7 v
" J4 Y2 X9 k  E0 Q  我们在 1.py 里输入 # 开头的 Prompt,回车之后,稍等片刻,CodeWhisperer 就会以灰色的字体颜色,显示出完成这个 Prompt 所需的第一行代码:import os
1 v- U9 B5 {# j1 W
. S; `. n7 G! M8 \( Z  如果我们觉得这行代码能够接受,敲击键盘 Tab 键,就能将其正式书写在 1.py 文件里。
' p! d/ ^6 O8 f8 H6 M# A: T3 g- l0 S$ v$ G# x; R' i$ ^. D/ \
  这种一行一行交互式的代码生成方式,适合家长和小朋友坐在一起,出来一行,给孩子讲解一行,也就是逐行理解。0 p- I- x* Y, I- e1 D
$ y1 E0 D; O% }7 ~- @! y
  我们在 import os 之后点击回车,稍后片刻,会看到 CodeWhisperer 给我们生成的下一行代码:for file in os.listdir("."):; J# O; X4 {  c4 j

. y/ ?, v  ^8 h0 E7 g% u  同理,点击 tab 按钮之后,for file in os.listdir(".") 这行代码也被我们选定。继续按回车,就会出现下一行代码提示:print(file)9 \* K5 {. [$ l
2 x1 l# ~' K' `' E
  就这样,三次回车和三次 Tab 键,就完成了这个需求的编码工作。直接使用 python 命令执行这个编辑好的文件,能得到期望的正确输出。2 ~' H$ b0 u3 v9 o3 W: p

) Z" B$ i. U% l$ t- E' P: V  我又继续做了测试,针对 Node.js,使用同样的 Prompt,也能得到令人满意的代码和执行结果:
; z5 a' V6 j  P  {8 V3 g. W$ b0 Z- w9 A: H
  总结6 i5 x1 ^1 Y: n/ B6 q, R
: t* S, b, }6 W
  Amazon CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。
6 T$ G' k9 w" B$ [7 a' V+ s2 V1 ]+ W+ d0 k) W, g
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-5, 2024-9-22 13:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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