一. 为什么要写这个教程
我是一名程序员 , 从入行以来身边就一直有不少朋友对我的工作特别好奇. 随着近几年大数据,人工智能等一系列的概念被媒体大肆宣传. 越来越多的人都有兴趣进一步的了解编程, 甚至想投生于这个行业 .但同时他们也有一些担忧,感觉学习编程非常困难,门槛特别高, 比如需要有很好的数学功底, 要有很强的逻辑思维能力…等等. 以下是一位同事的原话,我觉得非常具有代表性.
以前读书的时候也学过C语言, 当时也知道学好编程以后一定很有用. 但是因为自己学的不是计算机专业, 所以算法,数据结构等课程都没学过, 所以现在也很难学会编程了.
听完他的话,我觉得不少人对编程还存在一些误解
误解一 只有科班出身的人才能学会编程
2015 年编程问答社区 Stack Overflow 公布了一份程序员调查报告,来自 157 个国家的 26,086 名开发者参与了调查. 其中有两项关于学历(学位)背景的调查, 其中科班出身的程序员比率大致在58%左右(本科生38% 研究生18% 博士生2%), 也就是还有42%的程序员是非科班出生. 所以是否科班出身真的没有你想想的那么重要.
误解二 学编程需要掌握高深的算法
算法的确是计算机程序中最重要的组成部分, 某些场景下不同的算法效率上可能相差千百倍.所以学好算法绝对可以提高一个程序员的能力和视野. 但是并不是所有的程序都需要纠结算法. 所以一般只有在设计一些核心组件或系统遇到问题的时候才会考虑如何优化算法.
我想做点什么
明明对编程很感兴趣,但由于一些误解,最终没能掌握编程这个技能那真是太可惜了. 所以我就想做一个课程,,消除这些误解. 让大家对编程有一个正确认识, 每个人都可以学会编程.
二. 学习编程的正确方式
传统的编程语言教学方法往往是介绍一门编程语言完整的语法特性. 我认为这种教学方式更适合已经有一定编程经验的人,因为他们已经了解编程的核心概念,只需要学习这门语言的语法特性即可. 但对于初学者来说,因为没有编程基础,一下子理解这么多的编程概念,容易产生畏难情绪. 所以我认为对于初学者来说,更好的学习方式应该是”少学多做”
少学多做
1. 花最少的时间了解核心的概念,语法基础
类似帕累托原则,花20%的时间,获得80%的效果.更重要的意义是不会让你对编程产生任何恐惧.
2. 动手做一点东西
编程语言就像我们交流的语言一样,不说不练永远都学不会.所以学会编程最好的方式就是“编”程
3. 遇到问题,寻找解决问题的方法
这个阶段就能 了解更多语法特性,及算法.
所以学习编程的整个过程,就应该和婴儿学习母语一样,学一点,说一点, 不断说,不断错,不断改进的过程.
三. 总结
我相信人人都能学会编程,使用编程. 并且利用编程协助解决生活,工作中的问题.
课程特点
1. 压缩概念 – 筛选最重要的编程概念, 避免初期学习过多的概念,产生畏惧.
2. 实例教学 – 以实际的例子进行教学, 更容易理解
3. 边学变练.– 只有自己动手写代码,才能真正掌握编程.
课程目标
1. 了解编程的核心概念
2. 有独立写程序的能力
四. 课程目录
其实编程的核心概念几乎可以用任何一门编程语言进行讲述,但考虑到本教程的受众大多是没有编程经验,或者很少编程经验的人,所以选择语法相对简单,且比较容易上手的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-模块
课后练习(暂未发布)