育儿论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

461

主题

807

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2022-7-25
发表于 2024-1-9 22:05 | 显示全部楼层 |阅读模式
  我是一个程序员,也是一个父亲。工作之余我会经常和儿子聊他们小学信息技术课学习的 Scratch 和 Kitten 这两款图形化的少儿编程工具。* g+ M6 f/ y4 o9 R
9 c$ u" U# e6 q
  我儿子有一次指着书房里显示器上显示的 Visual Studio Code 问我,“为什么我们上课用的开发界面,和爸爸你每天工作用的样子不一样?”8 o# \/ m: c' {$ ?

; ~$ R1 ]7 j2 g9 d! E5 U" x  所以我也在想一个问题,什么时候可以让我儿子,从 Scratch,Kitten 这种少儿图形化编程工具,过渡到 Visual Studio Code 这种更专业的编程工具去?
! P7 f, }% h) c; Q4 x' J1 R1 U6 x' ?4 i+ H* }7 {; J
  最近火出圈的 ChatGPT,被很多程序员用来作为自己工作中的代码生成辅助工具。我也在思考如何将 ChatGPT 用到少儿编程领域。由于众所周知的原因,ChatGPT 在国内使用有一定的门槛。但我最近了解到另一款基于人工智能的代码生成器,叫做 Amazon CodeWhisperer, 我已经将它用来辅导我儿子学习编程了。
' x; U( }9 U0 _8 V- d/ [* t. S, b
& o/ @) r# Q# A' e  我和儿子用的开发工具是 Visual Studio Code,我教他在里面写一些最基础的 Python 和 Node.js 代码。2 u2 H0 y3 K- e
1 R- B  l8 T9 A+ R2 P
  Amazon CodeWhisperer, 属于 AWS Toolkit 的一部分,在 Visual Studio Code 打开 Extension Marketplace 面板,通过搜索关键字 AWS tool 即可安装。
  _9 S7 |7 H& Q2 e/ r4 p2 h+ v3 Y3 V4 X# g/ x0 Q: l. l' M
  安装完毕后,在 Visual Studio Code 左侧多出一个 Developer Tools 的面板,展开 CodeWhisperer 下拉列表,点击 Start,然后选择 Use a personal email to sign up and sign in with AWS Builder ID 即可在 AWS 网站上注册一个帐号并登录:* p6 @2 K( B0 ~3 c+ ]
' r) Q7 \2 R$ u5 U  T- U! V
  等到我们看到 Developer Tools 面板里,CodeWhisperer 下面显示出 Pause Auto-Suggestions 显示,说明这个基于 AI 的代码生成器已经成功启用了。
+ W& l) H( _; \8 I6 c
* @1 G/ D& o2 I5 X* X- M  https://www.infoq.cn/article/tE4JARIoKzaSVav57McG  `  I) x. k3 F# R1 _# x
* h( |5 J0 E2 h, J0 P* @
  https://www.infoq.cn/article/TprcKvXyB5fsKgC4SaLx) d, K$ N. h( F% @/ y

$ S+ E5 e, \8 A  https://www.infoq.cn/article/B0JNSlJPFxY5eebdIOZE
- ]8 a1 g8 b' Y
4 Z1 P- g8 i0 q7 L; ?0 y  https://www.infoq.cn/article/uPxOOxgMPdhVsFGsgUwD
; O# F5 m* g  k* d4 w( N, {8 j0 y4 U/ J  n$ W5 ]- c5 Q
  https://www.infoq.cn/article/sEM2KRuq2BAaiPtIGNHx) G& @( z# H3 C5 @) \

! b( y( K4 c! h8 ]3 d  https://www.infoq.cn/article/jE2rzViqAgM8MJYAYWHV
! {% A/ s+ _$ ]6 P1 A& K2 [9 m
, N3 G7 c. C6 B$ Z. a  https://www.infoq.cn/article/W5RzCzfZ6imJQrCk2lW98 x9 a1 ~9 R3 ^. H) z

" I$ d% t) ^( g1 t  F/ o  https://www.infoq.cn/article/QHhWqeXmAQYQahEFMN9j
) G. v+ l+ b6 ]5 g8 ^7 N7 F) ]9 O9 E. D3 S( p
  https://www.infoq.cn/article/Z5kqO0J3Yq7bt3IiUsCE
& A. f$ ]* v& q4 o9 r/ c7 K% t* |1 |7 `) Y5 O7 Q
  https://www.infoq.cn/article/8mTxLzES8Hrx7gHH1x3t- Q$ W* n# ?( X! E: I) ~/ x$ h
1 T) o9 \, H) T% |1 N
  https://www.infoq.cn/article/O6qHtFBMoJUubbIz4MQw
- y) z, O7 `7 z# I+ ^8 X7 k& Y% Z, d/ M" I: k/ F# w. l8 V, m6 l
  https://www.infoq.cn/article/iCUjvWTzGm68ui4WbqFX
