编程极简入门,7天学会一个编程语言

图片 1

一. 为什么要写这个教程

我是一名程序员 , 从入行以来身边就一直有不少朋友对我的工作特别好奇.
随着近几年大数据,人工智能等一系列的概念被媒体大肆宣传.
越来越多的人都有兴趣进一步的了解编程, 甚至想投生于这个行业
.但同时他们也有一些担忧,感觉学习编程非常困难,门槛特别高,
比如需要有很好的数学功底, 要有很强的逻辑思维能力…等等.
以下是一位同事的原话,我觉得非常具有代表性.

以前读书的时候也学过C语言, 当时也知道学好编程以后一定很有用.
但是因为自己学的不是计算机专业, 所以算法,数据结构等课程都没学过,
所以现在也很难学会编程了.

听完他的话,我觉得不少人对编程还存在一些误解
误解一 只有科班出身的人才能学会编程
2015 年编程问答社区 Stack Overflow 公布了一份程序员调查报告,来自 157
个国家的 26,086 名开发者参与了调查. 其中有两项关于学历(学位)背景的调查,
其中科班出身的程序员比率大致在58%左右(本科生38% 研究生18% 博士生2%),
也就是还有42%的程序员是非科班出生.
所以是否科班出身真的没有你想想的那么重要.
误解二 学编程需要掌握高深的算法
算法的确是计算机程序中最重要的组成部分,
某些场景下不同的算法效率上可能相差千百倍.所以学好算法绝对可以提高一个程序员的能力和视野.
但是并不是所有的程序都需要纠结算法.
所以一般只有在设计一些核心组件或系统遇到问题的时候才会考虑如何优化算法.
我想做点什么
明明对编程很感兴趣,但由于一些误解,最终没能掌握编程这个技能那真是太可惜了.
所以我就想做一个课程,,消除这些误解. 让大家对编程有一个正确认识,
每个人都可以学会编程.

昨天写了一篇文章,《7天足够你学会一门编程语言了,省下找培训班的钱吧》,质疑的声音挺大的,这里说说我觉得可行的理由吧。

二. 学习编程的正确方式

传统的编程语言教学方法往往是介绍一门编程语言完整的语法特性.
我认为这种教学方式更适合已经有一定编程经验的人,因为他们已经了解编程的核心概念,只需要学习这门语言的语法特性即可.
但对于初学者来说,因为没有编程基础,一下子理解这么多的编程概念,容易产生畏难情绪.
所以我认为对于初学者来说,更好的学习方式应该是”少学多做
少学多做

  1. 花最少的时间了解核心的概念,语法基础
    类似帕累托原则,花20%的时间,获得80%的效果.更重要的意义是不会让你对编程产生任何恐惧.
  2. 动手做一点东西
    编程语言就像我们交流的语言一样,不说不练永远都学不会.所以学会编程最好的方式就是“编”程
  3. 遇到问题,寻找解决问题的方法
    这个阶段就能 了解更多语法特性,及算法.

所以学习编程的整个过程,就应该和婴儿学习母语一样,学一点,说一点,
不断说,不断错,不断改进的过程.

一、故事

三. 总结

我相信人人都能学会编程,使用编程. 并且利用编程协助解决生活,工作中的问题.

课程特点

  1. 压缩概念 — 筛选最重要的编程概念, 避免初期学习过多的概念,产生畏惧.
  2. 实例教学 — 以实际的例子进行教学, 更容易理解
  3. 边学变练.– 只有自己动手写代码,才能真正掌握编程.

课程目标

  1. 了解编程的核心概念
  2. 有独立写程序的能力

7天学会一门编程语言,这个是我读大一的时候,一个同是大一的朋友告诉我:“我用了7天学会了asp了”,我第一感觉也是“怎么可能!”(现在已经没有什么人用asp了,类似现在的php,那个时候我们也没有太多的编程基础,网络资源远没有现在丰富,还好图书馆藏书非常多,靠泡在图书馆里学习技术)。那个朋友告诉我:“是被逼出来的”,随后进入研究院跟老师做项目。后来我向那个朋友学习asp,学习了半个月,书中所说好像都能看懂了,但又好像不懂的感觉,没有把握。然后,这个朋友跟我说,有人找他做项目,有没有兴趣一起做?我回答“有”,然后旷课泡在图书馆一个下午,晚上通宵用电脑练习,几次想睡都咬牙坚持了下来,我也不知道算一天还是两天,总之我弄懂了asp,可以做项目了。这是我第一次看到大学城的日出,也是我程序员生涯正式开始。至于那个朋友,现在在资本主义国家了。

四. 课程目录

其实编程的核心概念几乎可以用任何一门编程语言进行讲述,但考虑到本教程的受众大多是没有编程经验,或者很少编程经验的人,所以选择语法相对简单,且比较容易上手的python进行教学
基础概念 (已发布)

  1. 编程极简入门(python)-01-前言
  2. 编程极简入门(python)-02-安装python环境
  3. 编程极简入门(python)-03-第一个python程序
  4. 编程极简入门(python)-04-变量
  5. 编程极简入门(python)-05-条件判断
  6. 编程极简入门(python)-06-方法
  7. 编程极简入门(python)-07-批量处理
  8. 编程极简入门(python)-08-模块

课后练习(暂未发布)

总结:逼出来的,没有压力怎能出奇迹。

二、范围

《7天》文中所写,是掌握基础,从基础中再进入实践,文章不长,也很容易看出这7天方法出来是怎样的水平。在我们学习编程基础,事实上很多人都能够很容易接受,但为什么初学者会觉得迷惑呢?

1、算法

多种排序算法、多种遍历树的方法就让很多初学者搞模糊了。试问做项目,尤其是初学者,除了遍历一个列表外,需要用到多高端的算法呢?算法、数据结构这些都是很重要,值得我们在职业生涯中不断研究,但刚开始,确实可以放一放。

2、高级用法

匿名内部类、指针、文件操作等,处于初学者而言,要理解所花的时间是非常多的,然而理解后,真实项目中又少用到,或者只是简单用到,不如先知其然,而后知其所以然。

总结:不是说教程有错,而是可以先入门,再一步步吃透教程。

三、时间

要成功,肯定需要吃苦,在《7天》文中每一天,都需要花上10个小时去钻研,或者可以说,要花70个小时,就可以入门了,就知道自己这条路怎样走下去。

不可思议?只要70个小时?

发表评论

电子邮件地址不会被公开。 必填项已用*标注