微信号:coderising

介绍:工作15年的IBM软件架构师分享编程和职场的经验和教训, 不容错过.

关于2017编程提高群

2017-01-15 19:54 刘欣

感谢大家的厚爱和支持, 很多人对《2017,提升你的编程能力》中提到的编程技能提升群感兴趣,也提出了很多问题, 我在这篇文章统一答复下。


公众号的文章发出去就不能改了, 如果读完了还有疑问,我还建了一个专门答疑的QQ群:  610157930


1. 能不能分期付?


可能我定的每年1200元吓住了部分人, 其实这个价格不高,你想想,这可是一年的费用, 每周都有分享啊。


也有部分人想按月付, 只是这样的话人一多我管理起来就要吐血了。


我想了个折中的办法, 每3个月支付一次, 每次300元, 这样的话对部分人的压力就降低了很多。


现在已经付1200元入群的, 我已经相应的退费, 这样大家保持一致。


2. 课程的形式和时间


课程从2017年2月中旬开始, 持续一年。


我每周日晚上会通过QQ群视频给大家分享,讲解,布置作业,讲解作业 , 时间是1.5-2小时。如果讲不完, 周三晚上加一次。


讲课都有录屏, 不用担心错过。


注意: 讲课只是很小一部分, 自己动手写代码, 看书, 看源代码,写文章,才是大头


在QQ群里自然是随时交流。


3. 报名的截至时间


理论上没有截至时间, 但是参与越晚,学的越少。

最好是在2月中旬之前报名加入。


4.我想了解一下平均到每天的任务量大概有多大 ?


每周5-10道数据结构和算法的编程题。


还有其他的编程课,例如实现简单的框架、Mini JVM, Mini Web 服务器等等。


每月读一本书(好吧, 你要是觉得都不完的话就两月)


每周写一篇读书笔记或者学习感想。


5. 具体的java 基础要掌握到什么程度才适合这个教程?


我认为只要你读过java 相关的数据,或者看过视频,  理解java 集合,线程,IO, 反射 等知识,照着课本或视频敲过例子就可以了。


6. 会不会讲容器,虚拟化,微服务,分布式等内容?


不会, 这是一个针对初级程序员的社群活动。


7. 会不会有Android, iOS的内容?


没有,  语言用Java , 虽然目标是提升内功, 但技术上偏向Java 后端编程


8. 我学完后能达到什么水平?


这个很难量化,我们社群涉及到的主要还是内力的提升,包括数据结构和算法,OOD, 模式,JVM, 框架,计算机基础。


我希望通过一年的努力,一个初级程序员能达到中级水准: 基础扎实, 能独立完成模块的设计和开发,代码质量高,对常用框架理解透彻,能自己模仿着写简单的框架。


当然在这个社群里, 我主要起到指导和督促的作用, 技能的提升主要靠自己努力。


9. 那原始碼導讀和自製框架又是如何進行?? (这是个台湾的朋友)


源码我给大家讲解, 带着大家阅读,  框架我会编码演示


10 .说说具体是怎么安排的?


我坚信学习是一个不断迭代,螺旋上升的过程, 我们很难说在某个月去突击某个技术, 只能说有所侧重。


下面的内容是供大家评论, 正式开始前还可以修改:


热身

目标: 先把我们后续练习中要用的各种Java 知识点巩固一下(顺便也摸下底, 看看大家的Java SE水平)


作业:

完成一套覆盖各个Java 知识点的试题。


自己实现常见的数据结构 ArrayList, Stack , LinkedList , Queue ,Tree, 有能力的同学可以实现Iterator


实现多线程下载文件,支持断点续传 (涉及 网络,IO, 线程等知识)


实现一个程序,读取类似struts.xml 的配置文件,根据xml的定义创建相关的Action类来执行

(涉及 IO, 反射等知识)


形式: 讲解单元测试、重构等基本技能

回顾Java SE的重要知识点, 通过做题对这些知识点做应用。


持续时间:  0.5 个月

JVM

目标:  自己写一个能够执行简单Java 程序的“Mini虚拟机”出来。


这是一个综合的练习,涉及到编码、字节序、数据类型、IO, 文件格式、数据结构(栈、链表)及其操作、设计模式 , 函数栈帧和调用 等各种知识。


实现这个Mini JVM 需要你在抽象的层面进行思考,绝对是很好的锻炼。