5 U) ]2 }8 r5 ~4 |, b9 \6 m( R/ V9 B4 q5 k
  https://www.sohu.com/a/731659594_355140
$ a0 N% Q6 C, d
/ }" n  W  V3 Z. {  https://www.sohu.com/a/733252389_355140
: W% i2 d; T  T) R2 k$ F* c4 L0 Z* ^, _! f3 P/ z% I
  https://www.sohu.com/a/734898243_3551401 x5 i  P5 F0 K7 E, ~  v
% \* U7 F* z3 J8 {. s
  https://www.sohu.com/a/736322447_355140
4 L2 g. O, E2 ]# {3 r
$ _! o. {$ B- @  https://www.sohu.com/a/738502918_355140" I5 O  k! c# T- b/ v1 z4 ^7 t5 B# r

# I! T! S0 V( @& x; M( v2 g- K( t  https://www.sohu.com/a/739977693_3551406 I/ h$ t& \  |* E

& p$ L) ^* z' a" j  https://www.sohu.com/a/740505240_355140
$ Y4 F6 k- I- u* q7 c; {0 a" ]8 J  l+ B
  https://www.sohu.com/a/742114784_355140
6 P( R1 i. x: i0 C7 Y/ X5 ?; u% F0 X0 b6 f+ s* l1 D
  https://www.sohu.com/a/742438806_355140/ B7 k$ `9 Y3 {7 y2 G; D
: ~$ _* B+ ~; @+ k- |
  https://www.sohu.com/a/743480374_355140
; ^, I7 t8 @& x& A- y
  u1 J3 i& J, Q1 p2 U  https://www.sohu.com/a/744302752_355140
, I: C$ j2 P+ O  d9 L
5 p  w7 c9 l0 b( G( ]  https://baijiahao.baidu.com/s?id=1780877864244787727- \8 J( x+ ^+ y+ E6 ?

$ A  {& t5 f6 q' b  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D  N. z+ `/ W6 d6 ]

8 }4 L8 m# P; d# F  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
5 J. e, P- I1 |% n& P( T0 i5 J, h3 c# b  b4 I% |; z
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
4 M" \9 m; J% H6 I2 d) M% F6 a1 m* m9 s0 e5 n# j# y% W" T
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
6 f5 ]3 s6 t4 v* l
3 X5 L/ N- f+ O0 S2 G  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D* H: q- M; F( t% Q+ M1 M

# l3 \9 ?. E! g+ P0 c" L% ^: y  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D* x# l7 k1 x" _: }

# L6 |4 {. _* f- }1 J& U+ J  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D* v3 c5 T& f1 z: R2 i

( i" W2 ]6 g6 i. }  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
( T# e/ j2 J( G# ]. o( n
+ ]% c2 G9 G0 O$ H" h  R7 q  https://baijiahao.baidu.com/buil ... 1785327415605564374
' U: H" c: d4 `. X9 Q0 T6 }
; p/ b3 M+ W$ w0 `7 j  下面就是孩子们发挥自己的想象,随意向 CodeWhisperer 发出指令进行编程学习了。& f3 e+ h0 t' @6 e! p. d& m  w7 v! V
6 h! q7 r* H7 C6 P
  为什么 CodeWhisperer 可以用来辅助孩子学习编程?职业程序员都清楚,包括 ChatGPT,CodeWhisperer 这些 AI 工具,生成的代码仅仅用来作为参考,绝对不能直接用在生产系统里,因此这些 AI 自动生成的代码,可能存在安全风险,缺乏足够的出错处理等等。而相对来说,孩子通过工具自学编程,不需要考虑这些软件产品开发需要注意的产品标准,只需要把注意力放在工具生成代码的语法,编程逻辑和 API 的调用上就行了。
. {7 |  B0 K# q# Z0 y8 z
( O3 v4 P5 o7 V. V, z. w- l4 ^  另一方面,CodeWhisperer 的安装和配置非常方便,也不需要像 ChatGPT 那样科学上网。0 w& E; q( D( x1 d/ k9 S
1 w* _9 I; `4 f  k0 E! B
  下面是一些具体的使用例子。
- n0 @2 U; e7 X  x' w" i1 [4 U: n
5 Y% _6 ^- k6 n8 w$ ^  假设小朋友想用 Python 编程,打印出当前目录下所有文件的列表。3 p; U0 I! q# m' \4 A- B+ q

$ @" R# p6 @8 p  在 Visual Studio Code 里新建一个 1.py 文件,然后录入如下注释,可以类比成是 ChatGPT 里的 Prompt:8 _3 q6 Z: k# g+ q

) m6 F3 J6 n5 W2 b% @  list all files in current folder
4 Q5 A3 r4 b' l( g  R; f$ t
/ q' ~5 B. R' V. P; A# q6 X1 B  我孩子的英语学习我是全程陪伴的,我觉得现在少儿英语的教育比我上学的时候卷多了。现在小学五年级就已经开始学很多我以前初中才学到的复杂语法,什么定语从句,被动语态,各种完成时等等。这种内卷倒也有一个好处:小朋友用英语编写简单的 Prompt 没有什么障碍:这些 Prompt 都是简单的命令式短句,无非是动词+名词即谓语+宾语的搭配结构。) J; S0 B2 z  y" n

% _, K1 T0 l" w) E- R, D6 L0 o  我们在 1.py 里输入 # 开头的 Prompt,回车之后,稍等片刻,CodeWhisperer 就会以灰色的字体颜色,显示出完成这个 Prompt 所需的第一行代码:import os3 }+ _! B0 s! U! K# K* T/ w

; N: `. k. c- }+ p5 N  如果我们觉得这行代码能够接受,敲击键盘 Tab 键,就能将其正式书写在 1.py 文件里。
& k6 |" x! O& r# K) b& }" R0 K9 O: g! v7 H# Z2 {; Z# x& q: U6 n
  这种一行一行交互式的代码生成方式,适合家长和小朋友坐在一起,出来一行,给孩子讲解一行,也就是逐行理解。
) n: {  B  w1 p, W9 U# [* E: m2 A- `$ p' c
  我们在 import os 之后点击回车,稍后片刻,会看到 CodeWhisperer 给我们生成的下一行代码:for file in os.listdir("."):
! s9 p; H; ^% I8 C( `
  U/ J9 n8 A( I# g3 |. N9 {  同理,点击 tab 按钮之后,for file in os.listdir(".") 这行代码也被我们选定。继续按回车,就会出现下一行代码提示:print(file)  a# L+ Z( E( y3 X' m0 w$ T
" g: ~  [6 z$ C  n: M% K
  就这样,三次回车和三次 Tab 键,就完成了这个需求的编码工作。直接使用 python 命令执行这个编辑好的文件,能得到期望的正确输出。
: W; d$ J' p+ b/ P5 b: ]
: e- c/ s! ^2 y% [8 z. A! u/ ?/ M  我又继续做了测试,针对 Node.js,使用同样的 Prompt,也能得到令人满意的代码和执行结果:# V. s/ n5 i( `
/ e8 r" ]+ H4 k6 G' S  Y5 B, A
  总结& `( J' u+ K1 s3 X  Q* ~
4 @5 `' U; S* \# f, O" r
  Amazon CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。
- R8 v3 c$ Q0 |! g; P" W3 R3 Z! q# J. L/ ~. K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-5, 2024-11-26 10:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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