斯坦福大學開放課程: 抽象編程 Open Stanford Course : Programming Abstractions 英文版 DVD 只於電腦播放 簡介: 斯坦福大學的“StanfordEngineeringEverywhere”免費提供學校裡最受歡迎的工科課程,給全世界的學生和教育工作者。 得益於這個項目,我們有機會和全世界站在同一個數量級的知識起跑線上。 本課程系列內容來源於斯坦福大學的“StanfordEngineeringEverywhere”項目。 官網地址:http://see.stanford.edu/default.aspx IntroductiontoComputerScience系列課程簡介: ProgrammingAbstractions抽象編程CS106B 本課程是銜接編程方法論課程,並展示高級編程主題,如遞歸、算法分析、C++編程語言的數據抽象化,C++類似於C和JAVA語言。如果已經通過電腦科學AP測試並獲得高分(4或5分),或者是在大學課程中取得高分,就可以從抽象化編程開始。抽象化編程假定你已熟悉良好的編程風和軟件工程內容(編程方法學的程度)。並能以編程和數據抽象化作為基礎來掌握新主題。 主題:抽象和編程的關係。數據的軟件工程原則的抽象和模塊化。面向對象編程,基本數據結構,如堆棧(隊列,集)和數據導向設計。遞歸和遞歸數據結構(鍊錶,樹,圖)。引入時間和空間複雜度分析。 基礎要求:編程方法學基礎、以面向高級編程主題。同程度的編程課程(包括高職的AP課程)可以取代我們的編程方法學課程。 IntroductiontoComputerScience|ProgrammingAbstractions–CS106B hiscourseisthenaturalsuccessortoProgrammingMethodologyandcoverssuchadvancedprogrammingtopicsasrecursion,algorithmicanalysis,anddataabstractionusingtheC++programminglanguage,whichissimilartobothCandJava.Ifyou'vetakentheComputerScienceAPexamanddonewell(scored4or5)orearnedagoodgradeinacollegecourse,ProgrammingAbstractionsmaybeanappropriatecourseforyoutostartwith,butoftenProgrammingAbstractions(Accelerated)isabetterchoice.ProgrammingAbstractionsassumesthatyoualreadyhavefamiliaritywithgoodprogrammingstyleandsoftwareengineeringissues(atthelevelofProgrammingMethodology),andthatyoucanusethisunderstandingasafoundationonwhichtotacklenewtopicsinprogramminganddataabstraction. Topics:Abstractionanditsrelationtoprogramming.Softwareengineeringprinciplesofdataabstractionandmodularity.Object-orientedprogramming,fundamentaldatastructures(suchasstacks,queues,sets)anddata-directeddesign.Recursionandrecursivedatastructures(linkedlists,trees,graphs).Introductiontotimeandspacecomplexityanalysis.UsestheprogramminglanguageC++coveringitsbasicfacilities Prerequisites:SolidperformanceinProgrammingMethodologyandreadinesstomoveontoadvancedprogrammingtopics.Acomparableintroductoryprogrammingcourse(includinghighschoolAPcourses)isoftenareasonablesubstituteforourProgrammingMethodology. 主講JulieZelenski IleftmyruralhometownofStevinson,CA(population:262)tocometoStanfordasawide-eyedfreshmanin1985.ThattourpassedthroughSLE,theLSJUMB,ahalf-dozenchangesinmymajor,andIemergedwithaMathematicalSciencesdegree.Afewyearsoutinthe"realworld"wereenoughtosendmerunningbackforgradschoolincomputerscienceandIseguedintomycurrentpositionasalecturerin1992withoutsettingfootoffcampusagain.Iteachcoursesintheundergradsystemscurriculum,includingprogrammingmethodologyandabstractions,languageparadigms,compilers,andobject-orienteddesignanddevelopment,butIespeciallyenjoyworkingwiththesectionleadersintheCS106courses.IhavebeentheadvisortotheStanfordSWEandACM-WchaptersandrecentlyservedontheComputerScienceAdvancedPlacementdevelopmentcommittee. 目錄: ProgrammingAbstractionsCS106B-lecture01 ProgrammingAbstractionsCS106B-lecture02 ProgrammingAbstractionsCS106B-lecture03 ProgrammingAbstractionsCS106B-lecture04 ..................... ProgrammingAbstractionsCS106B-lecture27