计算机科学专业
大一(几乎全是必修):
数学: 微分积分级数你们学的应该比我好
基础数论(线性丢番图方程的整数解,辗转相除找最大公约数,费马小定理的各种应用,RSA加密的原理和证明,韩信点兵,无限集合的可数和不可数,暂时就想起来这些内容)线性代数( 点乘叉乘,矩阵的特征值特征向量,换基)计算机:
函数式编程(DrRacket),递归,树结构,链表,abstract, lambda演算,图搜的简单剪枝思路。浅尝算法复杂度C语言,更严点儿的算法复杂度估算,链表,二叉树,堆,自平衡二叉树,桶排序,堆排序,快排,归并排序,DrRacket 解释器。动态存储分布英文写作,一到两门简单的选修课。
大二:
数学:
概率(二项分布,泊松分布,指数分布,排列组合,正态分布)统计学(卡方检验,Gamma function,假设检验,最大似然,置信区间)。
图论(二分图,平面图,非平面图,最小生成树,欧拉回路,汉密尔顿路径,四色定理)计算机:
面向对象编程(C++, 各种软件设计模式,stl library及其中部分功能的实现,projext)。
一阶逻辑
编译器入门(正则语言,context free grammar,DFA,NFA)数据结构(严格的算法复杂度证明,带有随机性的快排的时间复杂度,二叉树,堆,AVL树,ab树,kd树,哈夫曼树,skip list,trie,KMP 算法,Boyer Moore算法,hash table,zip压缩算法)计算机架构(MIPS,cache,flipflop, CPU pipeline反正是个大水课)选修,反正不是计算机的都可以。画画法语会计日语经济人力资源管理啥的都行大三:
操作系统(lock, semaphore, conditional variable,thread, processing, memory management)算法(贪心算法,动态规划,DFS, BFS, Dijkstra,算法的reduction, NP和NP完全性问题的部分证明)。
到这会儿选修就有很多计算机课可以选择了
计算模型(DFA, NFA, 图灵机,正则语言,CFG,泵引理,不确定性图灵机,停机问题的证明,不可证问题之所以存在的证明,图灵机角度的NP完全性问题)用户界面(Java,6周swing,4周安卓开发 ,全靠自学)科学与数学计算(浮点数运算偏差,google page Rankin,马尔可夫矩阵的一些证明,贝塞尔曲线,样条函数,傅立叶变换)数据库(没上过),并行运算(没上过)。
这会儿高年级的统计学课程和数学课也可以选了。数学渣没学大四:基本都是需要满足一定条件的选修,所以还是计算机本专业的课。
人工智能入门(贝叶斯方法,图搜剪枝,决策树,bp)。
Real-time Programming(自己写一个实时的微内核操作系统,从输入输出开始写起。自动驾驶火车),编译器(没上过,很难很难)
机器学习入门(KNN,决策树,贝叶斯方法的有关证明,最大似然方法的有关证明,感知器算法,SVM,QBC, clustering, EM, Eigen Face,神经网络入门)计算机图形(图形管线原理,扫描线算法, Z 缓存,BSP Tree,光线追踪,自由发挥的最终project分GL做法和光线追踪做法两种,,在此期间自学Open GL,GLSL,phong shading, phong illumination,perlin noise, bump mapping, CSG, Path Tracing, photon map,光线追踪的加速)密码学(对称密钥加密,RC4, DES, 3DES, 哈希,RSA,椭圆曲线,比特币原理)分布式系统(没学),计算机网络(没学),生物信息学的相关算法(没学),计算机视觉入门(没学)非计算机非数学类的选修课:想学啥学啥,物理化学生物画画法语日语经济金融会计乐理国际政治多了去了……日常学习生活: 写代码,写代码,写代码,写数学题,写证明题,写简历,找实习。
就业方向:量化交易,网络前后端,手机端,商业级软件开发,做系统,游戏,自动驾驶,挖币发币,动画电影特效,科学研究模拟,火星探测器,泡在学校做研究,做PPT骗人拉投资。