本科请教计算机科学选修科目如何选择

2023-01-31 22:54:57 +08:00
 NatsumeMio
各位在职大佬程序员们,本人目前本科大一,专业是计算机科学,除了必修科目之外,我需要在选修科目里大概选择十几个课程。请问各位在职程序员们,有什么推荐选择的课程(对以后职业生涯帮助较大 /较为吃香)选择?十分感谢各位。

以下为列表:
计算机体系结构
编译技术
算法设计
算法设计与分析
函数式编程
编程语言原理
人工智能
计算机图形学
计算的法律方面
机器学习
量子信息与计算
计算机视觉
电子商务技术
万维网上的现代技术
高级数据库系统
计算机游戏设计与编程
交互式移动应用程序设计和编程
应用深度学习
高级算法分析
算法博弈论
生物信息学
统计学习
网络安全
机器人学
密码学
分布式和并行计算
数据驱动计算机动画
自然语言处理
AI 实践:实验和应用
数字取证
网络攻防
量子算法和计算机体系结构
工程质量软件
科学计算
物联网数据分析
3051 次点击
所在节点    程序员
41 条回复
cpstar
2023-01-31 23:12:23 +08:00
这不找你的辅导员、找学长、找专业责任教授,来 v 站,还真觉得人均科班计算机么?

课程有前后关联体系,计算机本身是一门应用学科,看你要干啥了;或者研究计算机本身(就是计算机科学),那也是需要方向。但是这单子里有一些课程是专业必修课吧,比如体系结构、编译技术、算法设计(怎么还有一个算法设计与分析,课程设置是不是有问题)。
juggtt213
2023-01-31 23:13:00 +08:00
...感觉学校里很多老师教书就是应付一下,或者教学的内容好几年没变过了,就这样对着课程名字选的话,能不能遇到教学比较上心的老师学到比较有时效性的知识全看运气。
不如问问学长学姐有没有比较靠谱的老师,如果问不到的话可以退而考虑比较容易通过或者是拿到高分的课,然后把应付学校课程的时间节省下来的时间用来自学...
rsy
2023-01-31 23:14:02 +08:00
如果有保研通道建议选易刷分的科目,提升绩点为重心,就算不在国内读研,出国也是要看 GPA 的,课程分数越高越好。等到大三大四没课的时候出去实习才是对职业生涯帮助最大的。找工作不关心你学过哪些课程,专业对口就够了,主要还是看你算法以及基础知识的掌握情况,这个多刷 leetcode 和面经即可。
Noicdi
2023-01-31 23:19:02 +08:00
说实话,国内除了那几所顶尖,其余的高校的计科都不行(我本科也是),全是照本宣科读 ppt 。建议评估一下自己平常上课时老师们讲的咋样,不行的话不如自己上网找课程学,比如 CS 自学指南和自学计算机科学,这两个教程
iyear
2023-01-31 23:42:55 +08:00
除了几所 top 外,计算机大学课程意义相当小,你愿意学老师还懒得教。所以在感兴趣 /水 /好拿绩点之间根据自己未来的方向选就行了,没那么讲究。
Jooooooooo
2023-01-31 23:47:27 +08:00
真要学, 至少学学课本内容, 从这里面挑吧

计算机体系结构
编译技术
算法设计
算法设计与分析
函数式编程
编程语言原理
高级数据库系统
统计学习
分布式和并行计算
janus77
2023-01-31 23:50:39 +08:00
这里面有一部分是基础课,一部分是分研究方向的课。基础课肯定就那么几门,剩下的课根据你的兴趣爱好去选,比如你喜欢安全方向就选网络安全、密码学,喜欢游戏方向就选图形学、游戏设计,诸如此类。
thinkershare
2023-02-01 02:21:10 +08:00
核心课程: 1-3 本教材, 然后扩展这些核心课程, 这些核心课程都有对应的优秀教材,并存在大量的扩展性阅读资料:
计算机概述(文化, 入门课程)
计算机组成原理(数字逻辑电路可选)
操作系统
数据结构与算法(这 2 个东西前期不需要分家)
编译原理(可选)
数据库系统(至少熟练使用不同类型数据中常用的 1 种)

