世界最著名大学教育向我们开放了!!!!!(非常珍贵的资源!!)
再给个看大学视频播客的
一、体系结构、编译器和并行计算Architecture,CompilersandParallelComputing体系结构和编译器的研究主要集中在硬件设计,编程语言以及下一代编译器。并行计算研究的包含范围很广,包括并行计算的计算模型,并行算法,并行编译器设计等。
三、理论与算法TheoryandAlgorithms计算机理论研究主要集中在算法和数据结构的设计与分析,以及计算复杂性的研究。具体包括最优化(optimization),计算几何和拓扑(computationalgeometryandtopology),近似算法(approximationalgorithms),密码(cryptography)和安全计算(securecomputation),网络设计(networkdesign),数据挖掘(datamining),机器学习(machinelearning),有限元网格生成(finite-elementmeshgeneration)和自动化软件验证(automaticsoftwareverification)。
四、人工智能ArtificialIntelligence这个领域包含广泛的研究课题,包括知识表示,机器学习,计算机视觉,推理和机器人等。知识表示(knowledgerepresentation):把知识按照一种有利于推理(得出结论)的方式表示出来。机器学习(machinelearning):自动学习如何识别复杂模式并基于数据作出智能决策。计算机视觉(computervision):使机器自动从图像和视频中提取信息并理解其中包含的视觉概念。推理(reasoning):学习推理的计算模型。机器人(robotics):工程学和机器人技术,以及它们的设计,制造,应用和结构配置。
五、编程语言ProgrammingLanguages该领域的研究包括计算机语言的设计与实现,其目标是同时提高开发人员的开放效率和软件质量。包含如下一些课题:(1)程序语言设计和实现(ProgrammingLanguageDesignandImplementation):编译器优化(Compileroptimization),语义(Semantics),即时编译器(JITcomplier),域特定语言(DSL:Domain-specificlanguages)。(2)编程环境和工具(ProgrammingEnvironmentsandTools):监控(Monitoring),程序员搜索引擎(Programmersearchengines),基于模型的设计(Model-baseddesign)。(3)程序分析和验证(ProgramAnalysisandVerification):模型检测(Modelchecking),静态和动态分析(Staticanddynamicanalysis),定理证明(Theoremproving),实时系统的任务调度分析(Schedulabilityanalysisforreal-timesystems)。
七、图形学与多媒体GraphicsandMultimedia图形学的研究包含对自然景象的建模和动画生成(modelingandanimationofnaturalphenomena),计算拓扑学(computationaltopology),图形硬件的使用(graphicshardwareutilization),渲染(rendering),网格处理和简化(meshprocessingandsimplification),形状建模(shapemodeling),曲面参数化(surfaceparameterization)和可视化处理(visibilityprocessing)等。多媒体研究包括图像处理(imageprocessing),视频处理(videoprocessing),音频分析(audioanalysis),文本检索和理解(textretrievalandunderstanding),数据挖掘和分析,以及数据融合(datafusion)。因为多媒体数据包含不同格式的数据(如文本,音频,视频),所以它的研究包含很多不同领域的技术和理论。
十、信息安全Security课题包含:(1)密码学(Cryptology)密码学理论(cryptographytheory),新的密码学系统开发(developmentofnewcrypographicsystems),密码分析学(cryptanalysis),协议开发,应用密码学,量子计算(quantumcomputation)。(2)隐私(Privacy)无线传感器网络的隐私,RFID系统的隐私,数据库的隐私问题,基于网络的应用的隐私。(3)软件安全(Softwaresecurity)开发编程语言和计算机安全之间的相互影响。(4)一致性和完整性(Identityandintegrity)预防“网络钓鱼”和攻击。(5)网络安全(Networksecurity)网络安全检测(networksecuritymonitoring)和入侵防御(intrusionprevention)。
十一、软件工程SoftwareEngineering主要研究开发大规模软件系统的原理和技术。
十二、生物信息学和计算生物学BioinformaticsandComputationalBiology研究高效鲁棒的生物计算模拟算法,以及应用数据挖掘,机器学习,自然语言处理和信息检索等方法来分析和挖掘各类生物数据。研究课题包括:(1)生物信息学(Bioinformatics)比较基因组学(Comparativegenomics),遗传分析(Geneticanalysis),系统发育(Phylogenetics),分子进化建模(Molecularevolutionarymodeling),基因调控网络(Generegulatorynetworks)。(2)蜂窝系统(Cellularsystems)蛋白质结构建模(Proteinstructuremodeling),基因调控网(Generegulatorynetworks),合成生物学(Syntheticbiology),Computationalsystemsbiology,细胞信号传导通路,传输和代谢,自组装系统(Self-assemblingsystems)。(3)神经系统(Neuralsystems)(4)生物医学系统(Biomedicalsystems)传感器,健康服务系统,生理模型,医学图像和生物图像分析。
十三、计算机教育ComputersandEducation本领域研究如何教授计算机科学以及如何将计算机应用到教育中。这部分内容比较宽泛,我在此就不展开了。以上是对美国计算机专业课程做的详细解读,主要介绍美国计算机专业CS十三个研究分支方向的课程及介绍。主要参考计算机四大名校(卡梅、MIT、斯坦福以及加州伯克利)等几个学校的资料,希望帮助更多申请美国CS的同学选校定位。
[【转帖】]世界50所知名大学提供开放课程转帖】所知名大学提供开放课程:世界50所知名大学提供开放课程:(Top50UniversityOpenCoursewareCollections)学术权威麻省理工学院:麻省理工学院有许多人认为是在该国最广泛的开放课件的收集,也正好是著名大学中的第一。学科覆盖范围从建筑、
卡内基梅隆大学这个奇妙的大学有优秀的学术传统。凭借其“开放的学习计划”的目标使每个人都有学习的机会并得到满足。
Moodle(在这所学校的开放式课件集合名称)载有大量的信息。历史、英语、教学、
纯英文的,听起来可能比较费劲!
全是有中文字幕的更新的香港公开大学开放课程:
2014-11-1116:01
谷歌推荐的课程更像是一个“技能树”,课程主要来自美国名校和各种开源教程,你也可以按照这个顺序学习中文的同类课程。
前面的academic系列课程比较接近计算机专业的学习顺序。如果你不打算成为专业的工程师,只想掌握一点编程知识,在工作中使用的话,可以直接拉到帖子中部开始观看。
要成为一名成功的软件工程师,你必须具备扎实的计算机科学基础。本自学指南适用于想要学习编程的大学生们,分为专业方向和非专业方向两个系列。你可以借助这个指南进行自学,但请首先修够你的专业学分,以保证顺利毕业。
本课程表中的课程不能代替大学课程,但它们能够帮助你进一步学习计算机科学,或者对这个领域建立初步理解。
关于如何使用本学习指南的4点建议:
【为进军学术界作准备的课程】
计算机科学导论课程
你可以选择提供在线编程工具的计算机导论课程。
课程推荐:
学习至少一种面向对象编程语言,如C++,Java或Python
入门课程:
中级课程:
学习其他的编程语言
测试和提高自己的编程能力
例如:排查故障,创建测试,破解软件
学习逻辑推理和离散数学
深入理解算法和数据结构
学习基本的数据类型,如堆栈、队列和数据包;
了解排序演算法,如快速排序,二路归并排序和堆排序;
了解数据结构,如二叉搜索树,红黑树和哈希表。
(注:这是英文维基给出的所有算法的列表,看看你完成了多少?)
(注:这是美国亚马逊的购买链接,不清楚有没有中文版)
深入了解操作系统
StanfordUniversity:
(以上全是斯坦福的课程!人工智能哪家强!)
如何开发一个编译器
密码学
并行编程
【如果你侧重应用方向】
这方面的内容包括创建和维护一个网站,建立自己的服务器,或开发一个机器人。
如果你想了解一个大型系统的一部分(如代码库),阅读和理解代码,或跟踪文档和排查故障,那么你可以到Github上围观和学习别人的代码,并尝试开发自己的项目。
如果你想通过学习提高与程序员合作的能力,那么你可以先尝试和程序员们共同完成一个项目。
如果你想补充算法知识,练习编程技巧,可以参加CodeJam、ACM举办的国际编程大赛等活动。
在美国,学生通常在五月到九月参加实习,一般需要提前几个月进行申请。