作者Hsins (迅雷不及掩耳盗铃)
看板Python
标题Re: [问题] 请问小五学生能学python的入门免费资源
时间Fri Sep 17 16:59:05 2021
※ 引述《landcastle (小穗)》之铭言:
: 标题: [问题] 请问小五学生能学python的入门免费资源
: 时间: Tue Sep 14 21:27:05 2021
:
: 想请问各位先进(我不是资讯类本科系,只会社会科学)
: 家中小五的小朋友,之前一直都在玩minecraft java版(也有玩scrach jr)
: 忽然前几天问我,能不能学python 原因是他觉得python会取代java
虽然不是这篇文的主轴,看到这句顺带想说一下,在这麽多的程式
语言里面,还真的很少有「xxx 语言取代 xxx」的状况,每个语言
其实都有他擅长与不擅长之处,充其量是凋零跟断层的状况比较严
重而已……
: 我其实不懂 大致上查网路推荐资源 用app learn python点老半天只知道要付费
: 查书大也只知道有做机器人及网路爬虫(好像日本人写的书不错有翻译本)
: 1.想请问入门的python 有没有推荐的免费学习资源可以让小五的学生自己先看?
: (有看过accupass的课程,至少都5w,因为也看不懂也不便宜难负担)
: 2.有没有适合小五的python入门书可以推荐(去三民书局找也没有头绪)?
对於小朋友来说,
其实「兴趣」才是最好的老师,在国外有个平台
CodeCombat 就是以这个为基础,不过他们这几年涨价涨很凶就是
了(独立帐号约一年 99 美金, 现在来说应该是 2750 台币左右)
,有提供繁体中文介面,跟 Scratch的作法很像,就是让使用者透
过编写程式来移动角色之类的。
不过以我自己的看法,这样有点导果为因,回顾我自己以前的经验
,我是
"先对一款游戏感到有兴趣,再去找工具来辅助游戏,当工
具不足以满足要求的情况下,或是扩充功能需要时,转而开始查询
怎麽开发"。(下面是老人回顾童年时间,可以略过没关系)
----------
我大约小学二年级的时候接触了 MUD这种游戏,这是一种纯文字介
面并且需要使用指令输入的游戏,他的画面跟大概是这样的:
https://i.imgur.com/8pXa6uU.png
在玩这个游戏的过程中,有些像是练习技能的过程是枯燥乏味的,
又或者角色成长之後要获得各种资源如金钱,可是平日要上课又不
能够长期待在萤幕前,所以就需要透过各种的外挂和辅助程式帮忙
,然而这些程式都是由外国人开发的,里面内建的外挂也不适用我
要玩的游戏内容,就必须自己根据需求去撰写,那麽就会是这样子
的:
> 我需要抓取游戏回传内容来进行判断,再根据判断内容来执行指
> 令。在这样的状况下我自己找资料学习到了 if else 操作
> 怪物会重生,我需要固定时间判断,并且重复这些动作。因此我
> 又再去学习到了要怎让程式反覆执行以及时间排程
> 如果把游戏回传的文字写死可以满足要求,但是我又想要有一些
> 灵活性,可以根据不同的怪物使用不同的攻击方式,一开始当然
> 是写了很多判断式,後来无意间从别人知道竟然可以使用正规表
> 达式(Regular Expression)来处理,又学习到新技能
> 爸妈不允许我一直开着电脑,我要怎麽处理?原来不只有微软的
> 作业系统,我只要将这些外挂改成在 Linux 下面的 tintin++客
> 户端上执行,就能够请在念大学的堂哥帮我跑在一台长期开机的
> 机器上了
> 我并不满足於只是玩游戏,我有好多想法想要诉诸实现,所以我
> 渐渐地去研究这些背後机制,原来不同技能和装备在打怪物时,
> 後面还有一条公式去计算威力大小呀!原来这个游戏可以多人一
> 起游玩,是透过 telnet 这种网路协议呀!原来游戏主机要处理
> 不同玩家的请求,那麽如果同时要处理的话要怎麽克服顺序问题
> 呢?
玩到这些东西时,我的年纪大概也差不多小学五年级,当然上面很
多专有名词像是正规表达式我是到後来才知道原来「那个东西」有
这种称呼方式。
再後来,我从姐姐那边拿到了很多单机游戏,像是绝代双骄(一)
(二)(三)、神鵰侠侣、轩辕剑等,在朋友的介绍下知道了当时
赫赫有名的游戏攻略网站 — 地窖,还去把一些经典的单机游戏像
是金庸群侠传和仙剑奇侠传也玩了个遍,当时很多修改器要从中国
网路上面载容易中毒,我也找了各种方法去乱搞一通,依稀记得是
UltraEdit 家族有个类似现在 Cheat Engine 的工具,可以记录不
同时间点下记忆体的状况,然後再回去找出位址修改血量或是金钱
之类的,当时没有什麽概念,还会觉得为什麽明明数值改 999999
却跑出负值,後来才知道这是溢出了……
这些问题其实从现在往回去看,背後所用到的内容与知识都是很实
用的,甚至包括里面会遇到的字元编码(encoding)问题要怎麽处
理也是计算机领域很有趣的问题之一。
但我当初并不是觉得程式好酷才去的,我纯粹是想要玩游戏xDDD
----------
回到原来的话题,我认为这类的学习平台有以下缺点:
- 是为了学程式才去玩游戏,不是先对游戏感兴趣而想要写程式
- 提供的程式功能是别人包好的,说穿了只是停留在熟悉操作如
判断、回圈... 等
书籍同样也有这样的限制,你在後面回覆中提到 Eric Matthes 的
那本着作其实很适合新手入门,但同样地限制就是在别人的框架下
学习,虽然说「熟读唐诗三百首,不会作诗也会吟」,但既然你都
愿意推荐让他自己选择了,并且看起来他也有自己的主见跟看法,
那麽我会不太建议用这些平台或是书籍的方式来引导他,反而应该
顺序可能是这样比较好:
1. 问问他为什麽想要学 Python 找出那个契机跟问题
2. 针对这个问题去限缩要探索的范围
比如:他可能想要写一个 Discord 机器人,那看书去学习建造
一个游戏计分看板是有意义的吗?书里讲那些操作 Word
和 Excel 对他来说是有意义的吗?
既然你说他有在玩 Minecraft,可以尝试着引导他要怎麽用 Python
去自动操控游戏角色行走与采集资源。实作的方式可以很多,可以
用类似按键精灵那样抓取萤幕上的像素点去做判断机制,是不是还
可以再深入一点呢?那要怎麽判断呢?单纯用颜色的话是不是会将
同样颜色的判断成不同物体?那麽影像辨识中的那些程式又是怎麽
判断这个方框里面的是个动物还是物体呢?
......
诸如此类,好比我的家教学生,他学校需要训练打字速度因此有类
似作业,是一个网页介面呈现的打字测速应用,为了防止学生作弊
有禁止复制贴上和锁右键。有一次他提到说有没有什麽方法可以去
除这种限制,我就直接开了浏览器,打开开发者工具後把 event关
掉跟他稍微说了一下原理,顺带提了一下很多 Chrome 插件也是用
类似的方式去实现的,他就开始自己去找寻解决办法,後来写了个
一键存页面上图片的插件,而他今年才刚准备升高中。
(不过他打字测验那个分数高的有点夸张,被他学校老师发现了)
: ※ 编辑: landcastle (114.36.226.209 台湾), 09/15/2021 21:33:19
: 推 sarsman: 初学比起教材的严谨度,引发兴趣的有趣度更重要 09/16 01:21
: → sarsman: 所以让他自己上书店或在网路挑吧 09/16 01:22
话虽是这麽说,但我还是建议在他有能力可以搞懂的前提下去讲求
教材严谨度或是慎选老师。以前接家教遇到那种学生解出负值就划
掉,问他为什麽他说「负不合」,以前老师说负不合就划掉…
可是到了国高中之後,有些答案是可以有负数的……
: 书种多 没那麽多经费 且让小五生都没有头绪下挑也怪怪的
: 目前是GOOGLE 锁定两本
: Python程式设计的乐趣
: Python 自动化的乐趣(第2版)
这两本书都不错,不过在挑书之前问问看孩子是想要用程式来做什
麽吧!
: 推 b0920075: 如果是因为python会取代java才去学的话跟他说可以不用 09/16 05:03
: → b0920075: 学了 09/16 05:03
: 这也有考虑到,但摊开所有教程式的从2018年起到现在,小5以上都是教PYTHON
: 小朋友会反问我 为何不用 那我又必须去分析讨论JAVA到底优点在哪里
: 我也不懂
: 比较害怕无法回应如"CHROME 都不再支援JAVA的坊间说法
: 最大最广泛的都不支援 坊间也在推 就学PYTHON
叫他来问我啊,哪个补习班跟业者讲这种坊间说法?我是看不懂这
种说法啦……这群家伙是不是不把我们大 Java 放在眼里!!
: 推 b0920075: 我的意思是先搞清楚学程式是用来干嘛的再决定要学什麽 09/16 12:40
: → b0920075: ,也可以叫他先收集资料再分析哪个语言工具比较符合需 09/16 12:40
: → b0920075: 求,这样对他之後学习比较有帮助 09/16 12:40
: 谢谢您,小朋友目前是一张白纸,也不会知道特定什麽目的,有跟PYTHON有关他就很兴奋
: (我私心目的:市面上教小游戏、爬虫、有些私校用来模拟物理现象,先看看入门都教什麽)
: ,他今天仅问我为什麽模组不能装?
: 3.9版本是否跟彭彭3.6版本教的不一样?(好像2开头版本跟3开头版不相容)
: 推 s0914714: 万变不离其宗 程式的概念都很类似 找喜欢的上手就好 09/16 12:55
: → OrzOGC: 管他学来干啥 python启发兴趣,有底子後想学啥都行 09/16 15:14
我同意 b0920075 的看法,先了解契机而不是学了再说,现在很多
转职者或者非本科生似乎保持着学了 Python 或程式就能够天下无
敌的想法,这是很吊诡的……
正因为 Python 可以做很多事,没有先限缩范围和领域,这些毫厘
之差也会失之千里。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.82.29.128 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1631869147.A.233.html
※ 编辑: Hsins (111.82.29.128 台湾), 09/17/2021 17:14:16
1F:推 ToastBen: 推H大!顺便提个我觉得适合小朋友入门的线上资源 09/17 21:55
3F:推 landcastle: 感谢ToastBen 09/18 08:09
4F:→ landcastle: MEMO了CODECOMBT感恩 09/18 08:09
5F:→ landcastle: 取代之说来自以下文章的内文(不是标题,内文有取代) 09/18 08:10
6F:→ landcastle: TIOBE CEO:Python很大机会挤下C和Java成为第一 09/18 08:11
7F:→ landcastle: Mud当时以为是想像游戏。仙剑奇侠,只会COPY修改器, 09/18 08:12
8F:→ landcastle: 记得还有人在卖。 09/18 08:12
9F:→ landcastle: 後来游戏改玩FALCOM的英雄传说白发魔女传之类型。 09/18 08:14
10F:→ landcastle: 感谢先锁定目的的建议 09/18 08:14
11F:推 yiche: 推 H大 09/19 11:57
12F:→ kobe8112: 看这篇实在心有戚戚焉... 09/20 14:30
13F:推 kobe8112: 刚没用到推XD 09/20 14:31
14F:→ kobe8112: 我也是为了玩游戏开始接触程式的,现在也有幸变成工作 09/20 14:31
15F:→ kobe8112: 「兴趣」真的是非常非常强大的动力! 09/20 14:32
16F:推 shinfon: 有感我当初是为了玩to 枫之谷..长大後为了写MCU 又学了C# 10/06 01:07
17F:→ shinfon: .之後为了工作方便又学了Linux shell script..然後才到p 10/06 01:07
18F:→ shinfon: ython .. 10/06 01:07