原文于2016-07-13首发
港科大全栈开发课程的第一周大作业做好了,算是学习之路的第一步。一个很朴素的交友网站信息输入页面,我知道这个很难看,但立此存照一下,给未来的自己。
HTML和CSS学习的简短回顾
HTML是网页内容载体,分为和两块。里面的meta info,如CSS定义了里主体部分的内容(contemt),比如尺寸,字号,颜色,位置等等。高效率操作CSS的基础之一就是对元素好好利用class分类。
不太恰当的类比:HTML像名词,CSS像形容词,JS有点副词甚至动词的意思。
·对Coursera上两个HTML课程的第一周课堂简单总结
港科大老师教学比较严谨,重在对课堂内容的梳理,中规中矩。习题少,但都针对课堂重点来练习。
港科大的大作业,HTML部分的重点在常用input的几种应用,CSS部分的考察重点在字体,颜色,尤其是图像边框和位置,比较实在。
Johns Hopkins University(JHU)的老师教学比较有活力,能用幻灯片更好地解释基本概念,并穿插HTML的发展历史。习题较多,集中在基本概念的梳理。推荐新手观看,免费的。(JHU课程的大作业在第二周才有,还没做,不评论。)
·在线教学的几个网站的小结
FreeCodeCamp是比较中规中矩的“教学+练习”,对知识点的考察比较平均。
dash.generalassemb.ly的projects侧重应用层面。很生动,知识点相对少,但很切合实际需要(比如对手机端的页面尺寸支持)。
*上述两个网站都是在一个页面里同时进行教学和习题训练
W3Schools的练习题都是对比较重要的知识点的复习,习题界面是新窗口进行的,感觉不如上面两个友好。但好处是保留了原始页面丰富详尽的知识点。W3Schools是目前遇到的网页开发基础知识方面最好的工具书类网站。
花费时间回顾
·花在HTML和CSS的有效学习时间,自7.5开始到7.12大概用了大约30多个小时。
·港科大HTML教程week1学习--大约6小时
接近视频实际时间的三倍。是第一份视频教程,也是第一份HTML的学习材料,时间多消耗在暂停记录笔记,去w3schools和google查知识点。
·W3Schools学习和练习题——大约8-10小时。
是第一份文档式教程,用了较多时间逐一浏览,记录笔记,以及后来的练习题。
·JHU的HTML教程week1学习——大约3小时
比实际视频时间多了40%-50%,主要用来记录笔记。因为是第二组视频,有了基础,所以比较快。
·FreeCodeCamp的HTML和CSS练习题——大约4小时
有了学习的基础后,FCC的交互式学习对我来说更多是练习题,知识点部分快速浏览就过。除了注册网站和简单浏览,实际做题用了3.5小时,只有官方参考时间的70%
·dash.generalassemb.ly——大约4小时完成了两个projects
这个是目前我最喜欢的网页制作练习网站了,比FCC更友好和生动。举个例子,有时它会让你去按照某某格式输入代码但不解释,等你输入完了以后,就能看到效果,这时系统再来给你解释一下这行代码的各个部分是什么,这么写会起到什么作用,教学效果非常好。但系统在个别环节容错不高,就算逐字逐句按照题目要求写了,还是可能提交失败,好在有facebook的学员反馈讨论页面把这些部分都进行了解释。
·港科大的大作业——大约5小时
如果没有google的话,可能要8-10小时。毕竟有不少知识点不熟悉,代码写的也不多。“自以为知道怎么写”和实际编写完全两回事。各种自己犯傻自找的坑(需求不看仔细,元素拼写错误,语法标记不规范,尺寸计算不合规等等)。
·另外,7.4号和7.5号跟进李笑来的《人人都是工程师》用了大概6小时
这些时间主要用在了开发环境的架设和博客的建立。其中nvm的安装遇到了问题,比较折腾。在github建立repo时没严格按照教程做,自作主张取了一个和github用户名相似但不完全一样的名字,卡壳了近两个小时p(´⌒`。q)
《人人》里很多推荐的教程,资料,工具还没好好看和使用。要知道这套教程极为浓缩,短小精悍。很多地方虽然只是一句话,后面带出的知识点却是一整套教程或软件。。。
借用JHU课程里老师用来解释HTML文档结构的幻灯片来说明的话,《人人》所包含的知识点就是这个样子的。。。(ʘдʘ╬)
·还有,花在学习材料寻找的时间方面,不下10小时。。。
开始时仅在coursera逛其它课程,后来又去其它MOOC网站逛(udacity,Edx),再去Quora找他人学习经验和心得。还发现了一个比较奇葩的,把各种免费教学资源连接在一起形成系统课程的bento.io。后来,找到一个codecademy看上去不错,虽然收费,但只是一个月19.99美元,比那些一门课要上千美元的网站良心多了。虽然codecademy也有免费课程,但高质量的练习题和projects都只给收费会员。想起尹航同学说的,投资学习的钱不能省,嗯,买买买。
本周惊喜
惊喜还是来自交叉学习不同教程,比如港科大的本周作业,我是用JHU老师推荐的CodePen来完成的。CodePen是一个在线网页编写练习网站。界面非常友好,把HTML,CSS和JavaScript分成三栏,底下则是网页的即时呈现,这种界面对代码检验十分友好。
另一个惊喜就是在线教育GenerAlassemb旗下的一个学习网页开发的课件Dash,里面有几套精心编写的互动projects,上文有提到,界面比FCC还友好很多,强烈推荐新手拿来做练习。
另外,Codecademy也是新发现的不错的网站。下面是来自这个网站的关于Full Stack的概念图。这个网站有很齐全的网络开发的课程,期待它给我带来更多惊喜。
胡思乱想
对于新手来说,出入陌生领域总会有很大的不适应,很多圈内人觉得极为平常的概念对菜鸟来说却是难以理解的。借助不同的教程,会比较容易找到一个适合自己理解的观察角度。对于初步掌握的知识点,通过不同教程来进行第二轮,第三轮复习,也能很高的巩固。当然,真正的巩固肯定是要实践去自己写代码的。看过视频和文档教程后,感觉要用几倍的时间去写程序才能比较好的掌握编程技能,至少不容易忘记。通过刻意练习去发现自己理解错误的知识点,去寻找高效且合理的书写规范。
这个时候又有个问题浮现了,我发现合适的训练材料(练习题)好像不够多。神枪手是靠子弹喂出来的,我需要多的子弹。而且要找适合自己成长各个阶段的,不同型号的子弹。“翠花,上子弹!”(~ ̄▽ ̄)~▄︻┻┳═一
目前除了两门MOOC课程里有限的题目,就是W3School,FreeCodeCamp等网站里的知识点与练习题结合的教程,但W3school和Dash里的内容主要都是网页开发方面的,其它后端等方面内容不多。FCC和codecademy比较全面,希望在各个领域都够我练上一阵。
最后,不同教程之间也会有一些“有出入”的地方,但这正好是学习的好机会。比如关于HTML5文档的开头部分,Dash的教程里如果输入了的话系统会警告你要大写成。但是Coursera的港科大和JPU两门HTML基础课里都说了大小写随意,JPU里有道多选题,有个正确选项就是。这时再去W3Schools和维基百科查证一下,发现Dash的要求是高于官方规范的,但它可以帮助我们养成一个规范写代码的习惯,能有利于与其它工程师交流和协作。
全栈开发学习的原则和实施措施(07.13.16版,试运行)
1.尽可能的看高质量教程,练习高质量的材料。
具体实施措施:
1)尽量只在英文世界里学习。在目前公认的一些高质量网站学习(这个“公认”标准目前是参考Google,Quora,Github,不知道是否靠谱),比如coursera,Github,W3Schools, FCC,Codecademy等。
2)中文方面目前仅保留李笑来的《人人都是工程师》和Xdite的博客,以后也许会去一些中文社区如Ruby China找伙伴甚至mentor(Xdite有提到过线下meetup的重要性)。
2.尽量安排好学习时间,在一个中长期的时间段内实现学习效果最大化。
具体实施措施:
1)陌生领域可以先看视频/书面教程,但至少留出2倍的时间做练习题。具体练习题时间有待摸索。
2)新领域可以花一些时间去探索,但要控制好时间,尽量把优质精力的时间留给练习题,其次是首轮教程,再次是复习轮教程。
3)提高时间利用质量。比如用番茄计时软件,实体沙漏帮助自己集中注意力。
3.调整作息,提高精力。
具体实施措施:
1)调整减肥饮食,不再严格戒糖。适当补充能量(红枣,干果,巧克力等每日控制在500大卡以内)。
2)晚上睡眠尽量在7小时以上,不能少于6.5小时。中午进行适度午睡。碎片时间抽空拉伸。每天继续有氧锻炼(甩绳为主),每周3-4次力量锻炼。
今日推荐
这几天,新生大学里不仅有同学交流编程,也有同学谈起学英语。我推荐了一套“上辈子”帮助过我和身边朋友的书,张满胜编写的语法书——《英语语法新思维》。这套书和大多数工具类语法书有些不同,是从语法背后的思维角度来阐述语法的。虽然从每本书所引用的材料深浅不同,适合从中学到大学不同阶段的人。但我遇到的很多考GRE,GMAT的人,也发现即使是第一册(初级)也给他们展示了一个全新的语法学习角度,一个强调活学活用的角度。
这两天很开心地发现,这套书有三本续篇问世了,马上买了kindle版。果然还是保持了老版一致的风格,但更加细致了。有兴趣的朋友随便买新版还是老版,都会有收获,因为编写思路一直是一致的。
说到编写思路,这里摘录一段新版序言的话给大家
在我看来,死记硬背的句子毕竟是有限的、易忘的,且不能灵活运用。而按照英文的思维逻辑来构造句子则是无限的、自由的。我是一个渴望自由的人,所以我愿意研究英语思维来自由地创造句子。我不想成为英语句子的奴隶,去死记硬背它;我想驾驭英语,让英语为我自由表达思想服务。
——张满胜《英语语法新思维》(2015版)序言