Re: [请益] 学生自学方向

楼主: tinlans ( )   2018-06-29 12:44:47
※ 引述《roy87921 (PH9.0)》之铭言:
: 小弟我目前大一升大二 电机系学生(有可能会转资工 结果八月才会出来)
: 大一上学期有上过C++计算机概论(以前没碰过C)
: 用的是C++ How to Program Late Objects Version /7th 这本书
我没看过这本,看出版日期是 2010,你知道的 C++ 可能和现在的 C++ 有段差距了。
但还是建议你读完,或者去书店自己挑一本比较新的。
: 学到Class附近 想趁著暑假自学精进一下 (未来想往app或韧体)
app 和韧体是两个天差地远的方向。
如果你还没确定,C++ 时间可以花少一点。
: 应该会先把之前上课的内容复习一遍 但再来就没有方向了
学到 class 附近有很多种意思,你有没有学到物件导向才是重点。
如果只有学到把 data 跟 operation 收集在一个 class,那个还没到物件导向。
物件导向要学齐封装、继承、多型三个特性,上面那行讲的只有封装而已。
这三个特性学完,你对物件导向的了解大概是脚正要开始抬起来,离跨过门槛还早。
因为现在韧体也有 C++ 做的,所以物件导向有机会在这方面应用。
只是你可能被同事投诉,说你故意写他们看不懂的 code (这我学弟遇过),
开明一点的主管可能要你开教育训练课程帮忙训练同事,
所以你可能得学到会教人的程度,不能只是半桶水。
写 app 就更不用说,物件导向还是要学,所以你现阶段可以加强物件导向的部分。
物件导向有三处要学,不能只学末端的物件导向程式设计:
物件导向分析 (OOA) -> 物件导向设计 (OOD) -> 物件导向程式设计 (OOP)
前两者 C++ 资源有限,很多是以 Java 为范例。
不过 Java 跟 C++ 长得很像,所以你学完 C++ 物件导向看那些书也很容易。
OOA 跟 OOD 入门你直接看 O'Reilly 这两本:
1. 深入浅出物件导向分析与设计
2. 深入浅出设计模式
先看 1 再看 2,后者算是 OOD 用的 library,只是它是概念而不是程式码。
读完以后接着这两本:
3. Refactoring: Improving the Design of Existing Code
4. Refactoring to Patterns
这两本都有中译本,只是我不知道还有没有在卖。
主要是强化你程式结构的东西,后者属于物件导向设计的范围。
OOP 的话你在学特定语言就会学到,应该是你最早期碰到的部分。
确定你未来的方向并选定程式语言以后,你再把它进一步加强。
工程师一般会偏重于 OOD 跟 OOP 的部分,但不了解 OOA 会做出莫名其妙的设计。
所以 1 你还是得耐心看,免得你醉心于把工程当成美术在创作还无视需求。
工作上 OOA 你通常管不太到,所以先有个概略了解就好。
硕班毕业以前记得去修软件工程,如果你想走 app 的话。
: 希望前辈们给点建议:
: 1.往这本书后面读(稍微往后翻 内容大概有tree STL Algorithm...)
上面建议给完了。
STL 的使用方法学一学就好,确定要走 C++ 之后你再回来问。
: 2.刷CPE题目 顺便做准备
要刷去刷 leetcode,但是建议上硕班再刷,也就是要找工作前刷一刷。
因为你说你要转资工,所以我就先假设你会拿硕士了。
: 3.学习其他语言 (Python,Java...)
你确定要走 app 还是韧体以后再说,这阶段比较建议你自学资料结构而不是更多语言。
比起特定语言,学一下泛用知识会比特定语言还要好。
但这不代表语言不重要,语言是你将来吃饭工具,一旦决定方向你就要把语言学到精通。
: 另外还有一点疑问 我现在是用mac的Xcode在编译C++
: 有大大能推荐自学熟悉xcode接口操作的资源吗
: 以前上课作业都是在windows下编译的 最近刚换电脑...
作者: johnny94 (32767)   2018-06-29 12:55:00
OOAD 很重要,但可能是我待的地方太鸟,所以根本没人在意,都只想赶快写 Code
作者: roy87921 (祈)   2018-06-29 16:43:00
感谢t大 心中大概有个方向了 但资结有可能会在大二修正有必要先自学吗*修正课

Links booklink

Contact Us: admin [ a t ] ucptt.com