精华内容
下载资源
问答
  • 怎样学编程

    2013-02-05 02:55:50
     你应该这样开始学编程 在 2012年08月02日 那天写的 已经有 747 次阅读了 感谢 参考或原文 www.cnblogs.com 服务器君一共花费了15.768 ms进行了3次数据库查询,努力地为您提供了提供了这个页面。 ...

    给大学刚开始计算机课程同学的一封信

     你应该这样开始学编程
    服务器君一共花费了15.768 ms进行了3次数据库查询,努力地为您提供了提供了这个页面。
    试试阅读模式?希望听取您的建议  

    我高三的时候,曾经想做一名外科医生,因为医生被人认为很有价值,而且我学过那么多生物学理论,不想轻易放弃。还有个原因就是我喜欢“挥舞”手术刀的感觉,虽然我只在实验室“挥舞”过解剖刀,并且最后的实验考试栽在了动物学实验上。此处略去20M。我最终学了软件工程。也没有什么可后悔的,求知是无止境的,学一样得爱一样,不能排斥它。即使一开始没有这种情感,也要慢慢培养起来。

    大一到大四我一直渴望却始终没有一个导师,方向感全得是自己把握,所以我学的东西比较杂乱,没有形成一个系统,还得慢慢的补过来。你现在的基础比我当时好,因为你一直在学基础的东西,这很好。大学四年的唯一目标就是把基础理论掌握好,因为将来从事的工作可能和预想的不一样,方向太多了,大学就选择一个方向意义不大。所以我希望你能珍惜剩下的这三年大学时光,有步骤的构建自己的计算机世界,形成一个有序的,坚实的理论体系。

    虽然你已经学过C++,但是C语言还是下一步必须学好学透的。C语言是比较偏底层的语言,也是比较好的入门语言。如果仅要求能用它来描述几个简单的算法,学起来应该很easy。但是,没那么简单。要学C语言,就要学透彻。学的透彻了,对计算机的理解也就更深了。在学习C的过程中,你可以从简单入手,基本语法掌握后,再读一些深入理解C语言的书籍。先读《C程序设计语言》,再读《C专家编程》《C和指针》《C陷阱与缺陷》《C语言深度解剖》《你必须知道的495个c语言问题》,这些书不一定要都全读,但是必须能深入理解以下问题:

    1. 编译链接过程:预处理,编译,汇编,链接。
    2. 程序调试方法:gdb的使用;assert。
    3. 进程的本质:代码段,数据段,堆,栈。
    4. 变量:局部变量(栈中),全局变量(数据段中),静态局部变量(数据段中),寄存器变量,数组与指针区别,枚举,结构体,共用体。
    5. 指针:数组指针,函数指针,指针的指针,空指针,指向常量的指针,指针的类型的本质含义,free的本质含义。
    6. 内存:堆,栈,malloc,calloc,内存泄漏,越界,memset,memcpy,字符串操作函数。
    7. 文件:流的概念,标准输入,标准输出,标准错误。
    8. 编程规范:怎样写漂亮的代码,正确性,清晰性,可靠性,可维护性,可测性,性能。
    9. 库:动态库的映射,静态库。
    10. makefile:C文件怎么组织,写简单的makefile。
    11. 字节对齐:结构体对齐原理,规则,按照X字节对齐,共用体的对齐。
    12. 预处理:宏,条件编译以及其他预处理指令,预处理的过程。
    13. 关键字:typedef,volatile,sizeof,extern,static,const。
    14. 运算:有符号无符号本质,溢出,位运算,优先级。

    这些书籍我会通过邮箱发给你,pdf的好处是可以很方便的做书签和标记,有什么问题可以随时记下来,方便以后阅读。写程序要用到编辑器和编译工具链。不用再使用可视化的编译工具了,这学期尝试下vim和gcc。搭建个linux虚拟机,在虚拟机中用vim写程序,用gcc编译,用gdb调试。

    在学习C语言的同时,可以学好数据结构,然后用C语言来实现那些数据结构。数据结构是最基本也是最重要的了,数据结构和算法如果学的不好,以后就会停滞不前。因为稍微深入一点的东西都会涉及到数据结构和算法,如果不能理解,就会处处碰壁。《数据结构与算法分析》与《算法导论》是必读教材,这学期和下学期要掌握以下基本结构与算法:

    1. 链表:实现单向链表,双向链表,单向循环链表,双向循环链表,单向链表倒置,递归倒序打印链表,用链表实现约瑟夫环问题,这就要求对指针要基本熟练。
    2. 栈:分别用链表和数组实现栈;用栈实现平衡符号问题;用栈实现四则运算(输入一个四则运算的字符串,输出结果)。
    3. 队列:分别用链表和数组实现队列。
    4. 树:分别实现二叉树的先序遍历,中序遍历,后序遍历;解决最近公共父节点问题;用队列实现二叉树的层序遍历;实现二叉查找树的查找,删除,插入;了解红黑树,B树,B+树。
    5. 哈希表:用链表实现哈希表的扩充。
    6. 堆:实现小头堆和大头堆的插入,删除;用堆解决top-k问题。
    7. 排序算法:实现基本排序算法并计算复杂度,了解稳定性,包括冒泡排序,选择排序,插入排序,希尔排序,快速排序,桶排序,基数排序,归并排序,计数排序,堆排序。
    8. 选择算法:实现快速选择算法。
    9. 动态规划:01背包问题;最大公共子序列问题;该类问题很多,网上搜索题目,该算法也是变化最多的算法。
    10. 回溯:求一个集合的所有子集合,顺便解决全排序问题(非回溯)。
    11. 图论:实现深度优先搜索和广度优先搜索;最小生成树的构造。图论其他算法供了解。

    以上是最基本的数据结构和算法,要熟练掌握还需要大量的练习,网上有很多习题可以做。不理解先网上搜索,还不理解问问同学,我这里有以前写的代码可以参考。

    这学期你有汇编课程,非常好,可以帮助你理解程序的基本原理,从而更好理解C语言。最近一段时间我也接触点汇编语言,发现以前学的都是皮毛,没有深入理解,所以很容易淡忘。学计算机的人长时间面对计算机屏幕上的黑框框难免记忆力衰退,接触的东西太多难免覆盖以前的知识,所以要经常温习才行,用mybase做学习笔记,同时也可以写博客做记录。学习汇编语言的同时你会接触到很多处理器知识,这个非常重要,只有真正理解了处理器的工作机制才能更好的理解语言层面的东西。所以我希望你在学习汇编时,能熟知各种寄存器的作用,深入理解代码段数据段和堆栈段,理解实模式保护模式以及进程的地址空间和寻址方法。这样才真的理解什么是进程。进程的本质就是一块块的存储空间(或者说是里面的数据)构成的一个有序的整体,这个整体中有一部分是指令,叫做代码段,有一部分是静态数据,叫做数据段,有一部分是函数执行时临时使用的空间叫做堆栈段,还有一部分是由程序员动态分配和管理的空间,叫做堆。进程的执行过程的本质就是获取某种形式的输入,取出代码段的指令执行,执行的过程中会用到一些存储空间存储中间数据,所有的这些指令和中间数据的目的就是得到结果,把最终得到的结果输出到显示器或者网卡或者硬盘等等。这就是计算机的能力。它能力的核心叫做计算。

    上面的一段话现在你可能还不懂,但是过一段时间你会明白的,而且一定要明白。我再重复一遍,学习汇编时要注意理解各种寄存器,实模式寻址过程,保护模式寻址过程,进程的地址空间,以后还要明白内核态和用户态,这里先不说。关于汇编,推荐你看《Intel汇编语言程序设计》,前面章节有体系结构的介绍,要细看。

    这学年的学习内容就这么多,你的其他课程也要兼顾,要记住,知识总是有用的。知识是美的。知识是最能获得乐趣的。

    另外你这学期应该参加一个集体项目,要多和其他的同学交流技术,看看他们都在学习什么,在做什么,对你有什么启发没有。假如你在一个良好的项目团队中,你就自然而然的受到团队的熏陶,在团队的推动下学习技术会更快,因为还有一群人可以交流想法。 在基础理论学好的基础上,php,面向对象,java等都可以跟着大家一起学,即使将来不用,了解下也是很好的。以后你还会接触到操作系统,微机原理与接口,计算机体系结构,数据库,计算机网络,单片机等基础课程,这些都是很重要理论课程,一定得学扎实。大二和大三一定要参加比较大的项目开发,实践经验很重要,将来面试时一方面要看你的基础实力,另一方面就看你的实践经验,然后从实践入手考察你的技能。如果实践的少,技能也体现不出来。一个内功很深厚的人如果不会任何招式,也是没有用武之地的。所以在勤修全真教内功的同时,要到江湖闯荡一番学会降龙十八掌,才能有机会学习九阴真经,成为天下第一。大三时如果有兴趣可以看看shell编程,linux用户态编程,linux内核编程,我在这方面可以帮你,像php我就帮不上。

    手写太累,寄信太浪费,所以就写下这电子版本的,你在我博客浏览即可。

    附学习书籍:

    1. C语言:《C程序设计语言》《c和指针》《C陷阱与缺陷》《C专家编程》《C语言深度解剖》《你必须知道的495个c语言问题》《C语言常见问题集》《高质量程序设计指南》《深入理解计算2.机系统》
    2. C++:《c++primer》《C++编程规范101条规则与实践》《C++ 设计新思维:范型编程与设计模式之应用》《C++沉思录》
    3. 汇编:《80x86汇编语言程序设计教程》《Intel汇编语言程序设计》《深入理解计算机系统》
    4. 应用:《java2参考大全》《php从入门到精通》
    5. 基础理论:《操作系统精髓与设计原理第5版》《计算机网络第五版》《深入理解计算机系统》《微机原理及接口技术》《单片机原理及接口技术》《数据库系统概论》
    6. linux(大二下或大三大四学):《鸟哥的Linux私房菜基础学习篇》《Unix.Shell编程》《Unix环境高级编程第二版》《linux内核设计与实现》《深入理解Linux内核》
    7. 拓展阅读:《编程之美》《程序员面试宝典》《深入理解计算机系统》《编程思想.第2卷.实用编程技术》《敏捷软件开发原则模式与实践》
    展开全文
  • 编程可以这样

    万人学习 2017-06-26 09:27:55
    编程可以这样》提出一种全新的学习理念,在我们去窥探各种语言或技术的细枝末节之前,老张会带着大家先去程序员的世界里遨游一圈:C语言只是用来写黑底白字的控制台程序吗?算法在游戏开发中有什么用?学校开设...
  • 看书、看博客、学课程或者看视频等 模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键 ⚠️ 思考学习别人思路后,脱离书本和博客,完全自己实现功能 自己实现一些 DEMO,看别人项目代码,与别人讨论...

    学习编程的过程,大致如下:

    1. 看书、看博客、学课程或者看视频等
    2. 模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键 ⚠️
    3. 思考学习别人思路后,脱离书本和博客,完全自己实现功能
    4. 自己实现一些 DEMO,看别人项目代码,与别人讨论,提升代码能力
    5. 在别人的框架和要求下,写代码实现业务
    6. 自己负责别人设计的模块的实现
    7. 独立设计业务模块并开发实现
    8. 负责大项目框架设计和拆分,带领别人进行开发
    9. 其他高阶的架构和管理工作,已经不仅仅是代码能力了

     

    而以下就是我个人总结出的六项重要诀窍。

     

    1.让编程成为一个习惯

    想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。

    对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。

    但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!

    接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的作法更容易长期坚持,且不会被其它因素所轻易干扰。

    同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。

    2.把工作拆分成小块

    对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。

    不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,推荐各位认真了解。

     

    3.阅读别人的代码

    经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。

     

    4.寻找良师益友

    学习编程的一个很好的方法就是和其他的程序员交谈。这不仅能够帮助我们多获得一种思维方式,同时也能够以更为愉悦的感受完成学习任务。至于内容没有特定的要求,可以是你正在学习的东西,也可以是你认为很酷的东西,更可以是你正在工作的东西。这样做可能会让你学到很多关于库,服务,编程语言和模式方面的知识。但是,最重要的是,你能了解到其他人是如何看待编程的。

     

    5.写技术文章

    如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。或者是在技术博客网站上搜索,找找是否有人提出了类似的问题,然后给出您自己的答案。如果答案不对,那么讨论的过程能够有效加深理解。这样的过程,能给我们带来宝贵的经验,同时也能帮助他人。

    值得提醒的一点,别因为自己刚刚涉及编程而有所顾虑。罗马不是一天建成的,出色的程序员也是一样。只要您对问题有所了解,就不妨给出自己的答案——无论对错,这都将成为一次宝贵的经历。

     

    6.保持耐心

    对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。

    在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~

     

    2020年最新的Java学习路线图,Java初学者必备

     

    总结

    Java学习是一条枯燥且充满荆棘的路,想法设法解决问题将会成为你工作的常态,唯一的乐趣或许就是技术攻坚后的瞬间喜悦。努力吧,少年,拿着这份学习路线图,去开启你的程序人生吧!

    IT行业的道路固然是充满了阳光了,一路上充满了美景,但是也充满了艰苦和崎岖,在突破了之后一路的阴霾,云霄之上,必然是一番广阔的云海。

    • 整理了一份关于java的系统化资料,从Javase- ssm-springcloud,包括了面试题,PDF电子书,网上商城项目,个人博客项目,分布式项目等都有想学习Java或者转行,大学生都非常实用,无任何套路免费提供,,加我裙   697888503下载  加群备注(博客),有什么问题都可以来问我

       

     

    有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!

    展开全文
  • 看书、看博客、学课程或者看视频等 模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键 ⚠️ 思考学习别人思路后,脱离书本和博客,完全自己实现功能 自己实现一些 DEMO,看别人项目代码,与别人讨论...

    学习编程的过程,大致如下:

    1. 看书、看博客、学课程或者看视频等
    2. 模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键 ⚠️
    3. 思考学习别人思路后,脱离书本和博客,完全自己实现功能
    4. 自己实现一些 DEMO,看别人项目代码,与别人讨论,提升代码能力
    5. 在别人的框架和要求下,写代码实现业务
    6. 自己负责别人设计的模块的实现
    7. 独立设计业务模块并开发实现
    8. 负责大项目框架设计和拆分,带领别人进行开发
    9. 其他高阶的架构和管理工作,已经不仅仅是代码能力了

     

    而以下就是我个人总结出的六项重要诀窍。

     

    1.让编程成为一个习惯

    想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。

    对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。

    但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!

    接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的作法更容易长期坚持,且不会被其它因素所轻易干扰。

    同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。

     

    2.把工作拆分成小块

    对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。

    不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,推荐各位认真了解。

     

    3.阅读别人的代码

    经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。

     

    4.寻找良师益友

    学习编程的一个很好的方法就是和其他的程序员交谈。这不仅能够帮助我们多获得一种思维方式,同时也能够以更为愉悦的感受完成学习任务。至于内容没有特定的要求,可以是你正在学习的东西,也可以是你认为很酷的东西,更可以是你正在工作的东西。这样做可能会让你学到很多关于库,服务,编程语言和模式方面的知识。但是,最重要的是,你能了解到其他人是如何看待编程的。

     

    5.写技术文章

    如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。或者是在技术博客网站上搜索,找找是否有人提出了类似的问题,然后给出您自己的答案。如果答案不对,那么讨论的过程能够有效加深理解。这样的过程,能给我们带来宝贵的经验,同时也能帮助他人。

    值得提醒的一点,别因为自己刚刚涉及编程而有所顾虑。罗马不是一天建成的,出色的程序员也是一样。只要您对问题有所了解,就不妨给出自己的答案——无论对错,这都将成为一次宝贵的经历。

     

    6.保持耐心

    对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。

    在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~

    IT行业的道路固然是充满了阳光了,一路上充满了美景,但是也充满了艰苦和崎岖,在突破了之后一路的阴霾,云霄之上,必然是一番广阔的云海。

    • 整理了一份关于java的系统化资料,从Javase- ssm-springcloud,包括了面试题,PDF电子书,网上商城项目,个人博客项目,分布式项目等都有想学习Java或者转行,大学生都非常实用,无任何套路免费提供,,加我裙697888503下载,有什么问题都可以来问我
    • 最新Java精讲视频,PDF书籍教程,面试题,学习手册

    在这里说一下,因为我是自学出来的,也深知自学的艰苦,如果你现在也在自学Java,在自学的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,资料都可以评论留言,有遇见任

     

    展开全文
  • 如果你也在学习编程,你可能也尝试了许多课程和资源。但是,学习编程有很多层次,从学习具体的编程语言,到学习如何像程序员一样思考。每个人的学习方式不同导致教学过程变得很复杂。 这里有七种学习编程的方式,...

    学习编程不仅仅是学会各种语言,你还需要学习如何像程序员一样思考。如果你也在学习编程,你可能也尝试了许多课程和资源。但是,学习编程有很多层次,从学习具体的编程语言,到学习如何像程序员一样思考。每个人的学习方式不同导致教学过程变得很复杂。

    这里有七种学习编程的方式,视频、文档、听觉、触摸……,你需要找到最适合你的那种。从视频、文档到听觉触觉,如何辨认最适合你的学习方式呢?又如何找到最好的编程学习资源来满足不同学习需求?

    学习方式简单来说,就是你学习新知识的时候所喜欢用的方法,这个方法能让你理解并记住新的内容。学习方式不是固定不变的。也就是说,你可能会有运用好几种主要的学习方式,但这些方式会随着学习内容的改变而有所调整。了解最适合你的主要学习方式有助于帮你选择合适的编程教程,从而获得更好的学习效果。

    (图片中文字,从左到右)

    第一行:视觉和空间,听觉,口头表达,身体运动,逻辑数学,人际社交,自我内在

    第二行:图片、画面、空间理解,声音和音乐,遣词造句、演讲和写作,运用肢体、触觉,逻辑推理系统,与人相处,独处、自学

    以下是七种广泛使用的学习方式

    视觉/空间

    这类学习方式的特征包括使用颜色和图形、图片,以及视觉媒体。视觉学习者喜欢使用文本编辑器,因为大多数编辑器使用特定的颜色来标注代码关键字。你可以尝试通过记录多色笔记来模拟这个过程。尤其是面对新词汇的时候,多色笔记有助于学习记忆。使用线框是将你的项目可视化非常棒的方法。你可以选择包含图表和图像的编程资源。我最喜欢的视觉资源是 终极 Flexbox 备忘单(The Ultimate Flexbox Cheat Sheet)。在这个备忘单中,图像的位置和颜色分块降低了Flexbox的学习难度。如果你在使用FreeCodeCamp学习,我推荐你去看YouTube上的 每日程序员(The Daily Programmer)专栏。在这里,Cody Seibert 会用白板带你在开始编程前一步一步的理解作业,梳理概念。

    听觉/音乐

    这类学习方式的特征包括收听音频书籍、广播和演讲,把声音和含义联系在一起,并且加入节奏和韵律。好的发言者通过运用音调、变调和语速来传递信息。这对于编程人员来说非常重要,因为我们需要学习大量的新鲜词汇。在上下文语境中听到词汇能使学习新词汇变得更加容易。我碰巧喜欢 FreeCodeCamp 课程附带的 Jose Moreno 的 YouTube 视频。通常,Jose 会讲解课程问题的说明。他声音的某个特质以及聆听他大声说出这些内容能够让我调动大脑的某个区域并想方设法完成挑战。如果你在寻找好的编程主题的播客,看看这个链接。我很喜欢 Start Here FM ,一个相对新的站点。它融合了各种主题的音频、视频,还有一个图书俱乐部。

    口头/语言

    这类学习方式的特征包括阅读、口头表达和写作。通常,大多数学习编程的课程和资源都注重这类学习方式,因为阅读文档是成为一名优秀的程序员的关键技能。因此,我强烈推荐FreeCodeCamp项目,在这个项目中你能通过阅读文档片段学习编程并且迅速将学到的东西投入实际应用中。加入Facebook上的FreeCodeCamp社区,你可以在里面讨论问题和解决方案,并分享自己的进步成果。注册后可以看到新的资讯和博客内容。我还非常喜欢Java Weekly 和 CSS-Tricks。像W3Schools 和 Mozilla Developer Network这样的资源也非常适合你。不过不是每个人都喜欢采用这样的方式学习。如果你的学习方式不同,请继续读下去,看看还有什么适合你的。但千万不要急于给FreeCodeCamp差评,因为他们能提供大量不同的内容和方案来满足所有不同学习方式的需求,你或许能找到适合你的。

    肢体/触觉

    这类学习方式的特征包括运动、操作和动手活动。触觉类学习者不会介意支离破碎的代码,因为他们享受修复的过程。他们在将信息转化为产品的过程中学习。在学习编程时,构建是很重要的。在你刚刚学会一些基础的HTML和CSS时,就可以开始尝试创建一些东西。你可以参加那些那些鼓励自己建立项目的课程,跳过那些仅从一个已经完成的项目中复制代码的课程。FreeCodeCamp 在每个单元结束时都有这样自己建立项目的任务。你可以从一个简单的致敬页开始,不过你最后会尝试创建一个西蒙游戏,一个计算器以及更多其他的项目。你可以试着每天实验性的创建一些东西。如果你已经想不出点子来了,可以在 Rosetta Code 上寻找灵感。

    逻辑/数学思维

    这类学习方式的特征包括系统地依次解决问题,理解原因和结果,并且运行模拟过程。逻辑思维者偏好工作流应用程序,阅读文档,以及利用依靠层级逻辑建立的库(例如Bootstrap)。按理说,我们可以认为学习编程的目的都是解决问题,所以应该抓住机会参与 CodeFights, CodeWars, HackerRank, CodeInGame 的谜题、挑战和游戏。

    人际与自我

    除了你倾向的学习方式,大多数人都可以归类为最后这两种类型中的一种:人际型和自我型。

    人际型学习者喜欢学习的社交作用,比如学习小组,所以为何不参加一次本地的黑客马拉松(Hackathon),参加一次编程交流会(meet-up),或者加入一个学习小组(FreeCodeCamp 在世界各地都有线下学习小组,我所在的小组每隔一个周日就聚会。这是我在这个项目中最喜欢的部分)。女士们可以参加 WomenWhoCode 组织,同时融入社区当中。你也通过参与 GitHub 上的开源项目来回馈他人对你的帮助。

    自我型学习者倾向于独立工作并且经常注重于自我反馈,那么为什么不参与到类似于 #100DaysofCode 或者 #30Days,30Sites 的挑战中呢?这两个挑战我都参与了,每天我都在我的推特上发布更新以自我提醒。你可以开始经营一个反馈你学习经验的技术博客(就像我一样),并用业余时间参与Github的开源项目。

    总结

    我相信,在你读这篇文章时会辨认出在你学生生涯中采用的若干种学习方式。如果你想要更专业地分析自己的学习方式,请使用这个学习方式盘点方法。最后一点,为了在向程序员迈进的学习过程中收获更多,你应该尽可能使用更多的学习方式。基于适合你的主要学习方式的资源,建立你自己的学习体系,然后尝试不同的学习方式,不过,要对自己有耐心。学习编程并不是快速而简单的事情。你需要允许自己犯错。

    自学C/C++编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!

    C语言C++编程学习交流圈子,【点击进入

    有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

    微信公众号:C语言编程学习基地

    展开全文
  • 以我的从业经验给大家分享怎样系统的学习编程开发,刚入坑的程序猿菜鸟注意了,迅速占据高地。迅速收藏了。 整体大致分为下面几类: A.教材上的知识 这部分内容来自计算机专业的课程教材。也有可能会涉及一部分...
  • 上个月双十一,很多爸爸妈妈在直播间买网课,网课的销量比去年增加了649%,其中最受欢迎的就是“少儿编程课程。可能有很多父母孩子观望,我家孩子今年小学二年级,已经接触机器人编程2年了,图形化编程接触了1个月...
  • 原文地址:你应当怎样学习C++(以及编程)  本人反思自己这些年在学校得稀里糊涂半灌水。看到这篇文章,感觉收获不少。仿佛有指明自己道路的感觉,当然真正困难的还是坚持学习,多动手实践。  可是这篇文章确实...
  • 1.为什么学习编程语言Python Python的学习是为了规范计算机专业学习编程的良好的习惯,python是脚本语言,我们计算机专业以后的职业可能为“程序员”,而作为程序员则至少应该掌握一本通用脚本语言,因为脚本语言与...
  • 翻译:杨雪涤校对:冯羽本文长度为2107字,建议阅读5分钟本文为你分享分析领域的入门经验,并推荐相关免费课程和书籍。怎么从编程零基础到可以在科技和分析领域工作?如果你对学习这些技能感兴趣,不管是为了开心...
  • 校对:冯羽本文为你分享分析领域的入门经验,并推荐相关免费课程和书籍。怎么从编程零基础到可以在科技和分析领域工作?如果你对学习这些技能感兴趣,不管是为了开心还是职业转换,哪条路是最好的呢?市面上有无数个...
  • 如何学编程

    2014-06-17 18:10:26
    一般理工科学生上大学都会学习...可是现实却非常残酷,我们很多学生大学四年下来对编程都不入门,了再多课程怎样呢?我面试求职者的时候,经常问刚毕业的大学生,大学了哪些课程,很多人只能说出课程的名字,...
  • 编程可以这样》提出一种全新的学习理念,在我们去窥探各种语言或技术的细枝末节之前,老张会带着大家先去程序员的世界里遨游一圈:C语言只是用来写黑底白字的控制台程序吗?算法在游戏开发中有什么用?学校开设...
  • 怎样学好编程

    2009-03-08 23:08:00
    李开复 回答如何学好编程 首先问你一个问题:你们在学校都些什么课程?问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多...
  • 学编程学到的几件事

    2013-12-23 23:11:30
    确实,在大学课程里面的初级编程学习对于一般学生确实诱惑力不大,尤其是一些文科相关专业的人,更是被等级考试弄的头疼。一提到程序员,很多人的头脑中又会冒出另外两个字:苦逼。程序员的生活到底怎样?在此我不是...
  • 学编程学到的几件事  一提到编程,很多与此无关专业的人就会想到两个字:无聊。确实,在大学课程里面的初级编程学习对于一般学生确实诱惑力不大,尤其是一些文科相关专业的人,更是被等级考试弄的头疼。一...
  • 专业是信息与计算科学,主要是数学以及计算机的课程。 我比较喜欢计算机的课程,至今已经了C和C 。 但是,有一个问题很困扰我, 就是我觉得自己根本就还是没有编程的思想,比如说, 我可以看懂别人的代码, ...
  • 怎样最高效地学习Scala

    千次阅读 2016-06-16 17:00:55
    经常有人问应该怎样学习Scala编程语言。通常的回答是看Scala的相关书籍,并学习Scala视频课程。但是澄清一点,即使你最终学会了Scala编程,也并不意味着你是最高效地掌握了Scala。1、Scala书籍一提Scala编程书籍,最...
  • 编程不是一个下午就可以搞定的事,但也用不着花一辈子的时间。学习编程的过程中可以做很多的事情使这个过程更轻松。你已经知道了程序新手的5个最常出现的问题...最终是前几周下了不少功夫但还是离课程进展
  • 原标题:教你python编程的四个建议建议一:教是最好的对新人来说,最好的学习方式是:找个老师,让他手把手的教你。你会发现,这只不过是个游戏而已,并不难。在信息大爆炸的时代, 教材是极其不重要的一环。...
  • 沈阳童程童美针对1-6年级的学生研发了少儿数学编程精品课程课程将数学和编程有机结合,相得益彰,通过趣味性编程激发学生对数学以及其他学科的兴趣,并提升学生逻辑思维、分析处理问题等能力,让学生更加深刻地...
  • 随着人工智能技术的高速发展,简单轻快的脚本语言Python开始受到全民热捧,成为大势所趋。而对处于数字化时代的人们而言,除了基本应用外,也要通过...在此之前,我们先来了解一下Python到底是怎样的一种编程语言...
  • 随着人工智能技术的高速发展,简单轻快的脚本语言Python开始受到全民热捧,成为大势所趋。而对处于数字化时代的人们而言,除了基本应用外,也要通过...在此之前,我们先来了解一下Python到底是怎样的一种编程语言...
  • 01 Python入门 Lesson1...2.课程概述Lesson3 数据类型和运算符Lesson4 控制流Lesson5 函数Lesson6 (选学)脚本3.Python 编程Plus 软件思维异常处理必应Bing搜索像程序员一样的提问编程思维的养成初学者心态怎样实现...
  • 一 ,怎样学习C语言 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个大学生,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的...
  •  无论你现在是一个程序员,还是想转行IT学编程,Python编程开发都是一个不错的选择。所以Python未来前景可期,学郑州Python课程趁现在。  Python 这门编程语言,程序员的第1反应就是两个字:简单.

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 343
精华内容 137
关键字:

怎样学编程课程