学软件是先学编程还是先学基础理论

数据结构与算法——从零开始习(一)基础概念篇 前言 数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合用计算机存储、组织数据的方式。数据结构分别为逻辑结构、(存储)物理结构和数据的运算三个部分。 为什么要数据结构? 首,因为数据结构作为计算机专业的专业基础课程,是计算机考研的必考科目之一,如果打算报考计算机专业的研究生,你必须好它;其次,数据结构是计算机软考、计算机等级考试等相关考试的必考内容之一,想要顺利通过这些考... 阅读详情
 先具体还是先抽象,鸡和鸡蛋的问题

    关注软件领域的同道,一定不会忽略前不久的一场很有意思的争论。两位业界前辈金旭亮和袁峰在CSDN上关于如何提高软件设计水平进行的一场友好的讨论。笔者受益颇多,两位大师的智慧与观点适用的不仅仅是软件设计,更是对于所有IT人学习与成长有帮助。以我的理解两位大师表达的内容实质是相同的。

    袁老师的思路是:在校期间基础知识学扎实,这是前提,然后带着知识去实践,在实践中巩固知识。其实这是典型的传统学习方法,当然在前期学校抽象学习是比较痛苦的,但只要你能坚持下去,一定能够成功的。 袁老师的过程是从抽象—具体的过程。

    金老师的想法是:计算机理论非常抽象,多数人在上大学时没有接触过计算机,更没有实际编程的经验,包括社会上的人想自学程序设计的人。在这种情况下,先学习程序设计,用比较好用的计算机语言快速做出简单的程序软件来,这样学习的兴趣不会减退,随着自己对计算机程序的理解,再回过头来有针对性地学习计算机以及相关的基础理论。这样,自己已经有了部分编程的经验,再来理解理论知识就比较容易。这种学习方法刚开始时可能基础知识的掌握会不太牢固,但它能够迅速到达实践应用的前沿,最后也是能够掌握好理论。金老师的过程是从具体—抽象—具体的过程。

    让我们跳出软件的范畴,站在获取知识,学习并运用到实际这样的层面,两位大师的观点都是很有启发的。无论是先抽象再具体,还是先具体再抽象,这都是一种学习与实践的过程,关键在于我们学习什么,如果只是复制书本上的理论,那么后面的实践只是理论的证明,显然这样的实践的意义是最低限度的;什么才是最大意义上的实践呢?

    曾经一位老师曾这样说过,我传授一种思维方式,一种思考角度,希望我的学生由此能够有更好的思维方式,考虑问题能有更多的思考角度,这才是我教学的目的。也就是说,如果我们学编程,那么我们学的应该是编程思想;我们上哲学课,是为了学习与形成我们自己的哲学观,以此类推。我们去实践,更大的意义是去不断完善这种思想。
如何实现高校科技成果转化的高效对接?.docx 科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

TinyML边缘智能振动诊断实战-ESP32完整工程-v1.0.zip

无硬件可完整体验:固件内置信号合成模拟器(严格复现训练物理模型),串口发 S0~S3 切换 4 种机器故障 算子级正确性:用 inspect_model_ops.py 从 tflite 解析出实际算子(EXPAND_DIMS/CONV_2D/RESHAPE/MEAN/FC/SOFTMAX),固件注册逐一对应——规避了 TFLite Micro 最常见的 "Op type not found" 坑 诚实标注:文档中明确区分“合成演示数据 / 工程近似 / 实测值”,并给出接入真实数据的完整流程

python需要哪些计算机知识?

python需要哪些计算机知识?

隔壁王叔的博客 397

基于SpringBoot+Vue校园失物招领系统的设计与实现

校园失物招领系统的设计与实现前端采用了Vue框架,并结合ElementUI来实现界面的设计与布局。后端采用了SpringBoot框架进行开发设计,并结合了Java语言和MySQL数据库来实现。在功能上分为了前端用户模块和管理员模块。前端用户模块主要实现了招领物品信息的发布、查询与管理,失物信息的发布、管理以及自动匹配招领物品,查看校园相关通知公告。管理员模块主要实现了物品分类管理、校园通知管理以及物品招领信息的查询统计等功能。校园失物招领系统的实现优化失物招领的流程,提高了校园失物招领的效率,促进了校园文化的建设,营造了良好的诚信氛围。

期间,技术和算法的抉择

上大已经两年多了,这两年来到了不少的东西,在互联网的时代,每个程序员都不得不习新的知识,以充实自己,避免被不断更新迭代的时代所淘汰。在大里,每一个计算机的同都在面临两个抉择——技术和算法,我们应该优选择哪一个更合适? 此处所谈到的“技术”是指一些在职场上常用到的专业技能,比如习一些Java的开发,从JSP和Servlet到Spring全家桶;Golang的web开发到高并发...

分享包括但不限于计算机基础知识、数据结构与算法、Golang技术栈。年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及! 3万+

【超全汇总】习数据结构与算法,计算机基础知识,看这篇就够了

由于文章有点多,并且发的文章也不是一个系列一个系列发的,不过我的文章大部分都是围绕着 数据结构 + 算法 + 计算机网络 + 操作系统 + Linux + 数据库 这几个方面发的,为了方便大家阅读,我整理了一波。不过公众号可以说是不支持修改文章,因为我决定每两三个月就整理一次,会非常详细着按照类别整理出来哦,并且也给出了目录哦。大家记得多看看哦,好多文章都是面试中常问滴 文章目录一、经验/经历/所...

