《斯坦福大學開放課程: 編程方法學》(Open Stanford Course : Programming Methodology )[人人影視中英雙語字幕][WMV]
http://www.verycd.com/topics/2826147/
斯坦福大學
簡介:
斯坦福大學的“Stanford Engineering Everywhere
”免費提供學校裏最受歡迎的工科課程,給全世界的學生和教育工作者。得益於這個項目,我們有機會和全世界站在同一個數量級的知識起跑線上。本課程系列內容
來源於斯坦福大學的“Stanford Engineering Everywhere ”項目。
官網地址: http://see.stanford.edu/default.aspx
斯坦福大學 Introduction to Computer Science系列課程簡介:
Programming Methodology 編程方法學 課程代號 CS106A
本
課程是編程課程導讀中最龐大的,也是斯坦福大學課程中最龐大的.主題着重在電腦應用工程的入門,強調現代軟件工程學原理:
物體導向設計、分解、封裝、抽象化和測試。
編程方法學將良好的軟件工程原理,連同廣泛使用的JAVA編程語言一起講授。強調良好的編程風格。和JAVA語言的內建工具。本課程特別設計成適合文科和
社會科學者。實際上,編程方法學畢業生大多都不是主修的工程管理。
基本要求: 本課程不要求具備編程基礎,但是要求多下功夫、努力!
目錄
:
課程簡介:
第一課:課程簡介
歡迎來到CS106A,授課人員,爲什麼稱之爲編程方法?,你真的適合學習這門課程嗎?,課程常規,作業與評分,課外拓展,期中期末考試,成績評定細則,行爲準則,爲何要從Karel學起?
第二課:歡迎來到Karel的世界
講義相關,註冊討論小組,Karel基本命令,算法與程序孰輕孰重,Karel程序語法,運行一個Karel程序,創建函數的方法,超級Karel,For循環,While循環,Karel條件語句,If條件語句,綜述
第三課:Karel與Java
Karel 與Java,常見的錯誤,註釋,前提條件和後續條件,分解,例程序DoubleBeeper,養成良好編程習慣重要性,正確的分解,例程序CleanUpKarel
第四課:計算科學發展史
計
算機科學與程序設計的千絲萬縷,電腦懂什麼,編譯過程,Java-面向對象的程序設計語言,繼承,類,acm.program層次結構,第一個Java程
序,例程序ConsoleProgram,圖形化界面,例程序Sending-Messages-to-a-GLabel
第五課:變量
變量的數據類型,調用變量相關語法,類的類型,對象變量,調用類成員函數的方法,圖形座標,對類GObject以及其子類的操作,描畫幾何對象,例程序FunGraphics,表達式與操作符
第六課:操作符
readInt() 和 readDouble()函數,整形與浮點數的除法運算操作符,操作符優先級,類型轉換,常量,布爾數據類型,值的比較,布爾表達式,短路求值,語句塊,變量的作用域,if套嵌,switch語句,for循環語句,while循環語句
第七課:循環與“一半”問題
For循環與While循環的對比,例程序CheckerBoad,在Java中創建函數,創建函數舉例,FactorialExample程序,用函數返回對象
第八課:信息隱藏
Void函數類型,在函數間傳遞參數,函數的缺陷,類的使用,整體變量與局部變量,例程序RandomGenerator,例程序RollDice,setseed()函數
第九課:字符串
寫一個類,公有和私有的區別,構造函數,this關鍵詞,類的使用,對象的調用需要使用引用方式,將類作爲變量,Javadoc技術,例程序Student
第十課:私有變量的重要性
擴展Student類,函數重寫,acm.graphics程序包,GCanvas,GObjects中的常用函數,其中的接口與函數,BouncingBall例程序,GLable類中的幾何學,GArc類
第十一課:Gimage類
GPolygon類,GCompound類,事件驅動程序,例程序ClickForFace,響應鼠標操作,響應鍵盤操作,例程序UFO
第十二課:枚舉
字符,Unicode標準下的ASCII碼,字符的讀取,字符中的數學,基本類型char,字符對象,字符串及其操作
第十三課:對字符串的處理
編譯器,加密
第十四課:內存
存放不同變量的內存區塊,內存分配機制,對指針的看法,指針趣味小視頻
第十五課:指針要點回顧
爲什麼要通過引用方式調用類,將封裝類作爲基本數據類型,文件,打開、讀取、關閉文件的函數,異常狀況,文件寫操作函數
第十六課:數組
創建數組,++操作符,數組的真實長度與有效長度,將數組作爲參數,初始化數組,數組列表
第十七課:多維數組
類模版,ArrayList類中的函數,使用ArrayList類的例程序,Glable數組列表例程序,例程序GrayImage
第十八課:多維數組收尾
數組列表方式,數組列表與數組的優劣分析,調試,程序調試的方法,Eclipse中的調試器
第十九課:接口
如何使用接口,映射,HashMap類,HashMap中的函數,中繼器,HashMap例程序
第二十課:圖形用戶界面
Java程序中的Interactor,Swing Interactor層次結構,窗口區域,創建Interactor,例程序,探索更多Interactor,例程序InteractorDrawFace
第二十一課:Interactor與Listener回顧
例程序,例程序中應用的兩種方法——使用getSouce或getActionCommand函數,例程序TextField,佈局設計,溫度換算例程序,例程序TextAndGraphics
第二十二課:NameSurfer概述
組件與容器,容器的監聽器,設計可擴展程序,ComponentListener接口,例程序MusicShop,例程序MusicShopDisplay
第二十三課:搜索,排序與算法效率分析
課程材料介紹——搜索,排序及其算法效率分析,搜索,線性搜索,線性搜索的效率分析,二分法搜索,二分法搜索的效率分析,排序,選擇排序算法,選擇排序效率分析,基數排序算法
第二十四課:管理大型數據中的良好軟件工程原理
設計思想,數據蒐集層次結構,數據蒐集實用函數,例程序:在線音樂商店FlyTunes,定義歌曲類,定義專輯類,鑑證程序運行,對所需數據結構的思考,數據的重複利用,淺拷貝與深拷貝
第二十五課:設計實用社交網絡
思考程序所需功能,分離現象的六種程度,並行性,一個線程,運行接口,創建一個線程,例程序,在線程間共享數據
第二十六課:介紹Java標準庫
JAR文件介紹,創建JAR文件,創建applet小程序,脫離ACM運行庫創建標準Java程序,其他——深入學習Java
第二十七課:CS106A後續課程介紹
計算機專業簡介,其他專業出路
第二十八課:宣佈圖形比賽結果
期末複習,例題1,例題2,課程總結