软件构造课程总结

如果说,离散数学、算法设计这些课是教我们如何如何称为计算机科学家的话,软件构造则是教我们如何成为一个更好的码农而已。

在计算机学院之中有这样一种风气,将写代码的码农抽象化为🌶🐥🐎👨‍🌾,而将计算机科学家抽象为💻👨‍🔬。甚至有的人觉得软件构造这门课根本没有必要,毕竟以后是做💻👨‍🔬的人,学🌶🐥🐎👨‍🌾这些技术根本没有用。

我对这些看法不以为然。首先,真正的计算机科学家确实不写代码,但计算机科学家绝对不是不会写代码,写代码是通向计算机科学家路上不可或缺的技能。其次,并不是所有计算机系的同学在选择专业的同时都选择计算机科学的方向,选择其他的方向的话,写代码的技能也是不可或缺的,尤其是软件工程的同学。

我个人是计算机英才学院的同学,认为英才计算机学院大一高级语言程序设计的教学方法有很大的问题。大一的教学方法基于算法竞赛,这种教学方式只顾代码的效率,而对代码的可读性、健壮性没有一丝的要求,甚至是压制的要求。这使得在大一夏季学期开设的诸如.Net程序设计Java EE程序设计的课程很难进行,因为很多同学从一开始写代码就适应了那种模式,很难再改过来了。

所幸的是,有软件构造这门课,教会了如何进行测试驱动的开发、怎么设计ADT以及OOP的基本知识。

在学习软件构造这门课之前,我知道有单元测试这回事,但是从来没有写过单元测试以及其有什么意义。软件构造的一些设计模式,在之前写代码的时候也或多或少的“发明”过。而git则从很久以前就开始用了,各种指令也比较熟悉。所以总而言之,我学习软件构造这门课,最大的收获是学会了测试驱动的开发。

总而言之,在学会了软件构造这门课之后,在任意公司应聘各种“码农”工作对我们来说已经不成问题。不过要成为合格的计算机科学家、计算机工程师、网络攻防大师、自然语言处理工程师,还需要在接下来的时间里进行进一步的学习。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