V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
annoy1309
V2EX  ›  问与答

亲戚儿子 16 岁,想学编程,实在不知道怎么教

  •  
  •   annoy1309 · 2019-02-17 12:42:29 +08:00 via Android · 7622 次点击
    这是一个创建于 1867 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我自己是做偏硬件的,学的实在是不太适合去教小朋友 。 小朋友的目的,想简单学习(出国前的半年内双休日+假期学习),能写出那种简陋的图形化界面的软件(类似计算器啊万年历之类的小工具)

    我自己技能树:py 爬虫精通,CPP 硬件开发(网络方向)精通,JS,其他挺多语言都了解过,但是没有深学

    想过 CPP 来教学,但是 CPP 要写 gui 实在是感觉半年假期估计不太够

    pyqt 也考虑过,感觉是不是有点歪了

    大家给点主意呗,拜个晚年

    第 1 条附言  ·  2019-02-17 18:33:33 +08:00
    感谢各位,我当然恨不得教点硬件,树莓派什么的,我也轻松,但是学 GUI 是他自己选的方向,他想花这点时间去写点 [能跑起来的工具程序] 所以我才纠结怎么教
    还有个问题是他时间也不多,他 9 月份出国读书,现在一周四天语言类(?我也不知道什么课),也就双休日业余时间写一下,这也是我放弃 Cpp 教 GUI 的原因
    93 条回复    2019-02-18 14:15:05 +08:00
    caomu
        1
    caomu  
       2019-02-17 12:46:05 +08:00 via Android
    小朋友撸 gui 可以试试直接上 electron ?简单粗暴。就怕带歪了。。。
    learnshare
        2
    learnshare  
       2019-02-17 12:47:50 +08:00
    QML + JS
    tomczhen
        3
    tomczhen  
       2019-02-17 12:48:11 +08:00 via Android   ❤️ 3
    弄个树莓派寻路小车就行了。淘宝全套套餐直接买,Python 开发,有硬件交互,最后有实际成品,更有成就感。最重要的,说不定还能在学校 show 一波。
    SuperMild
        4
    SuperMild  
       2019-02-17 12:48:43 +08:00
    PyQt 或者直接在网页里跑 JS,各做一个简单的 demo 出来给小朋友看,让他自己选。
    whi147
        5
    whi147  
       2019-02-17 12:49:05 +08:00 via Android
    pyqt 可以,有界面编辑器。触发和信号槽也很好理解
    xdlucky
        6
    xdlucky  
       2019-02-17 12:49:52 +08:00   ❤️ 1
    给他买个 MacBook, 然后教他用 Swift (逃
    just1
        7
    just1  
       2019-02-17 12:53:24 +08:00 via Android
    让他自学 c#吧
    mason961125
        8
    mason961125  
       2019-02-17 12:54:45 +08:00
    树莓派+1,真心比写 gui 的成就感更大,而且也更简单。
    4ark
        9
    4ark  
       2019-02-17 12:55:59 +08:00 via Android
    学前端吧,相对其他容易出效果,我也是 16 岁开始学的,现在 19 了
    yangzhezjgs
        10
    yangzhezjgs  
       2019-02-17 12:56:59 +08:00
    感觉还是教 js 好一些吧,大前端毕竟是未来趋势
    LxExExl
        11
    LxExExl  
       2019-02-17 12:57:22 +08:00
    跟着 iTunes U 上面的课学 Swift 跟着就能做出计算器了
    Mtianmin
        12
    Mtianmin  
       2019-02-17 12:59:00 +08:00
    易语言啊,哈哈哈哈哈哈
    Mtianmin
        13
    Mtianmin  
       2019-02-17 12:59:20 +08:00
    @Mtianmin 一天就行了
    greyqz
        14
    greyqz  
       2019-02-17 13:00:32 +08:00 via Android   ❤️ 1
    C# 或者 Visual Basic,图形界面比较好实现,所见即所得。不系统地学 python,实现图形界面就只能 Ctrl + C/V 了(不要对小朋友的水平那么自信)。😂
    realfreesky
        15
    realfreesky  
       2019-02-17 13:03:59 +08:00 via iPhone
    C#吧
    xiaomimei
        16
    xiaomimei  
       2019-02-17 13:15:04 +08:00 via Android
    _(:з」∠)_我的一个弟弟,还在上小学,过年回家想让我讲讲是怎么写代码的。想了半天实在想不出来什么简单的解释,干脆跑了个 sudo apt upgrade,然后给他看了个压缩过的 js 文件。。。收获小迷弟 +1
    akira
        17
    akira  
       2019-02-17 13:17:57 +08:00
    scratch
    Daming
        18
    Daming  
       2019-02-17 13:20:10 +08:00
    winform/wpf
    gamexg
        19
    gamexg  
       2019-02-17 13:26:37 +08:00 via Android
    c#
    图形界面所见即所得,适合小朋友学习。
    loading
        20
    loading  
       2019-02-17 13:30:12 +08:00 via Android
    esp8266 接几个灯泡,继电器,步进电机做小车。
    先 c 语言把循环逻辑跳转玩透。

    编程入门最重要就是好玩。

    黑屏 hello world 只有业内才能感受到浪漫的。
    loading
        21
    loading  
       2019-02-17 13:31:08 +08:00 via Android
    不想硬件就 html css jquery 一把唆
    sdijeenx
        22
    sdijeenx  
       2019-02-17 13:31:36 +08:00
    用黑客比赛的套路呗~
    先问他想要什么?有什么创意?没有创意一切免谈;
    搞清楚他的想法之后,告诉他完成这个需求需要什么工具并教他工具使用方法;
    要求他必须在 72 小时内实现自己的创意(其实就是做 demo 能用就行不要求健壮性),LZ 可以提供技术支持但是不能替他做。
    shylockhg
        23
    shylockhg  
       2019-02-17 13:35:01 +08:00
    为什么不报班?软件工程师教编程不一定有人家老师专业。
    littleMaple
        24
    littleMaple  
       2019-02-17 13:45:36 +08:00 via iPhone
    Swift Playgrounds 来自 Applehttps://itunes.apple.com/cn/app/swift-playgrounds/id908519492?mt=8

    Human Resource Machine 来自 Experimental Gameplay Grouphttps://itunes.apple.com/cn/app/human-resource-machine/id1005098334?mt=8

    7 Billion Humans 来自 Experimental Gameplay Grouphttps://itunes.apple.com/cn/app/7-billion-humans/id1393923918?mt=8

    刚好最近两天在玩 human resource machine,非常好玩,停不下来;一关一关循序渐进,而且很贴合实际代码编写的习惯,很适合入门,已经通关然后剁手买了进阶版的 7 Billion Humans.
    NCry
        25
    NCry  
       2019-02-17 13:45:53 +08:00 via iPhone
    @shylockhg #23 看楼主的描述,时间应该不是很充足。
    AngelCriss
        26
    AngelCriss  
       2019-02-17 13:47:52 +08:00 via Android
    教他刷题啊
    GeruzoniAnsasu
        27
    GeruzoniAnsasu  
       2019-02-17 14:09:56 +08:00 via Android   ❤️ 1
    我 15 岁自学的 C

    神 tm 小朋友,乍一看还以为说 6 岁呢,16 高中了都,你管拯救世界毁灭世界的年龄段叫小朋友,“日本普通高中生”表示心情复杂


    —— 你怎么学就怎么教就行,直接上 c++
    inhzus
        28
    inhzus  
       2019-02-17 14:14:12 +08:00 via Android
    16 都有不少(正常)人上大学了,不能算小朋友了。。。

    用一些例子激发起兴趣,直接从最基础的教就好了
    Raisu
        29
    Raisu  
       2019-02-17 14:15:42 +08:00 via Android
    写小游戏,用 JS 或者 Python 都可以。或者其他项目但是要在项目里面教一些软件工程的东西
    inhzus
        30
    inhzus  
       2019-02-17 14:19:21 +08:00 via Android
    @inhzus # 28 不好意思没注意内容。
    c++上手确实有些慢,不过会最基本的语法,然后上手 qt 其实还是蛮快的。pyqt 当然更好。
    就是教的时候得让他多写一些小项目,只让他写界面最后就不过是复制粘贴
    mazyi
        31
    mazyi  
       2019-02-17 14:19:39 +08:00
    同推荐树莓派,能软能硬
    HuLiY
        32
    HuLiY  
       2019-02-17 14:24:07 +08:00 via Android
    WinForm 所见即所得,开发快,IDE 友好,适合入门
    F1024
        33
    F1024  
       2019-02-17 14:25:15 +08:00
    先学插 c# + py
    Yvette
        34
    Yvette  
       2019-02-17 14:34:43 +08:00
    如果非要图形界面的话拿 React 什么的一行一行地讲,估计一个周末就能可以教会写计算器
    ArcherD
        35
    ArcherD  
       2019-02-17 14:40:35 +08:00
    要去留学的话,英文应该不差的,可以学 reasonml/ocaml
    配合 https://github.com/Schmavery/reprocessing,写小游戏,example 里面有很多例子了,可以学习一下。
    配合 https://github.com/revery-ui/revery,写 gui 程序 ,example project 里面就有计算器。
    支持编译到全平台 + web
    ArcherD
        36
    ArcherD  
       2019-02-17 14:45:51 +08:00
    对了 最好不要用 windows 来学,windows 上面坑比较多。
    zkeeper
        37
    zkeeper  
       2019-02-17 14:46:17 +08:00
    都什么年代了还写 GUI. 看看他是不是 CS 的, 如果是, 让他学 hard-core 的编程, Java 或者 Golang 之类做些数据处理或者写算法实现, 网络方面的东西等, 自己捣鼓一个小项目出来. 如果对这些不感兴趣或者非科班. 就学前端.
    niubee1
        38
    niubee1  
       2019-02-17 14:58:49 +08:00
    偏硬件就教 arduino 编程嘛, 做编程智能小车什么的
    vanishcode
        39
    vanishcode  
       2019-02-17 15:04:03 +08:00 via Android
    当然是学 Android 开发😂😂
    1a0ma0
        40
    1a0ma0  
       2019-02-17 15:08:31 +08:00 via iPhone
    你搞硬件,可以教他一点 C 语言然后带他玩玩单片机呗。
    dcatfly
        41
    dcatfly  
       2019-02-17 15:15:42 +08:00
    py 和 js 好入门一些吧
    agdhole
        42
    agdhole  
       2019-02-17 15:19:33 +08:00
    简陋 GUI, C# 一把梭
    Android2MCU
        43
    Android2MCU  
       2019-02-17 15:20:12 +08:00 via iPhone
    看成“怎么救”🤣
    bzshow1
        44
    bzshow1  
       2019-02-17 15:23:56 +08:00
    学算法吧。
    br0x
        45
    br0x  
       2019-02-17 15:27:02 +08:00 via Android
    @tomczhen 靠谱👍
    hoyixi
        46
    hoyixi  
       2019-02-17 15:46:44 +08:00
    提供方向,让其自己学,正好可以检验是不是那块料。

    现在太多人为了糊口,明明自己不爱干,也不是干的那块料,非要混进某个行业做混子。比如 IT 培训流水线,再一个就是美容美发,你看现在理发师的水平,比起 10 年前太差了,小地方没出路是个人就学理发厨师。
    fox0001
        47
    fox0001  
       2019-02-17 15:53:28 +08:00 via Android
    Java 或 python,可以从 Web 项目入手
    zanyzephyr
        48
    zanyzephyr  
       2019-02-17 16:04:30 +08:00 via iPhone
    @LxExExl 去看了一集,很棒
    lixile
        49
    lixile  
       2019-02-17 16:09:42 +08:00 via iPhone
    目前相关从业者 可以先玩玩
    Codecombat 然后再上手 py
    Norie
        50
    Norie  
       2019-02-17 16:55:48 +08:00 via Android
    淘宝教学套件
    siyushin
        51
    siyushin  
       2019-02-17 17:05:21 +08:00
    这种情况适合学思维先吧,语言选个 Java 什么的就好了。
    Kaiyuan
        52
    Kaiyuan  
       2019-02-17 17:09:39 +08:00
    教小孩子编程最好先教 GUI,或者 HTML CSS,先学界面是最易有成就感的,然后再教 JS,配合 Nodejs 就更加容易有成就感。加上 electron 直接可以写软件了。
    zhangyi2099
        53
    zhangyi2099  
       2019-02-17 17:14:39 +08:00 via Android
    买套 Lego
    annoy1309
        54
    annoy1309  
    OP
       2019-02-17 18:29:42 +08:00
    @tomczhen
    @mason961125
    @AngelCriss
    @zkeeper
    @mazyi
    @niubee1
    @bzshow1
    感谢各位,我当然恨不得教点硬件,树莓派什么的,但是学 GUI 是他自己选的方向,他想花这点时间去写点 [能跑起来的工具程序] 所以我才纠结怎么教
    annoy1309
        55
    annoy1309  
    OP
       2019-02-17 18:34:27 +08:00
    @Mtianmin e 语言没接触过,听说逻辑挺混乱的,所谓的中文编程?
    smilingsun
        56
    smilingsun  
       2019-02-17 20:39:37 +08:00   ❤️ 1
    我以前教过 AP Computer Science,对象就是要去美国读本科的高中生。

    我的经验是,高中生逻辑思维已经较成熟了,不同于小学和初中,编程入门应该着重 OOP 和算法初步,领进门就够了,千万不要手把手教,剩下让他 Google 就好了。

    另外小朋友可能不了解 command line 世界,所以想学 gui。但对于会编程的人,明显 command line 更有用,爬虫更是比写计算器什么的更灵活,更有成就感。写爬虫还可以带他初步了解 Web 如何工作,剩下的依然交给 Google。

    突然觉得,直接让他上 MOOC 好了,还能提前接触国外大一课程。强烈推荐 Coursera 的 Python 系列课程,Dr Chuck 讲的。
    jingyulong
        57
    jingyulong  
       2019-02-17 20:40:28 +08:00
    @annoy1309 #54 GUI 也是一种软件应用,很多初学者是想着速成,但是学习是要有一定过程的。建议先从一门语言学起,然后去解决实际生活中发生的问题。可以学习 python 呀,听说初学者很容易学习的,然后做一些简单的爬虫什么的。或者直接从结果出发,选择相应的技术,学习就好了。

    GUI 的有很多种呀,主流的客户端应用,Web 端应用,其他的才疏学浅,暂时没想到。

    兴趣最重要,坚持下来并不容易。
    jingyulong
        58
    jingyulong  
       2019-02-17 20:41:25 +08:00
    @smilingsun #56 想到一块去了
    jd186
        59
    jd186  
       2019-02-17 20:48:56 +08:00
    下载个 VB6.0 精简版 就几兆大小,买本 VB6.0 从入门到精通。估计一周就入门了
    sdijeenx
        60
    sdijeenx  
       2019-02-17 21:02:14 +08:00
    @jingyulong
    我一般把 GUI 看成虚拟硬件( LabVIEW 那种),CLI 当成语义解析器。
    chocotan
        61
    chocotan  
       2019-02-17 21:05:39 +08:00
    买本 xxx 从入门到精通
    Rehtt
        62
    Rehtt  
       2019-02-17 21:16:02 +08:00 via Android
    js 啊,网页版
    via
        63
    via  
       2019-02-17 21:37:48 +08:00 via iPhone
    看成了亲儿子🤣抱歉我错了
    jssyxzy
        64
    jssyxzy  
       2019-02-17 22:12:09 +08:00
    要从 C++教的话,真的就是从入门到放弃了。
    js 前端语言,额,在我看来不太算一种语言吧,你可以问问他想不想学,别喷我;
    最简单的做 gui,就是易语言了,但是这个学了基本没什么意义,从长远的角度来说,但是国内很多没受过高等教育的,做一些小工具的,做点黑产的用的到还挺多的;
    其实 python 就挺好,然后找个简单的 gui 的库教呗。

    个人看法,要是有更好的,欢迎 @我,我也涨涨见识。
    grewer
        65
    grewer  
       2019-02-17 22:18:31 +08:00
    c 嘿嘿
    jingyulong
        66
    jingyulong  
       2019-02-17 22:22:23 +08:00 via iPhone
    @sdijeenx 这个角度不错
    zhuangzhuang1988
        67
    zhuangzhuang1988  
       2019-02-17 23:02:53 +08:00
    算法 刷题
    后面补就麻烦了
    nameme
        68
    nameme  
       2019-02-17 23:07:30 +08:00
    pyqt 可以了
    Flasky
        69
    Flasky  
       2019-02-18 01:56:17 +08:00 via Android
    esp8266,可以直接 C,而且还有 Python、Lua 固件,性能更好的还有 esp32,我只用了两三天就基本摸清楚了
    IdontWanToBeBan
        70
    IdontWanToBeBan  
       2019-02-18 08:35:14 +08:00
    用 py 的 easygui 随便搞个?
    woshijidan
        71
    woshijidan  
       2019-02-18 08:36:41 +08:00 via Android
    py 爬虫求教……
    herozhang
        72
    herozhang  
       2019-02-18 08:38:41 +08:00
    不是应该从算法、数据结构入手么
    ctro15547
        73
    ctro15547  
       2019-02-18 09:06:58 +08:00
    ui 用易语言快速上手提高成就感,mysql 套件快速搭个后台顺手学点 sql,c++或者 python,建议用 C++,16 那会我都开始用 C++写鸡兔同笼完全没有问题,打好语法基础,py 给新手用简直是灾难,上手简单不存在的。
    qizhca
        74
    qizhca  
       2019-02-18 09:14:31 +08:00
    为啥没人提议 HTML。。
    ww940521
        75
    ww940521  
       2019-02-18 09:29:13 +08:00
    单片机 从汇编开始
    MonoLogueChi
        76
    MonoLogueChi  
       2019-02-18 09:36:41 +08:00 via Android
    怕不是要进 js 邪教,我跟你说 electron 那东西害人不浅,千万别教。图像界面当然是上 C#啊,还有咱们宇宙最强 IDE 做后盾
    huage2580
        77
    huage2580  
       2019-02-18 09:38:30 +08:00
    既然你是偏硬件,我是觉得 C 或者 basic 起步的,别歪了。就是面向过程思想教一下,然后 GUI 的话,现学 html 都可以教,懒的话,树莓派+py 点点灯,蜂鸣两下(滑稽
    其实高校课程是很合理的,导论入门,C 和数据结构穿插
    ZXCDFGTYU
        78
    ZXCDFGTYU  
       2019-02-18 09:41:45 +08:00
    简单的就从 js 开始,想入行就从 C 开始。我刚上中学的时候就是靠着谭大爷的那本绿皮 C 入行的,现在已经在做 PHP 开发快三年了,很有帮助。
    JamesR
        79
    JamesR  
       2019-02-18 09:48:16 +08:00
    CPP 要写个 gui,用 VC++6.0 拖控件后写就行,Windows 计算器几小时就能开发好,这都不知道还精通 CPP
    CoderGeek
        80
    CoderGeek  
       2019-02-18 09:49:15 +08:00
    py 很简单了 = =
    polo3584
        81
    polo3584  
       2019-02-18 09:51:29 +08:00
    建议先玩几个简单的游戏,比如人力资源中心什么的
    baicheng10
        82
    baicheng10  
       2019-02-18 09:54:41 +08:00
    C# VB 画个界面加 helloworld,一天入门。
    passerbytiny
        83
    passerbytiny  
       2019-02-18 10:13:48 +08:00
    半年周末加假期也就六七十天时间,肯定不能全部用来学习,实际上也就三十来天的学习时间。对于新手来说,只学 C 语言差不多能熟练,Java/PHP/Python 差不多能入门,C++刚好够劝退,Javascript 差不多能刚看完规范和避坑大全。

    给它弄本书自己去搞吧。如果是计划当专业的,那么 C 语言、Java、Python 基本编程的书随便找一本。如果是纯兴趣的话,Visual Studio 入门指南搞一本。
    assiadamo
        84
    assiadamo  
       2019-02-18 10:15:13 +08:00
    java swt 啊,绝对好理解::doge::
    shengchao
        85
    shengchao  
       2019-02-18 10:20:04 +08:00
    这些东西 用网页就好了 让他自己学前端
    augustpluscn
        86
    augustpluscn  
       2019-02-18 10:35:11 +08:00
    16 岁好好上学。。。。
    gzf6
        87
    gzf6  
       2019-02-18 10:42:52 +08:00
    学好数理化
    rocbomb
        88
    rocbomb  
       2019-02-18 10:44:59 +08:00
    当然是 Unity 了
    写写 C#
    UnknownR
        89
    UnknownR  
       2019-02-18 11:47:34 +08:00
    建议 c#
    zxq2233
        90
    zxq2233  
       2019-02-18 12:00:35 +08:00 via Android
    推荐 livecode,一种类似于 English 的编程语言,语法和英语非常像,
    mazyi
        91
    mazyi  
       2019-02-18 12:07:54 +08:00
    python 也可以 gui,树莓派也可以接显示器,这两个都是非常好的入门内容了。
    Cheez
        92
    Cheez  
       2019-02-18 12:17:43 +08:00 via Android
    c 井号
    respect11
        93
    respect11  
       2019-02-18 14:15:05 +08:00
    当然是 php 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2770 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 12:02 · PVG 20:02 · LAX 05:02 · JFK 08:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.