有哪些项目在编程学习中练手最有效?

  • 回答一些正在自学编程的童鞋跟我提的问题
  • 自学编程时学的东西忘得快,做什么项目最有效?
  • 怎样判断一个项目最适合自己学习练习?
  • 如做设计一个项目自己在学习中练习?

一、不同的阶段,不同的练习

我把IT编程类的学习,一般分为以下几个阶段:(以下为递进关系)

  • 程序逻辑阶段
    练习基本都是解答数学题,如万年历,斐波那契数列,完全数,鸡兔同笼问题。要求掌握循环、嵌套循环,二维数组熟练应用。
  • 面向对象阶段
    思维要从面向过程向面向对象,面向接口转变。没有一定代码量的基础,转不过,把面向过程的方法调用,参数传递,方法如何定义设计弄清楚,再转到类的设计,消息传递上。
    这个时候的练习走向综合性。没有一定代码量的积累是很难到OOAD(面向对象的设计与分析)的。
  • 某个开发语言类库,API
    Java如io, lang, util, text, sql包下类的应用
    此时多做一些针对性的,如io, jdbc的
  • 与这个核心语言相关联的其他必要知识点
    如web开发语言,都会涉及到 html, css, js(jq), db
    手机端开发相对单一,也会有sqlite, 简单html, h5
    这部分甚至可以单独项目练习,最好是结合最后的项目(下面有推荐)。
  • 框架阶段
    分为基本和扩展框架
    比如Java,先掌握jsp, servlet,然后是Struts2, SpringMVC,MyBatis等轻量级框架
    这时的项目,以大的综合性为主,基本上就是你想到的最终项目。

二、锁定一个最终的项目作为目标,Step by Step

典型练手项目如:Web学习项目三件套:BBS(论坛),商城,CRM,适合Java, PHP, ASP.NET的学习。

客户端典型练习项目:MIS(信息管理系统), 小工具类(记事本,播放器),适合Android , iOS , C语言基础的学习。

这样的项目一定要完全模仿网上现成产品的功能来实现,要“高仿”,甚至前台页面的样式代码可以直接从网上扒下来。

MVP原则(最小化可行产品)
1、用学的东西做出最小化产品来
不同的学习阶段,可以做出不同的练习、项目。但是不能照着书本,视频,一行一行敲过,运行完了,就OK了。

而是要做扩展,在这个基础,想想还能不能添加其他的功能。要有产品意识,而不是Demo或练习的思维。

2、用掌握的最少知识做出一个产品来,再逐步扩展。
如想做一个Web项目,你需要掌握html,css,js(jq), database, Java(或php, python, .net),这些知识点,你一个个自学下来,太零碎,如果没有项目驱动,用最小化项来实现,整个学习效果都不好。

所以要分清核心,在关键知识点掌握基础上就做项目来提高,如jsp,servlet, jdbc 加简单html ,少量js,即可实现一个完整web项目功能。

在这个基础上,向后端扩展,就是掌握轻量级框架,向前端扩展就是掌握html, js, jquery, bootstrap

3、尝试用编程开发来提高你工作中的效率
把你工作中的痛点(低效率),从项目的角度来思考,搞一个项目去提升工作效率,解决痛点问题。


以学习Python为例,我做了哪些项目,是如何快速提高并应用的?这些项目是自己设计并实现的。

1、确定体系,确定方向
刚开始我了解了一下Python能做哪些:爬虫、Web开发、科学计算,游戏、图形开发... ... 太广啦,我需要找一个学习的切入点,即先学什么内容,用Python去做什么?

选择爬虫作为我Python学习的开始。方向确定后,简单了解语法,找了几段代码边看边改,熟悉Python爬虫,一开始是从网上爬图片,然后是页面解析 xpath , beautifulsup , 写了这篇文章:当我们学Python时,我们学什么?。上周一个Python的公众号跟我联系要求转发。

基本的数据抓取没有问题后,我开始学习Scrapy框架(中间还学习了mongodb),一次数据爬取可以达到10W+,写了这篇文章:60小时Python爬虫学习:从100行数据到10W+数据,这篇文章也受到某V的关注,说很不错。

手头的数据多了,就想这多数据如何处理,于是接触数据分析,刚开始数据分析时困难重重,没想到我写的爬虫的文章下,就有留言给我推荐书。开始了Python科学计算的学习。

2、选择项目,解决问题
在Python数据统计和分析上,刚好看到简书上一个连载榜的统计,顺带帮助解决这个数据抓取和统计。日常工作中也有一些小的应用。

然后围绕简书的数据,写了几篇数据分析,也受到了简叔关注和点赞。之后也加了一些与联系我想做数据分析或想要数据,或者跟着学习的朋友。

3、快速输出,由此及彼
学习是一个输入的过程,而项目和文章是输出,高质量的输出就是检查你的学习效果的最好方式。Python的整个内容已经很清晰。写文章的过程还了解数据可视化,分词技术。

最近关注儿童如何学习编程开发,《与孩子一起学编程(Python)》,也想比较一下儿童编程如何教,儿童学Python与学scratch有什么不同。
如果你是没有计算机基础,没有编程语言基础,看看这本书,就知道学习掌握一种开发语言根本不是问题。

Python数据分析还要走一个比较长的时间,了解到Python在Web开发中的优势后我开始学习Python Web,掌握了Django开发整个流程,我选择的是做个博客。

我的Python学习文章:
Python爬虫30篇:Python爬虫学习
数据分析12篇:Python数据分析
PythonWeb开发 3篇:Python Web开发

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容