自主性学习,用实践开路

【来信】
  老师您好,我下学期要升大二了,我是计算机专业的学生。
  这个暑假呆在实验室,因为会的不是很多,没有参加什么项目,一直在看书。
  放假之后一直在看数据结构,想好好钻研数据结构和算法方面,但是最近觉得数据结构比想象的要难,有的知识很难理解,我想问问老师一般学习数据结构的学习周期是多久才算合理?
  如果学的时间太长是不是属于效率低?
  还有就是如果系统的学习算法……

【答复】

  我想针对你提出的问题逐个谈谈我的看法。

  这个暑假呆在实验室,因为会的不是很多,没有参加什么项目,一直在看书。——建议不要一直在看书,暑假的自主学习,最好还是能结合上实践,这样的学习更加生动,以及找到实践的机会,这样会取得更好的效果。
  放假之后一直在看数据结构,想好好钻研数据结构和算法方面,但是最近觉得数据结构比想象的要难,有的知识很难理解,我想问问老师一般学习数据结构的学习周期是多久才算合理?——如果要强行理解,那一定会感觉到难的,因为你对所学的东西没有体验。建议任命实践当开路先锋,其他形式的学习大军紧跟其后为好,具体可以参考《基础和应用的平衡中找到大学的节奏》和《给数据结构初学者:跨过算法和程序之间的鸿沟》。在我的博客专栏的目录中,你可以搜索“数据结构”,也有一些给别的同学解答过的有关问题。
  如果学的时间太长是不是属于效率低?——这个事情因人而异,和自己之前的体验有关,和自己的学习风格有关。关注学习效率是一定要的,但也不必拿起别人的鞋,就往自己脚上套。可以参考《学会写出"图形界面+数据库"的程序要多长时间?》。

  还有就是如果系统的学习算法……——不必对“系统学习”有太多的迷信(参考《破除“系统学习”的情结》)。你上的是计算机专业,有的是机会系统学习,随着开课,不只盯着考试通过,而是课内课外充分结合,理论和实践交叉进行,那就是你的系统学习。而暑假的时间,建议你更多地动用你的“野性”。

================= 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|
|== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
|== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====

自主性学习,用实践开路

时间: 2024-10-12 23:13:22

自主性学习,用实践开路的相关文章

Google App Engine 学习和实践

这个周末玩了玩Google App Engine,随手写点东西,算是学习笔记吧.不当之处,请多多指正. 作者:liigo,2009/04/26夜,大连 原创链接:http://blog.csdn.net/liigo/archive/2009/04/26/4127055.aspx 转载请注明出处:http://blog.csdn.net/liigo 一,怎么想起来玩Google App Engine了呢? 近期想写一个小程序,以便在公司的电脑和家里的电脑之间随时共享数据.但是没有现成的server

hadoop2.5.2学习及实践笔记(四)—— namenode启动过程源码概览

对namenode启动时的相关操作及相关类有一个大体了解,后续深入研究时,再对本文进行补充 >实现类 HDFS启动脚本为$HADOOP_HOME/sbin/start-dfs.sh,查看start-dfs.sh可以看出,namenode是通过bin/hdfs命令来启动 $ vi start-dfs.sh # namenodes NAMENODES=$($HADOOP_PREFIX/bin/hdfs getconf -namenodes) echo "Starting namenodes o

RabbitMQ学习及实践2---介绍及简单Java实现

一,基本概念 MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息.MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品. RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协

RabbitMQ学习及实践3--SpringMVC实现

根据学习的RabbitMQ知识配了一个SpringMVC的实现.这是一个完整的工程,view的部分使用freeMarker,持久化操作是通过mybatis实现. 整个工程的目录结构如下: src下的相关包的解释: controller:控制器: domain:对应数据库的操作对象类: persistence:mybatis的持久化操作: util:相关工具类: msg.bean:消息类,定义及描述消息体: msg.convert:实现如何转化消息体为可接受的消息类: msg.process:处理

linux学习与实践(4)--常用命令备忘

1.查看程序对应进程号: ps –ef|grep 进程名 2.Linux下查看端口号所使用的进程号: 使用lsof命令: lsof –i:端口号 linux学习与实践(4)--常用命令备忘,布布扣,bubuko.com

敏捷个人新体系学习 - 1.实践的艺术

不能简化的方法不会被容易实践,大信息量的敏捷个人缺少主线,必须简化.新体系是对敏捷个人的一次体系化的瘦身,明天晚上我们将在YY线上进行第一次新体系的学习分享,本次分享将围绕成长.优势.学习.行动.改变.实践来分享敏捷个人新体系的主线. 如果喜欢这个PPT,可以点击下载PDF版本,可以通过敏捷个人手机应用还可以在资料中下载原始PPT版本,可以看到播放动画效果,还可以学习制作PPT,还可以与更多人分享敏捷个人. 敏捷个人新体系学习 - 1.实践的艺术

Weex学习与实践(一):Weex,你需要知道的事

Weex学习与实践(一):Weex,你需要知道的事 http://coderyi.com/posts/weex1/ 1.命令行工具:weex-toolkit  https://github.com/weexteam/weex-toolkit 2.调试工具: weex-devtool  https://github.com/weexteam/weex-devtool

ICE入门学习和实践

ICE源码安装 (一)Ice依赖软件包 (1)gcc 3.3以上. (2)Berkeley DB 4.8以上 (3)expat 2.0.1 (4)bzip2 1.0.x (5)mcpp 2.7.2 (二)安装依赖包 (1)安装编译所需软件包 用 apt-get install bulid-essential (2)安装ice所需依赖包 apt-get install libdb4.6++-dev libbz2-dev bzip2 libssl-dev libreadline5-dev libex

学习、实践分析取舍,工作学习总结

列举: 工作快要一年了,最近发现自己想要学习的东西非常多,已经到了完全应付不过来的程度.看来需要列举一下,然后分一下主次关系: 这些就是目前我想要学习的知识点: 1.C++.C语言基础知识 2.cocos2dx游戏引擎 3.android应用基础知识和eclipse.ADT.CDT.ANT.NDK.SDK基本知识点 4.xcode.object-c和mac基础知识点 5.openGL相关知识 6.lua语言基础知识 7.Linux和unix编程基础 8.编译.链接.装载,静态库.动态库 9.计算