学习至少三类编程语言:面向过程, 面向对象, 函数式, 如果前面三门没有 JavaScript , 最好还是要加上它。
最后选择一个自己最感兴趣的开发平台(Platform)。这部分需要深入挖掘,大学毕业时候能出活,毕业后能靠其生存。

然后是学习软件设计,这个路非常漫长,需要实践,从面向过程开始,到深入理解面向对象,函数式编程,项目管理,需求分析,分布式系统设计,云原生等,路漫漫,也不需要着急。

学好数学,特别是离线数学 /线代 /高数,它们都可以让你走的更远。学好英语对掌握第一手的学习资料有非常大的帮助。

最后是兴趣扩展,这个就看你感兴趣的方向了,如果你打算读研,那学习的思路可能就需要调整。
最后的建议: 不要在那些非核心的赶时髦的课程上花费太多时间,因为大学的精力和时间都是有限的,你必须选择舍弃掉那些在大学本科你不可能深入研究的课题。
kizunai
2023-02-01 02:34:45 +08:00
建议哪门课给的分高选哪个
计算机不同于别的专业,网上资料多,感兴趣的内容可以自学
levelworm
2023-02-01 02:53:34 +08:00
不如这样,看一下 MIT/CMU/BKL 这些名校的课程,哪些感兴趣的,就先学本校同名的课程打底子。
mythabc
2023-02-01 03:00:22 +08:00
现在这么卷,还是建议选给分高的。GPA 高润都有优势
MoRanjiang
2023-02-01 05:45:33 +08:00
羡慕能选专业课的学校
kkwa56188
2023-02-01 05:47:19 +08:00
凭记忆说几个, 能够将 科班的 和 半路出家的 区分开来的 几门课:
计算机组成原理
操作系统
编译原理
离散数学
数据结构
数据库设计
计算机网络
运筹学(研)
Nazz
2023-02-01 08:56:59 +08:00
强烈推荐数据结构与算法
wu67
2023-02-01 09:18:34 +08:00
问你的师兄. 哪些老师好说话容易给高分就选哪些.
这些课其实全都教一些比较基础的东西的, 起码当年我们学校是这样, 你想深入学习, 还是得靠自己, 学校开一门课程领你进门而已.

但是比较重要的还是建议选. 例如:
数据库, 数据结构,
离散, 概率论, 编译原理(3 个都建议学, 虽然 crud boy 可能也用不到). 工作中虽然不会真的让你写编译器, 当起码能帮助你理解怎么写好代码, 哪种写法性能更好(虽然可能都比不上商业 /开源环境的优化力度就是了 hhh, 例如 v8 、各 jdk)
计算机组成原理和逻辑电路偏硬件的, 印象中是一个箱子装着 386 还是啥, 在那打开关记亮灯灭灯, 如果没兴趣可能会很痛苦, ps: 例如我...
计算机网络, 额我没学好, 一眼难尽, 老师当年在教我们划分子网啥的, 交换机啥啥啥之类, 到后面就像天书一样了, 比较催眠.
eaststarpen
2023-02-01 09:26:12 +08:00
不知道其他学校是咋样的, 江苏普通一本, 计算机非强势专业

我们学校选课啥的都是笑话, 实际上开什么课早就定好了, 没有选择余地。 开放选课, 班长通知选什么, 选好, 结束。

真的想学东西还是自己网上找吧(op 如果顶尖学府当我没说)

附: https://csdiy.wiki/
apake
2023-02-01 09:39:06 +08:00
函数式编程, 编程语言原理
JamesR
2023-02-01 09:56:48 +08:00
计算机游戏设计与编程
交互式移动应用程序设计和编程
AI 实践:实验和应用

选这几个就行了,计算机编程是门偏重实际应用的学科,尽量选择实际做开发项目的就行,弥补你缺乏编程项目的短板。
JamesR
2023-02-01 09:59:47 +08:00
选修课那三个,专业课按别的学校的专业课或者上面回答即可。
feather12315
2023-02-01 10:00:04 +08:00
计算机体系结构
编译技术
编程语言原理
计算机图形学
机器学习 / 计算机视觉 (选一)
网络安全
分布式和并行计算

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/912071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX