每个人都会经历不同的阶段,在不同的阶段会有不同的心态,状态和学习欲望。现在的问题是,你应该意识到自己正所处的状态,并做出积极的调整,从而可以在这个阶段里面真正的做点事情,学到东西,获得成就。比如现在,应该是一个稳定的安逸期,没有什么大的事情,那么,将是一个绝佳的学习新东西的机会。在这个阶段,学习是首要的,但是并不是意味着就是不停的看书,还应该做相应的实验进行验证,做独立的思考,这样做的目的就是:使得投入的时间能够有所回报,使学习的效率达到最大。如果到了需要忙项目的时期的话,那么高效的进行设计和编码则是必须的。无论如何,要刻意的注意自己的效率,一旦效率低下的时候,应该好好的看看,做出重新的调整,以使得这个阶段始终目标明确,效率高效。
我这个阶段有很多的读书学习计划,主要是计算机方面的,但是同时实验室前期的多极化项目一直处于维护阶段,再加上内心深处对于毕业论文的进展的忧虑,使得一下子难以有一个很好的权衡,心态也不好。维护本身是没有什么技术含量的,而我的学习计划应该说都是位将来打算的,剩下的课题,虽然很有创新的可能,但是这里面的问题也是很多的,暑假调程序调了一个月也还是做不出正确的结果,难道短期之内就可以立马得到突破?这个是颇为怀疑的。所以说,当一个人面对很多事情掺杂在一起的时候,典型的反应就是无所适从,然后就会是因为茫然导致的松懈。要做出一个合理的调整最关键的是要能够有一种 “ 有所为有所不为 ” 的心态,暂时放弃某些东西是必要的,目标越集中越好,计划越精细越好,能够让自己时刻处于兴奋的状态,这样才能真正做这个阶段最好的自己,才能够 “ 坐看云起云落 ” 。
我想我现在这样的状态就是基于目标不明确造成的,所以才有必要进行梳理。
三个方面,学习计划,项目维护,课题展开。
学习计划,包含这样三个方面
( 一)计算机方面
1.程序设计
C++书籍(许多经典的,要好好看的,都有一定的深度)
《C++设计和演化》,《C++沉思录》,《深度探索C++对象模型》,《C++设计新思维》
《Programming pearls》,《C++ goatches》,《Efficient C++ Performance Programming Techniques》,《Imperfect.C++.Practical.Solutions.for.Real-Life.Programming》,《CppTemplatesGuide》,《Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions》
STL方面
《泛型程序设计与STL》,《Effective STL》的中英文,还有《STL guide》以及《Using STL》
设计方面(设计模式,UML等)
《道法自然》,《DesignPatternsExplained》,《Modern C++ Design Generic Programming and Design Patterns Applied》,《Applying UML and Paterns》,《Thinking in Patterns》以及GOF的《设计模式详解》,《Beyond Software Architecture: Creating and Sustaining Winning Solutions》
手头上还有一本《UML基础,案例与应用》,电子书有《UML核心编程技术》
COM方面
手头有一本《COM+编程指南》,还有电子书《From CPP to COM》,《Essntial COM》
软件工程
《人月神话》,《大道至简-软件工程实践者的思想》,《JOEL说软件》,《编程之道_简洁的描述编程的思维》, 极限编程《Test-first Programming》,《团队-成功秘诀》以及微软的《国际化软件开发方法》
手头有一本书,Roger S.Pressman的《软件工程-实践者的研究方法》
数据结构
还是再翻翻Clifford Shaffer的《数据结构与算法分析》
看数据结构的时候我其实更多的是看网上的一些典型的例子,各种算法的实现方法,比如一些著名外企的笔试面试的问题。这一方面关注的是算法思想,另一方面关注的是实现的方式和程序实现的结构以资借鉴,比如同样是链表,其实现方式的差异是很大的,我努力寻找最通用最简洁的一种作为我的常规方法
这样看数据结构自然是很慢的,尤其是通过上网看,具有很大的零散性且易导致时间的不能最合理的利用,但是我也不清楚这样学是不是有效的
其它方面
手头上的是《面向对象的C++和Java比较教程》,《Java程序设计大全》
2.操作系统和编译原理
操作系统方面的书就是 Gary Nutt的《操作系统-现代观点》
有一个文档介绍了怎么学习编译原理,《编译原理学习导论》
3.Linux程序设计
《Linux内核注释》,《Linux kernal 核心中文手册》,《Unix操作系统设计》,《嵌入式linux开发》,《Red Hat Linux网络开发工具(第二版)》
可以先考虑手头上的《ARM&Linux嵌入式系统教程》学习基本的东西有个大致的概念。
4.Python和TCL
主要是看网上的一些文档和几个例子代码来学习
(二)计算机网络
别人推荐的是《自顶向下方法-计算机网络》
主要是参考手头的《嵌入式系统Web服务器-TCP/IP Lean》学习TCP/IP
(三)通信
学习通信理论可以用《现代通信系统-使用Matlab》这本手头的书以及《Matlab通信仿真及应用实例详解》这本书
《 3G 技术和UMTS网络》,《WCDMA原理和实践》(知识比较精粹),《WCDMA无线网络规划原理与实践》(刚借的,还没有看),《GSM数字移动通信应用系统》(学习GSM已经够用了),《IMS-移动领域的IP多媒体概念和服务》(本来是为了准备lucent的,但是被lucent鄙视了,作为扩宽视野的),《普及计算》(拓宽视野)
这些就是当前列出的书目,够多了,我都整理了快两个小时了。
项目维护方面,则是要考虑以下问题
1. 考虑新的雷达图像数据格式的读入,如何设计一种插件式的结构,这样可以不用修改我的平台。需要改动现有平台的结构
2. 考虑怎么样带几个本科生和一个研一的学生接手我的平台,已经分配的任务是
1) 修正放大时候滚动条影响实际的缩放位置(单极化和多极化平台)
2) 看各种新的数据格式,争取可以先显示出来,需要统一数据格式
3. 清醒头脑,增加新的功能和界面的完善,尤其是 杨 老师提到的做几个应用到我的平台上面。此外可以看看最新的 那个杨 老师下载的用TCL写的sar平台,顺便熟悉TCL语言。
课题方面
我已经再自己的开题报告里面列出了三个方向,现在需要进行的是各个方向切实做出成果,很多下载的文章都需要按时按计划来看。争取元旦以后就开始动手做自己的事情了。先给 何 老师和Xia做一个开题报告(可能的话,给整个实验室做一个)。之前将基于最大似然方法争取做一个结果出来。