自己实现一遍和走马观花的看一遍书籍感觉是绝对不一样的。


推荐的书籍:

《深入理解Java虚拟机》

《Java虚拟机规范(Java SE7)》

《深入Java 虚拟机》


形式: 我先讲概念, 展示重点部分代码, 然后大家实现。


持续时间: 预计 1 - 1.5月


数据结构和算法

目标:  绝对的重头戏, 这是一个贯穿全年的活动。


不追求难题, 只追求最基本的数据结构及其操作: 链表、队列、栈、树等等。


重要的是练习, 每周5-10道编程题。


我在大学是曾把数据结构课程后面的习题都做了一遍, 真是受益匪浅, 逻辑思维能力就此建立。我希望大家也能做到。


作业:

每周5- 10道数据结构相关的编程题


推荐书籍:

《算法》

《数据结构与算法分析》


形式:每个月我都会讲解下基本的数据结构, 然后布置作业,大家完成作业


持续时间:全年


面向对象设计和设计模式

目标:OOD和设计模式也是此次活动的重点, 养成面向对象设计的思维


作业:

我们用4到5个例子来学习面向对象的设计,平均每周一个。

用java实现各种模式, 请各位同学在群里做学习心得分享。


推荐书籍:

《敏捷软件开发:原则,模式,实践》

《面向对象分析与设计》

《Head First 设计模式》


形式: 我先讲OOD的概念, 对每个例子进行介绍,然后大家编程实现, 最后进行分析讲解。


持续时间 : 预计 2-3 个月


“重复”造轮子

目标: 透彻的理解Web后端框架的原理


作业:

Struts(或者Spring MVC), Spring核心(DI和AOP), Hibernate 各造一个。


形式: 对每个框架, 讲解原理, 我会展示重点部分的代码, 大家编码实现。


持续时间: 预计 3 -4 个月。


计算机网络相关


目标:了解网络协议的本质,熟悉TCP/IP, 熟练使用Socket编程


作业:

用socket来访问网页

自己实现简单的静态Web服务器

模仿SMTP协议,实现简单的邮件客户端和服务器

使用Wireshark 观察HTTP, TCP, DNS等协议细节。


推荐书籍:《计算机网络,自顶向下的方法》


形式:我会讲解网络知识的重点, 然后带着大家编程实现


持续时间: 预计 1.5  - 2 个月


源码阅读


目标:通过阅读优秀源码, 提升自己的编程能力


作业: 阅读 Guava,  Spring core (主要关注DI和AOP) , JUnit,    JDK集合框架 等源码,写出分析文章。


注意:为了减少“噪声”和细节, 我们会选取这些软件的早期版本和和核心部分来阅读。


形式: 我会讲解重点部分, 大家去阅读细节。

持续时间:预计 2-3 个月


书籍


其他需要大家阅读的书籍如下, 对于大块头,我会指定章节让各位阅读 。


下列书不一定全部读完, 必读的我做了标记。


《编码》-- 必读

《程序是怎么跑起来的》 -- 必读

《计算机系统概论》

《深入理解计算机》 -- 部分章节必读

《操作系统概念》

《计算机网络:自顶向下的方法》

《敏捷软件开发:原则,模式与实践》 -- 必读

《重构》 -- 必读

《代码整洁之道》 -- 必读

《修改代码的艺术》

《编程珠玑》

《深入理解Java虚拟机》 -- 部分章节必读

《Head First 设计模式》 -- 必读

《代码大全》

《算法》 或者《数据结构与算法分析》 -- 必读



还有问题? 到QQ群里来问吧 : 610157930


想立刻参与的话,可以给我微信或者支付宝转账, 分期付款,每期只需300元


微信:liuxinlehan

支付宝 :onlyliuxin@gmail.com


转账后务必加我的微信(liuxinlehan)或者QQ(3340792577) ,我会邀请你入群。


公众号:码农翻身

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。


 
码农翻身 更多文章 2017 , 提升你的编程功力! 2017 , 提升你的编程功力! 为什么敏捷开发难于成功? Java帝国之拨云见日识回调 从1加到100:一道简单的数学题挑战下你的大脑
猜您喜欢 如何用商业思维分析用户行为数 2016,我们想为大家做一点小事 HBase高可用原理与实践 拖拽 事情永远不是我们表面上看到这样