学习编程

kiritoyuzuru 发表于   2019/1/7 19:58:01,阅读次数: 54

金旭亮老师学习编程课笔记融合轮子哥方法

学习一项新东西的固定思维模式:

1.知己:明确学习目的

我学习CS是为了成为一个经济独立的女人。

搞定下学期的蓝桥杯比赛

搞定CCF职业技能认证

搞定PAT乙级考试

掌握一门语言,作为跨专业保计算机的契机

学习路线为:学习编程语言→学习开发框架→做项目

目前想学习的编程语言为:Java 

学习路线为:JAVA编程学习→JAVA开发框架(前端)→做项目(和计算机学院的老师一起做项目)

2.知彼:

(1)程序定义:在一定环境下,以特定方式处理一定规模数据并输出所需结果的工具。等于数据结构+算法。

(2)程序员必备技能:常见代码重构方法+编写单元测试+版本管理工具

(3)算法定义:算法是计算机思维方法,包括有直接程序的计算法,无程序的计算法,待提出的算法。算法设计需要具备强的数学能力,好的逻辑思维能力。

(4)一流软件工程师需具备:专业软件工程训练。

3.原则

给我的时间并不多,我学习编程语言的原则是简单、快速、可控、能取得短期效益。

3.1.1

刻意学习原则

3.1.1特征

有可复制的高手成长路线的技能

专注投入不分心

包含阶段性目标,有反馈,从要点突破

编程语言学习过程中,从零开始学习的过程中,模仿大神的学习轨迹,看过的书,刷过的题,拥有的解题思维。
复制别人成功的轨迹,粘贴这个成功轨迹到我自己身上。

多去搜集一些成功的模型,融合模型。

3.1.2关键

拆解

做中学

突破

学习目标到学习路线确定与制定。拆解学习路线,明确各个小的学习任务,明确完成各个学习任务需要完成的学习步骤。学习目标和学习路线的制定需要根据后续的live分析,后续的人物分析来敲定。

3.1.3规律

由浅入深

由简单到复杂

刷题:掌握基本的语法与排布形式,基本的问题分析策略,然后开刷

基础知识补充:从大众帖子开始读起

专业课知识补充:考研速成

3.2

轮式学编原则

3.2.1

每天早上8:00~晚上12:00 除了编程和生存什么都不干,以求至少掌握一门语言基础知识

3.2.2

学习观念:牛逼本身不是一个可以速成的东西,它是知识和经验的积累和运用知识和经验的熟练程度。

学习态度:拥抱变化

学习重点:重要学idea,次要学技巧

学习要素:有明确且适当难度的学习任务,适应学习者个人情况,及时进行信息反馈

审慎练习:机械练习、不断挑战自我、尝试后分析总结,吸取经验纠正错误、重复过程

3.2.3

操作

输入步骤:视频、PPT、讲义、代码

输出步骤:代码等放于GitHub,博客文章放于金老师网站

3.2.4

开疆拓土的自学过程

已掌握的领域向外扩展学习较为稳妥,两个领域边界能碰上,知识就能融为一体。

考试突击方法

某门课知识点归纳整理方法

某些东西速记方法

信息搜集法

实验室方案设计、绘图、制样法

准备一场比赛的方法:调研+经验+知识+知识背诵+花时间的技能点+训练

英语单词背诵方法

3.3

写作好处:迭代,完善思维,以一种更令人信服的方式表达个人想法

3.4

阅读他人代码

和其他程序员交流

规划自己的代码和程序使之更易于被他人理解

3.5

金老师没有提到的一点是,还需要学习设计模式。

4.策划

 4.1

拟定自学路线

学习目标,学习目的,已有模板,复制成功

基本路线为:学习一门编程语言→学习开发框架→做项目

学习编程语言的方式:看视频+刷题库+看经验帖

学习开发框架的方式:看视频

做项目的方式:掌握编程语言后搜集相关信息与资料,主动找老师

4.2策略

将自学路线细分,分为阶段性要完成的任务

4.3计划

每天制定一个适合自己的学习计划

4.4安排


附件清单



评论于: