加州伯克利大学CS专业课程涉及计算理论、算法设计和分析、计算机体系结构和逻辑设计、编程语言、操作系统、科学计算、计算机图形学、数据库、人工智能和自然语言处理,等等。作为基础,CS61A、CS61B、CS61C、CS70是深入学习CS专业其他课程的先决条件。下面,我们就一起来了解一下这四门课程的主要内容吧!
想了解更多加州伯克利大学CS辅导信息的小伙伴戳!
一、CS61A计算机程序的结构和解释
这门课是对编程和计算机科学的介绍,重点是作为管理程序复杂性手段的抽象技术。内容涉及:过程抽象;使用递归、高阶函数、生成器和流来控制抽象;使用接口、对象、类和泛型操作符进行数据抽象,以及使用解释器和宏的语言抽象。课程将向学生展示编程范例,涵盖函数式、面向对象和声明式方法。同时还将介绍算法的渐近分析。
二、CS61B数据结构
这门课将介绍基本的动态数据结构,涉及线性列表、队列、树和其他链接结构;数组、字符串和哈希表;存储管理;软件工程基本原理;抽象数据类型;排序和搜索算法;Java编程语言。课程大约三分之一的时间将用于介绍Java。剩余时间用于基本Java编程技术的实践,学生将实现并实验基本的算法和数据结构。
三、CS61C机器结构
这门课将介绍数字计算机的内部组织和操作。内容涉及:机器架构,支持高级语言(逻辑、算术、指令排序)和操作系统(I/O、中断、内存管理、进程切换);计算机逻辑设计基础;基础架构设计决策中的权衡。学生将了解存储器层级(例如,高速缓存);线程级并行性(例如,多核);数据级并行性(例如,MapReduce和图形处理单元或GPU);指令级并行性(例如,流水线);晶体管及其变化率(如摩尔定律),等等。
四、CS70离散数学和概率论
这门课的目标是向学生介绍在电子工程和计算机科学中广泛使用的离散数学的思想和技术。课程旨在将这些想法“付诸实践”。学生在了解这些技术的同时,还会学习其用途。内容涉及:命题和证明;数学归纳法;算术算法;多项式及其应用;概率和概率算法(大数定律,负载平衡,概率结构,条件概率,贝叶斯推理,连续概率),等等。
综上所述,CS61A、CS61B、CS61C、CS70是学习加州伯克利大学CS课程的基础,同学若想顺利获得学位,一定要掌握上述四门课程的主要内容哟。