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

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

以下为列表:
计算机体系结构
编译技术
算法设计
算法设计与分析
函数式编程
编程语言原理
人工智能
计算机图形学
计算的法律方面
机器学习
量子信息与计算
计算机视觉
电子商务技术
万维网上的现代技术
高级数据库系统
计算机游戏设计与编程
交互式移动应用程序设计和编程
应用深度学习
高级算法分析
算法博弈论
生物信息学
统计学习
网络安全
机器人学
密码学
分布式和并行计算
数据驱动计算机动画
自然语言处理
AI 实践:实验和应用
数字取证
网络攻防
量子算法和计算机体系结构
工程质量软件
科学计算
物联网数据分析
3370 次点击
所在节点    程序员
41 条回复
DeltaC
2023-02-01 10:18:54 +08:00
选什么课,我觉得不太重要,有个高绩点,挺重要。
此外,我比较认同楼上,从 https://csdiy.wiki/ 开始,没事去 leetcode 刷题。
focux
2023-02-01 10:22:24 +08:00
《计算机体系结构》
《编译技术》
这两本一定要啃下来。。。
bigbigbigbug
2023-02-01 10:23:06 +08:00
考研吗?考就选容易刷分的,问学长。不考?那你指望一个选修能带来什么?凭兴趣来吧,要不就看看老师,凭性癖来
simplereasy
2023-02-01 10:31:50 +08:00
我觉得没有意义,教的这些都没啥用.
学好必修的数据库和数据结构,再应用好一门语言就可以了.
其余可以看兴趣学.大部分教的都比较落伍
chrosing
2023-02-01 10:33:59 +08:00
我高中毕业,培训出身,我老大曾经跟我说过,我业务理论没啥问题了.但是欠缺基础,叫我去学 计算机系统与编程相关的.关于系统的设计思想,算法逻辑的基础,还有一些比较底层的编译(了解要知道的程度),数据库相关的
xhinliang
2023-02-01 10:49:38 +08:00
感觉都挺好的,不知道能学到多少,具体可能跟学校以及授课老师关系很大。如果让我选我可能会选这些:

高级数据库系统
机器学习
算法设计与分析
高级算法分析
算法博弈论
函数式编程
编程语言原理
人工智能
计算机体系结构
分布式和并行计算
jmc891205
2023-02-01 13:19:37 +08:00
大一选基础的课就好,不用选那些偏应用的课
计算机体系结构
编译技术
算法设计
编程语言原理
zerozerone
2023-02-01 13:37:37 +08:00
别听他们瞎推荐, 这些课程是有发展路径的, 有游戏相关, 算法相关, 体系设计相关, 编程语言相关, 等等几个分支, 课程之间有前后学习顺序, 建议挑一个技能树挨个从前往后点, 乱选啥也学不好
fiypig
2023-02-01 13:41:55 +08:00
这看都差蛮多的,有些硬件相关的有些是人工智能的,这个你要去跟老师核实清楚了,
forgottencoast
2023-02-01 15:31:06 +08:00
如果是我,我选:
计算机体系结构
编译技术
算法设计
算法设计与分析
函数式编程
编程语言原理
人工智能
计算机图形学
计算的法律方面
机器学习
高级数据库系统
高级算法分析
算法博弈论
统计学习
分布式和并行计算
自然语言处理
AI 实践:实验和应用
数字取证
工程质量软件
科学计算
物联网数据分析
7gugu
2023-02-01 15:36:16 +08:00
二本和三本的请考虑容易通过的,特别是在三本中,这些都是水课。
perfectlife
2023-02-01 16:00:23 +08:00
其实选啥都差不多
8355
2023-02-01 16:16:19 +08:00
算法设计
算法设计与分析
人工智能
机器学习
应用深度学习
高级算法分析
aw2350
2023-02-01 16:19:17 +08:00
就那些半吊子老师,你要是真想学,自己上网上找,要是刷分,找个最省事的
z1645444
2023-02-01 16:36:51 +08:00
很负责的老师 + 你自己也感兴趣的课,直接选。或者选能直接通关的,时间分给其他事
sadfQED2
2023-02-01 16:48:01 +08:00
选自己感兴趣+老师负责靠谱的。
HarrisonLee
2023-02-01 17:06:30 +08:00
如果你的学校一般,那么强烈建议自学,而且不要使用学校发的教材。如果能够时光倒流,我会在大学期间重点学习 Linux 内核,因为这综合了编程语言( C 语言)、数据结构、计算机组成原理、操作系统理论、计算机网络。不要单独学习这些学科,不然你学完就忘了,要把它们联系起来才不会。给你推荐一些资料吧:

