UCB CS61A: Structure and Interpretation of Computer Programs

文章推薦指數: 80 %
投票人數:10人

CS61A: Structure and Interpretation of Computer Programs. 课程简介. 所属大学:UC Berkeley; 先修要求:无; 编程语言:Python, Scheme, SQL ... 跳转至CS自学指南cs-self-learning前言一个仅供参考的CS学习规划必学工具必学工具翻墙VimGitGitHubGNUMakeCMakeLaTeXDocker实用工具箱毕业论文好书推荐数学基础数学基础MIT18.01/18.02:CalculusMIT18.06:LinearAlgebraMIT6.050J:InformationtheoryandEntropy数学进阶数学进阶UCBCS70:discreteMathandprobabilitytheoryUCBCS126:probabilitytheoryMIT6.042J:MathematicsforComputerScienceMIT18.330:IntroductiontonumericalanalysisStandfordEE364A:ConvexOptimizationTheInformationTheory,PatterRecognition,andNeuralNetworks编程入门编程入门MIT-Missing-SemesterHarvardCS50:ThisisCS50xUCBCS61A:StructureandInterpretationofComputerProgramsUCBCS61A:StructureandInterpretationofComputerPrograms目录课程简介课程资源资源汇总DukeUniversity:IntroductoryCProgrammingSpecializationStanfordCS106B/XStanfordCS106L:StandardC++ProgrammingStanfordCS110L:SafetyinSystemsProgramming电子基础电子基础EE16A&B:DesigningInformationDevicesandSystemsI&IIUCBEE120:SignalandSystemsMIT6.007SignalsandSystems数据结构与算法数据结构与算法UCBCS61B:DataStructuresandAlgorithmsCoursera:AlgorithmsI&IIUCBCS170:EfficientAlgorithmsandIntractableProblems软件工程软件工程MIT6.031:SoftwareConstructionUCBCS169:softwareengineering体系结构体系结构Coursera:Nand2TetrisDigitalDesignandComputerArchitectureUCBCS61C:GreatIdeasinComputerArchitectureCMU15-213:CSAPP操作系统操作系统MIT6.S081:OperatingSystemEngineeringUCBCS162:OperatingSystemNJUOS:OperatingSystemDesignandImplementation并行与分布式系统并行与分布式系统CMU15-418/StanfordCS149:ParallelComputingMIT6.824:DistributedSystem计算机系统安全计算机系统安全UCBCS161:ComputerSecurityMIT6.858:ComputerSystemSecurity计算机网络计算机网络USTCComputerNetworking:ATop-DownApproachComputerNetworking:ATop-DownApproachStanfordCS144:ComputerNetwork数据库系统数据库系统UCBCS186:IntroductiontoDatabaseSystemCMU15-445:DatabaseSystemsCaltechCS122:DatabaseSystemImplementation编译原理编译原理StanfordCS143:Compilers计算机图形学计算机图形学GAMES101GAMES202GAMES103StanfordCS148Web开发Web开发MITwebdevelopmentcourseStanfordCS142:WebApplications数据科学数据科学UCBData100:PrinciplesandTechniquesofDataScience人工智能人工智能HarvardCS50'sIntroductiontoAIwithPythonUCBCS188:IntroductiontoArtificialIntelligence智能计算系统机器学习机器学习Coursera:MachineLearningStanfordCS229:MachineLearningUCBCS189:IntroductiontoMachineLearning深度学习深度学习Coursera:DeepLearning国立台湾大学:李宏毅机器学习StanfordCS231n:CNNforVisualRecognitionStanfordCS224n:NaturalLanguageProcessingStanfordCS224w:MachineLearningwithGraphsUCBCS285:DeepReinforcementLearning机器学习进阶机器学习进阶进阶路线图CMU10-708:ProbabilisticGraphicalModelsColumbiaSTAT8201:DeepGenerativeModelsUTorontoSTA4273Winter2021:MinimizingExpectationsStanfordSTATS214/CS229M:MachineLearningTheory后记目录课程简介课程资源资源汇总CS61A:StructureandInterpretationofComputerPrograms课程简介所属大学:UCBerkeley先修要求:无编程语言:Python,Scheme,SQL课程难度:🌟🌟🌟预计学时:50小时伯克利CS61系列的第一门课程,也是我的Python入门课。

CS61系列是伯克利CS专业的入门课,其中:CS61A:强调抽象,让学生掌握用程序来解决实际问题,而不关注底层的硬件细节。

CS61B:注重算法与数据结构以及大规模程序的构建,学生会用Java语言结合算法与数据结构的知识来构建千行代码级别的大型项目(一个简易的谷歌地图,一个二维版的Minecraft)。

CS61C:关注计算机体系结构,让学生理解高级语言(例如C)是如何一步步转换为机器可以理解的01串并在CPU执行的,学生将会学习RISC-V架构并自己用Logism实现一个CPU。

CS61B和CS61C在本书中均有收录。

回到CS61A,注意这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。

最后你将在第4个Project中用Python实现一个Scheme的解释器。

此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。

当然,学习编程语言也是这门课的一大内容,你将会掌握Python、Scheme和SQL这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。

注意:如果此前完全没有编程基础,直接上手CS61A需要一定的学习能力和自律要求。

为避免课程难度过高而导致的信心挫折,可以选择一个更为友好的入门编程课程。

例如伯克利的CS10或者哈佛大学的CS50。

课程资源课程网站:https://inst.eecs.berkeley.edu/~cs61a/su20/课程视频:参见课程网站链接课程教材:http://composingprograms.com/课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。

资源汇总我在学习这门课中用到的所有资源和作业实现都汇总在PKUFlyingPic/CS61A-GitHub中。

最后更新:May11,2022Backtotop



請為這篇文章評分?