帅地 10万+

C++(2)——指向类成员的指针(转自:http://www.wangchao.net.cn/bbsdetail_73812.html)

class A   {    int _val;    int val();   };   int (A::*p_val) = &A::_val;   int ( A::*p_func )() = &A::val; 指向类成员的指针,印象中似乎很少用到,重新习C++的过程中,

lslxdx的专栏 1120

C++(2)——指向类成员的指针(转自:http://www.wangchao.net.cn/bbsdetail_73812.html)...

class A   {    int _val;    int val();   };   int (A::*p_val) = &A::_val;   int ( A::*p_func )() = &A::val; 指向类成员的指针,印象中似乎很少用到,重新习C++的过程中,才发现自己是忽视了一个很重要的东东,以前我一直认为类的成员函数不能作为回调函数,所以很多C程序都始终无法...

guoyiqi 303

新手入门习程序编程从哪里开始

我以我自己习的经历,并结合现实,给大家简单讲解一下。 语言分有很多种,有很多种分法,而我这边从层级分法来说(这是我个人粗浅的分法,如果有更好更详尽的分法欢迎一起讨论)。 最底层语言是机器语言,如0101、1010等等,但人是很难记住这全部的词义的,于是有了再高级一点的语言——汇编语言。 汇编语言终于有了大家能看懂的词汇和语法了,但它写起来还是比较繁琐且不好理解,因为它的设计原理本来就是面向机器而开发的语言,所以人们又开发了更高级的语言,...

qq_15855921的博客 981

计算机基础算法及数据结构综述

最近一直习各种语言,研究java和C++的特性。今天偶尔和朋友聊天谈到算法设计,心里顿时感觉算法忘记的差不多了。一番酝酿后决定捧回《算法导论》,边习边把各种算法写下来。感觉还是写下来的东西觉得深刻,而且就算忘记了,以后还可以随时查看。 计算机领域的基础算法分为几大类: 1.排序----->最基础 有插入排序,归并排序,堆排序,快速排序,还有线性排序。 2.贪心算法(greedy alg

成长 1885

计算机与技术习路线&编程基础四大件&应用实践编程(含C++习路线)

C++开发习路线 C++语法完之后,就应该编程基础四大件和应用实践编程 java后端开发和客户端开发居多,C++后台开发居多 0.C++语法习 看书顺序由浅到深 第一本 Essential C++ (由c过度到c++) 第二本 C++ Primer第四版 (内容很全,但是不深) 第三本 Effeetive C++(55个最佳实践,优化建议) 第四本 More Effeetive C++(...

问天的博客 2万+

编程,实践和理论哪个更重要?

最近面试了几位还在校的生,应聘公司的实习生职位。   因为是在校生,面试便主要集中在习的课程内容,以及个人在课余时间习的一些有关编程内容的课程上来。   之后总结下面试的内容,发现了一些和之前想象不一样的东西。   现在很多大也发现了课程和实际脱节的问题了。在计算机专业最后一年的课程里面,和市场上的IT培训机构合作,增加了实训课程,也就是把外面的it培训请进校园来,将校...

皇马啸西风的一亩三分地 1660

在讲授理论之前,习编写代码

作为一名软件工程师的职业生涯中,有许多人都曾对我说过,编程非常困难。对此我有不同的看法。我认为真正的难点在于,在人们实际编写代码之前,就开始给他们讲授计算机

KD的疯狂实验室 645

编程习中要注意效率和感受

早一个多月,收到了一位网友的求助信,请我帮他做一道程序题。这样的求助我是不会直接解答的。如果要想通过读程序来习,可读的程序太多了,不在乎由我写的这一段程序。  我给他的回信是,他可以自己做出来一个版本,无论对错,我们就他的做法进行讨论。这是我认为有效的交流。提问者没有做,靠着人给讲,这种习方式,可以休矣。无论对错、好坏,他自己做过了,针对他自己的讨论点就出来了。我当时的答复是:  我的时间有限

迂者-贺利坚的专栏 4061

习软件的一点心得体会

目前因为需要 ,杂七杂八了好多软件, 个人感觉: 习一个软件较快的方法就是 快速通读一遍所学软件理论知识和基础教程,目的就是熟悉软件,不求记住,所以不要死磕不会的地方。 然后就是直接做实例,不管是跟视频做也好,跟教材例子也好,优顺序: 视频〉教材〉自己摸索,这里强调一点,如果教材和软件版本界面相差较大(版本不一样导致),可以看软件帮助,英文的也希望能耐心看,很有帮助。 另外,不要怕操作...

weixin_43007855的博客 1405

数据结构,是不是一定要离散数

【留言】   数据结构之前是不是一定要离散数【答复】   你问了一个非常好的问题,不少初计算机的同该会产生这个疑问(大多数有疑问不提而已,这不是好习惯),更深层地,这里可能包含着我们的习路线的问题,尤其是需要自主安排习的时候。   首,作为大的培养方案,是这样安排的。我想解读一下,其中所包含的培养目标,以及背后的习原理假设。培养目标是,有扎实计算机基础的高级技术人才。离

迂者-贺利坚的专栏 3万+

科技成果转化效率低怎么办?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

上一篇: 计算机专业的教与学
下一篇: 串口鼠标干扰了GSM Modem的工作
scckl
博客等级 码龄23年 2粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值