* 编程语言方面:《 C 语言现代方法(第二版修订版)》,学 Linux 内核,一定要把 C 语言学好,这本书讲的很详细,也很现代,不要看那种很老还很多错误的书。
* 计算机组成原理方面:《 x86 汇编语言 从实模式到保护模式(第二版)》第一版是 10 前出的,第二版 2023 年 1 月才刚出版上市。虽然名字包含汇编语言,其实也讲了很多 cpu 的工作原理。只学实模式是不够的(王爽那本纯粹就在讲实模式下的指令),要把保护模式也学了,不然一些操作系统的概念不是很好理解(比如特权级与内核态用户态之类的)。要学就学现在正在被大量使用的架构,不要学学校教的那些老掉牙的计算机组成原理。此书作者李忠也在网易云课堂开设了 x86-32 和 x86-64 两门课程(不是打广告),可以作为书的扩展。
* 数据结构方面:其实就用学校发的数据结构书就够了,不要轻易去看黑书《算法》!!!
* 计算机网络:谢希仁的《计算机网络》,现在应该是第 8 版了吧;张彦飞的《深入理解 Linux 网络》。第一本是理论,第二本是实际系统中的实现,可以学到 Linux 的网络模块时再看。不要轻易去看《 TCP/IP 详解》!!!
* 操作系统方面:《操作系统导论》(豆瓣链接是 https://book.douban.com/subject/33463930/,别选错了):理论层面就这一本就够了,结合 Linux 内核来理解理论中的概念。
* Linux 内核方面:《 Linux 内核设计与实现(第三版)》,《深入 Linux 内核架构》:第一本比较简洁不会涉及太多细节,可以对整个内核有一个完整的认识;第二本会涉及一些细节,相对更复杂。Linux 内核学起来肯定是很难的,光看书也很枯燥,可以看一些视频或者博客。

你去搜一下相应的豆瓣评分就知道这些书值不值得看了。

基础方面就这些,大一打二把基础打牢,大三大四再去学其他编程语言和上层应用开发就容易得多。祝你学习顺利,少走弯路。
fcten
2023-02-01 19:53:34 +08:00
只知道课程名,以下建议可能不准确。建议查阅对应课程的教学大纲以及历年评价。

// 基础课,建议选修
计算机体系结构

// 基础课,编译原理相关,建议选修
编译技术
编程语言原理

// 基础课,算法相关,建议选修
算法设计
算法设计与分析
高级算法分析

// 基础课,数据库原理相关,建议选修
高级数据库系统

// 机器学习相关,可以说是目前最有钱途的方向了,建议选修
// 不过本科的选修课可能比较水,想在这个方向找到工作 99%要读研
人工智能
机器学习
应用深度学习
自然语言处理
AI 实践:实验和应用

// 计算机安全相关,对黑客什么的感兴趣可以修
网络安全
密码学
网络攻防
数字取证

// 计算机图形学相关,对游戏开发感兴趣的可以修
计算机图形学
计算机游戏设计与编程
计算机视觉

// 对移动 App 开发感兴趣可以修
交互式移动应用程序设计和编程

// 对服务端开发感兴趣可以修
分布式和并行计算

// 偏软件工程,对技术质量感兴趣可以修
工程质量软件

// 可能比较水的课(尤其是那些看上去就是多学科交叉的课)
计算的法律方面
量子信息与计算
电子商务技术
万维网上的现代技术
函数式编程
算法博弈论
生物信息学
物联网数据分析
科学计算

// 光看名字不好判断的课
机器人学
统计学习
数据驱动计算机动画
量子算法和计算机体系结构
flyico
2023-02-02 10:37:32 +08:00
本科阶段学这些也就是粗通皮毛,选学分好拿的就行了

真正学习是工作后的事情,所以大学里最重要的是学会‘自学’的能力
LXGMAX
2023-02-02 14:41: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