零基础学计算机编程有什么好的书籍推荐
极客晨星,专注6-16岁少儿编程教育.
《动手玩转Scratch Jr编程》,这本教材里面的讲解十分生动,很受孩子们的欢迎。
还有《父与子的编程之旅——与小卡特一起学 Python》这本教材用很多形象的卡通来解释抽象的概念,非常深入浅出,不过本这教材后面稍微有些深奥,比较适合大一点的孩子。
来自某互联网大咖的推荐与建议:对于想要进入IT行业的学习者来说,除了学习技术知识外、建议再学习思维能力以及了解职场。掌握意向岗位要求的技术,学习寻找问题、解决问题的思维能力,提前了解职场利于自身职业发展。精心挑选18本优秀书籍(技术与思维能力),送给当代大学生。
【10本】互联网类(与相关职位相匹配):
《人人都是产品经理》
作者:苏杰 - 电子工业出版社
知识匹配的岗位:产品经理
特点与推荐理由:
● 产品经理入门级书籍
● 丰富的工作经验分享
● 系统性梳理用户、需求、项目、团队、战略、修养六大话题
《HTML5布局之路》
作者:刘国利 - 清华大学出版社
知识匹配的岗位:HTML5 (WEB前端) 开发工程师
特点与推荐理由:
● 依照网站开发流程进行讲解,更易吸收
● 提供丰富的学习方法以及开发实战经验
● 理论与实践相结合,提供丰富的案例及面试真题
● 最适合初学者使用的HTML5技术入门书籍
《Head First》 系列书籍
作者:[美] 弗里曼(Freeman E.)等 - 中国电力出版社
知识匹配的岗位:计算机类IT开发岗位
特点与推荐理由:
● IT技术入门书籍系列
● 生动有趣、图文并茂
● 易理解入门
《程序员第二步——从程序员到项目经理》
作者:尹华山 - 人民邮电出版社
知识匹配的岗位:项目经理(技术经理)
特点与推荐理由:
● 技术思维到管理思维的改变
● 适用于技术人员开拓视野
● 从不同视角来审视工作、生活与自己
《SEO实战密码》
作者:昝辉 - 电子工业出版社
知识匹配的岗位:SEO工程师
特点与推荐理由:
● SEO百科全书类的入门指导
● 理论与实践相结合
● 从SEO原理到工具再到技巧解析
《乌合之众:大众心理研究》
作者:[法] 古斯塔夫·勒庞 - 新世界出版社
知识匹配的岗位:产品及运营基础理论
特点与推荐理由:
● 大众心理学
● 群体理论的经典著作
● 颠覆人们对群体的认知,对群体层层分析、逐步推进
《部落的力量》
作者:[美]戴夫·洛根 等 - 中国华侨出版社
知识匹配的岗位:产品及运营基础理论
特点与推荐理由:
● 互联网时代团队管理圣经
● 依靠部落的力量,掌握撬动团队飞跃的4个杠杆点
● 指导管理者如何激发每一个人内在潜能
《从零开始做运营》
作者:张亮 - 中信出版社
知识匹配的岗位:运营(新媒体运营等)
特点与推荐理由:
● 运营入门级书籍
● 运营工作相关内容广泛
● 全面科学的运营思维介绍与案例解析
● 介绍相关运营经验
《重新定义公司 谷歌是如何运营的》
作者:[美] 埃里克·施密特等 - 中信出版社
知识匹配的岗位:CEO
特点与推荐理由:
● 实用、易理解的公司管理指南
● 解读谷歌如何颠覆传统的MBA模式
● 一本充满能量、令人兴奋的创业入门书
《重新定义团队 谷歌如何工作》
作者:[美] 拉斯洛·博克 - 中信出版社
知识匹配的岗位:人事经理(人力资源管理)
特点与推荐理由:
● 揭秘谷歌的人才和团队管理的核心法则
● 《纽约时报》畅销榜第一名
● Business Insider 2015最佳商业书籍
● 以人为本企业的团队组建和管理原则
【8本】思维能力与职场知识类:
《谁动了我的奶酪》
作者:[美] 斯宾塞·约翰逊 - 中信出版社
相关思维能力:跳出适应区、目标
特点与推荐理由:
● 寓言故事
● 如何面对变化
● 在生活与工作中得到更多成就感
《致加西亚的信》
作者:[美] 阿尔伯特·哈伯德
相关思维能力:执行力
特点与推荐理由:
● 职场畅销书
● 提高执行力的方法
● 对自己负责
《把时间当作朋友》
作者:李笑来 - 电子工业出版社
相关思维能力:时间管理
特点与推荐理由:
● 时间管理是成功的关键所在
● 学会打开心智
● 从心智成长的角度谈时间管理
《杜拉拉升职记(共4册)》
作者:李可
相关思维能力:职场故事
特点与推荐理由:
● 职场故事
● 职场指南
● 帮助职场新人了解职场规则
《如何阅读一本书》
作者:[美] 莫提默·J.艾德勒 等
相关思维能力:阅读方法、学习方法
特点与推荐理由:
● 学习阅读方法与能力
● 学会梳理书籍骨架
● 不同书籍适用的不同阅读方法
《学会提问》
作者:[美] 尼尔·布朗 等 - 机械工业出版社
相关思维能力:提问方法、如何思考问题
特点与推荐理由:
● 批判性思维指南
● 锻炼批判性思维,提出好问题
● 学会理性分析推理
● 克服偏见对判断的影响
《金字塔原理 思考、表达和解决问题的逻辑》
作者:[美] 芭芭拉·明托 - 南海出版公司
相关思维能力:如何思考、表达、解决问题
特点与推荐理由:
● 学会问题思考的逻辑与练习
● 掌握语言表达的逻辑与练习
● 解决问题的方法论与练习
《卓有成效的管理者》
作者:[美] 彼得·德鲁克 - 机械工业出版社
相关思维能力:自我管理、团队管理
特点与推荐理由:
● 现代管理之父著作之一
● 管理者应如何做到卓有成效
● 管理者应具备哪些特征
我觉得应该根据你的工作需要或者说你的发展方向而定。基本上两大类吧:C/C++和Java。比如,如果你要做企业级应用的你应该学习Java和C#;如果你想做嵌入式,那么应该学好C语言;其他情况下,在你不知道要做什么之前你可以选择学习C/C++。学会这两大类中的一类,对于你学习其他语言都将是比较轻松,包括脚本语言,动态语言„„呵呵,这里想就自己的学习经历和情况给大家一个建议,仅供参考。
1、我的入门是从学习C语言开始的(其实课程是C++),这是我们学校的公共课,我上课比较认真(虽然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我认为对于完全没有基础的人而言,听别人讲比较容易入门。当时的教材是学校自己编的,挺烂的。
建议一(以C/C++为例),对于刚想进入编程的人(就是从来都没有接触过编程的人),最好是听课的方式(自己看的话估计要很慢,而且很痛苦),可以找视频或者培训等。C语言推荐入门教材:谭浩强的C语言,最新版是第三版,不过第二版应该也可以了(蓝色的)。说明一下:坚决不同意直接看K&R的《The C programming language》,这本书绝对不是初学者可以看懂的,里面讲语法的并不多,语法都是合在程序里面讲。不过这本书非常好,入门以后一定要看的一本书。
当然可以从C++直接入门,C++之父强烈推荐从C++直接入手。C++推荐入门教材:钱能的C++(红色的,清华大学出版),这本书第一版不是ISO C++,不过比较经典,作者现在也出了第二版了,第二版好像不是太好。国外的最好的入门教材据说是:《Acclerated C++》作者是Koenig和Moo夫妇,非常厉害。他们的著作还有《c陷阱与缺陷》《c++沉思录》。《Acclerated C++》这本入门的书我没有看过,我觉得还是先找本国内的书好好看,看的差不多了,国外的经典书籍随便看就会觉得很有味道,否则你可能会很受打击。入门的书至少要看两三遍(要彻底理解哦 ):)。如果是C++,我建议后面类的部分至少要理解三到五遍。说明一下,c++模板的部分可以先不用看,如果有兴趣的话,等把c++学的差不多了,我觉得可以把模板、STL、泛型编程结合起来学习,这个又是一个很大的工作量了,又得下很大的功夫。所以说,C++博大精深啊。
建议二、学习过程中要结合简单的算法,像冒泡还有类似c语言程序百例这样的小例子做做;更进一步应该做点大一点的项目,最好是控制台程序。或者你已经着手学习win32、MFC或linux,你也可以结合平台做点小的项目。
2、第一阶段是最苦的,接下来相对就知道应该怎么去学习了。这时候假设你已经有了扎实的c++基础。这是你可以选择也应该选择发展方向了,做企业级应用,还是系统开发,嵌入式设计或者游戏开发„„ 那时我其实并没有考虑那么多,因为我不是学计算机的,因此我就把参加一些计算机之类的考试当作学习目标。我当时其实C++语言基础已经很不错了,但是上机实践很少(那时我没有电脑),因此参加省计算机二级,全国计算机三级和全国计算机四级考试,结果上机都没有通过。我很郁闷,二级的时候是我不知道怎么样进那个DOS界面把题目调出来,三级的时候是很快就编好了,也通过运行了,可是成绩出来却不及格,四级的时候是编好了,可能是我那题目比较难,好像用了两次循环,结果那破机器竟然承受不了。后来一乱就毁了(当然主要是上机太少了)。不过我那些上机都没有去补考。二级和三级的时候是自恃水平已经远远超过考试要求了,四级的时候则因为自己已经通过高级程序员考试,觉得补考上机好像没必要。(我高程和四级都是在2003年考的)。
建议三:定位学习方向,并好好学习计算机基础知识。在你还不确定学习方向,或者你还在大学本科期间,那么我认为应该先把计算机的基础知识好好学习一下。我认为计算机必学的基础课程而且要精学——首先是数据结构,其次是操作系统、软件工程,数据库。这四门课不管你将来想从事哪个方向的基本上都会用到。当然,有时间的话,其他基础课都是应该掌握的,离散数学、组成原理、体系结构、网络、编译原理甚至跨学科的。方向是很重要的,因为知识其实是无限的,一个小小的领域就够你研究很久了。本科生可能还没有什么方向的感觉,但是到了研究生你一定要清楚自己到底想要做什么,要往哪个方面发展,不要盲目学,瞎学乱学,否则最后可能看似什么都会,其实什么都不会。
我也曾经学习过Java一段时间,这篇文章既然是谈编程语言的入门学习,我也简单说一说。因为有了比较C++扎实的语言基础,所以Java学起来比较轻松。我先找了国内一本薄薄的教材很快看了一遍(几乎都理解,但是只看了一遍),空闲的时间配合清华张孝详老师的java视频。以后其实才算我真正要开始入门JAVA的学习,我用了是《core java》中文第六版(本来想用候捷翻译的第二版的《Thinking in Java》,发现被同学弄丢了),这本书我差不多用了20天才把里面的知识都搞懂,当然包括程序风格的模拟,最重要的时我把有关GUI编程的那三章里面的程序例子几乎可以默写出来(当然,那是因为我理解了,其实这样就变成了我的知识了),里面的API我也记得差不多了。(说明:Java里面的GUI编程没什么用处了,建议大家先跳过,GUI不是Java的长处,如果以后需要的话再查手册或者再记忆学习)。
其实学习了C++以后,学习Java是比较容易了,但是建议不要两种都学啦,他们的用途是不一样的,你应该熟悉其中一种,更重要的是熟悉其应用领域所需要的专业知识甚至平台,以及使用他们的企业,有创业计划的还应该考虑一下他们的应用领域,最重要的是思考他们的潜在的应用领域。
对于初级的学习就讲到这里,接下去的学习其实都是高级部分,先不介绍了,因为:一、我自己都还没有学懂,这里乱吹会误人子弟。 二、高级东西的学习很多,有很多选择,又需要很多繁琐的知识,可能也一下子没办法讲清楚。
学习方法当然就是看好基础知识之后自己练习编程,或者根据人家编好的程序自己改改实现其他功能。还有,英语要好。因为编程都是全英的。希望我的回答对你能有所帮助!