前情链接:
本课主题:从零开始学习一门编程语言
授课老师:张越
这次课与以往有很大不同,授课的老师由新生大学的CEO亲自上阵,呈现给了我们一堂干货满满的如何有效入门编程语言的精彩课程。
本节课程,老师从自身学习一门编程语言的角度出发,打破以往老师大多对照提前准备的PPT进行授课的方式,而是以最近学习Python语言的经历给大家进行真实学习过程分享,极大的激发了有志入门编程的同学们的好奇心。
== 本节课大纲 ==
# 编程幼儿园 老师演示从零开始学习一门语言的过程:
## 适合写代码的编辑器和IDE
1. VS Code —— 推荐、实用
2. Atom/Sublime ——比较简易、实用。老师在用Sublime
3. Eclipse
4. 各种专用工具:VS,XCode
5. 操作系统自带工具:VIM —— 不太实用,不推荐
## 选择合适的操作系统——不一定需要购买MAC电脑,而是建议可先使用虚拟机进行学习,同时注意保证有足够的内存大小。
Parallels/VirtualBox/VMWare —— 三款虚拟机,老师在用Parallels
## 寻找合适的教程和知识图谱
1. wikipedia
2. 官网
3. W3C
4. Google
## 常见资源和工具
1. stackoverflow
2. Dash
## 写代码的正确姿势
## 一些建议
寻找合适的教程和知识图谱
这里开始值得认真聊聊,以Python学习为例,首先进行google搜索“python”,打开维基百科进行详细了解。
学习一门编程语言,首先应该让自己建立一个思路,了解这门语言与其他语言的不同之处在哪里?为什么要发明这门语言?——这些信息在wikipedia里有非常详细的介绍,能够获得很多线索和信息,由此来判断自己该学什么。
明确学习目的,建议先预习后再带着问题报班学习请教老师,而不是无任何认知直接报班,预习后报班,报班费才会花得比较值。
有人可能会说,我什么都不知道,怎么预习也不知道,而这门课的很大篇幅其实就是讲解了预习一门全新知识特别是全新编程语言的方法。
有了前面对Python语言的基本了解,进一步的,老师对Python在数据分析方面的学习比较感兴趣,于是搜索“Python 数据分析”,搜索结果依然丰富,对其中的一篇“Python数据分析学习路径图(120天Get新技能)”产生了浓厚兴趣,打开链接后很欣喜地获得一张思维导图,对Python的学习方向又更加清晰了一些,并且更利于自我学习目标的建立。
个人学习习惯分享:学习任何一门语言,都会给自己设立一个目标,使用这门语言给自己做一个实用的工具,这个工具的制作过程能够帮自己更好地思考、更好地去学习语言的各种特性,从而更好地实现自己设立的这个目标。
说到此时,老师举例2007年时正在学习QT语言,那时正直股市如火如荼,老师也是股民一员,为了避免被老板发现,于是给自己设定了一个目标,做一款足够满足自己需求的股票软件(只需要看一看关注的股票的价格,了解自己是否赚钱即可),软件界面非常简朴,这样的软件无需“老板键”也可放心使用。(数据来自新浪等网站)
同样,根据Python的特性,也准备给自己设定一个用Python制作一款网页版炒股工具的小目标,督促学习。
写代码的正确姿势
对照循序渐进的在线课程,理论理解结合实践操作,开始练习、学习。
方向明确、目标设定,下面就进入具体知识、方法的学习,一份好的教材必不可少,在google的“Python”搜索首页中出现过“廖雪峰的python教程”,在上面提到的文章中在线教程也首推“廖雪峰的Python教程”,基本可以判断这是个靠谱的教程。——初学时直接看厚厚的官方教材,反而不容易入门,充分利用优质的在线教程是很多程序员的独门学习方式。
老师用每周三个小时,一共六个小时(也就是两周时间),将在线的“廖雪峰的Python教程”学习完毕,达到能够画出图形的学习效果。——这应该是强人的进度,我们无需强求。
Tips:编程入门学习网站推荐:www.w3cschool.cn,特点:优质、完善
常见资源和工具——提升学习效率
1. stackoverflow —— 非常有用的问题搜索解答网站,只要你能描述清楚问题,总会找到答案。
2. Dash —— 可用此快速查找api(函数、系统功能)如何使用,有网页版、PC客户端、手机客户端,非常方便
要相信:你遇到的所有问题,在这个世界上都已经有人碰到过。
老师也诚恳的反思新生大学的教学方式,正在积极探讨、改变课程授课方式,准备尝试将程序员老师们包括他本人的学习编程语言的过程制作成课程,与大家分享。因为“授人以鱼不如授人以渔。”
本节课的内容丰富、有趣,让人听来饶有兴味,同时也留下了许多需要课后主动练习、融会贯通的知识点以及学习方法,正如老师在课程结束时留言区里说的“不知道有多少人还会继续坚持学习编程,但是真的希望大家能够掌握一些学习方法,帮助自己在未来的日子里面快速适应新的工作”,整节课充分感受到老师的分享诚意以及希望大家获得收获的期盼!——在我的内心也加深了对自身编程学习过程的思考。