UCB CS61A: Structure and Interpretation of Computer Programs
文章推薦指數: 80 %
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
延伸文章資訊
- 1CS 61A Summer 2022
- 2千人狂歡最受歡迎的程式課 - 天下雜誌
神祕課號CS61A、CS10,彷彿一串密碼,從此引爆了柏克萊學生的電腦科學狂潮。是什麼樣的魅力,讓上千名「程式菜鳥」排隊上課?
- 3UCB CS61A: Structure and Interpretation of Computer Programs
CS61A: Structure and Interpretation of Computer Programs. 课程简介. 所属大学:UC Berkeley; 先修要求:无; 编程语言:Py...
- 4PKUFlyingPig/CS61A - GitHub
What's is CS61A ? ... The CS 61 series is an introduction to computer science, with particular em...
- 5UCB的CS61A课程小结 - 知乎专栏
最近通过B站上的视频和课程主页上的各种资料草草地过了一遍UCB的CS61A,这篇文章就当作小结。当然,也为其他自学这门课的同学作个参考。