東南大學(xué)計算機學(xué)院方效林教學(xué)課件_第1頁
東南大學(xué)計算機學(xué)院方效林教學(xué)課件_第2頁
東南大學(xué)計算機學(xué)院方效林教學(xué)課件_第3頁
東南大學(xué)計算機學(xué)院方效林教學(xué)課件_第4頁
東南大學(xué)計算機學(xué)院方效林教學(xué)課件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

東南大學(xué)計算機學(xué)院教學(xué)課件方效林教授東南大學(xué)計算機科學(xué)與工程學(xué)院課程簡介計算機科學(xué)基礎(chǔ)本課程旨在教授計算機科學(xué)基礎(chǔ)知識,培養(yǎng)學(xué)生編程能力和解決問題的能力。Python編程語言重點講解Python語言的基本語法、數(shù)據(jù)結(jié)構(gòu)、算法和面向?qū)ο缶幊痰葍?nèi)容。項目實戰(zhàn)課程設(shè)計了一系列項目實戰(zhàn)案例,幫助學(xué)生將理論知識應(yīng)用到實際問題中。學(xué)習(xí)目標編程能力提升掌握基礎(chǔ)語法,理解算法和數(shù)據(jù)結(jié)構(gòu),獨立完成小型項目。問題解決能力培養(yǎng)邏輯思維,提升代碼調(diào)試和錯誤處理能力,有效解決編程問題。團隊合作能力學(xué)習(xí)并應(yīng)用版本控制工具,與團隊成員協(xié)作開發(fā)項目。教學(xué)內(nèi)容概要11.編程基礎(chǔ)基礎(chǔ)語法、數(shù)據(jù)類型、控制流、函數(shù)等22.面向?qū)ο缶幊填?、對象、繼承、多態(tài)等概念及應(yīng)用33.數(shù)據(jù)結(jié)構(gòu)與算法線性表、樹、圖等數(shù)據(jù)結(jié)構(gòu)和常用算法44.項目實戰(zhàn)綜合運用所學(xué)知識,完成實際項目開發(fā)編程基礎(chǔ)知識變量與常量變量用于存儲數(shù)據(jù),可修改。常量用于存儲固定值,不可修改。數(shù)據(jù)類型基本數(shù)據(jù)類型包括整數(shù)、浮點數(shù)、字符串、布爾值等。運算符運算符包括算術(shù)運算符、比較運算符、邏輯運算符等。表達式表達式由運算符和操作數(shù)組成,用于計算結(jié)果。數(shù)據(jù)類型與運算符基本數(shù)據(jù)類型Python提供豐富的基本數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符串、布爾值等。了解基本數(shù)據(jù)類型的特性,可以幫助您有效地進行數(shù)據(jù)操作。運算符運算符用于執(zhí)行各種操作,如算術(shù)運算、比較運算、邏輯運算等。掌握各種運算符的使用,可以方便地構(gòu)建復(fù)雜的表達式和邏輯判斷。分支結(jié)構(gòu)分支結(jié)構(gòu)使程序能夠根據(jù)條件執(zhí)行不同的代碼塊,為程序帶來靈活性和可控性。1if語句最基本的判斷語句,執(zhí)行單個條件判斷。2if-else語句根據(jù)條件選擇執(zhí)行兩個代碼塊之一。3if-elif-else語句支持多條件判斷,選擇執(zhí)行多個代碼塊之一。分支結(jié)構(gòu)是程序邏輯的核心,掌握其應(yīng)用是編寫復(fù)雜程序的關(guān)鍵。循環(huán)結(jié)構(gòu)1while循環(huán)條件為真時,重復(fù)執(zhí)行代碼塊。2for循環(huán)遍歷可迭代對象中的元素。3嵌套循環(huán)循環(huán)結(jié)構(gòu)可以相互嵌套,實現(xiàn)復(fù)雜邏輯。4循環(huán)控制語句break、continue用于控制循環(huán)的執(zhí)行。循環(huán)結(jié)構(gòu)是程序設(shè)計中常用的控制流結(jié)構(gòu),可以重復(fù)執(zhí)行一段代碼,直到滿足特定條件為止。數(shù)組與字符串Python數(shù)組Python中的數(shù)組(列表)是可變的,可以存儲不同類型的數(shù)據(jù),并支持多種操作,如索引、切片、添加、刪除等。字符串字符串是不可變的,可以表示文本信息,并支持各種操作,如拼接、切片、查找、替換等。字符串操作Python提供豐富的字符串操作函數(shù),例如`len()`獲取長度,`split()`分割字符串,`join()`拼接字符串等。函數(shù)與模塊函數(shù)函數(shù)是一段可重復(fù)使用的代碼塊,執(zhí)行特定任務(wù)。模塊模塊是包含函數(shù)、類和變量的代碼文件,用于組織代碼。代碼重用函數(shù)和模塊提高代碼可讀性和可維護性,方便代碼重用。代碼結(jié)構(gòu)函數(shù)和模塊劃分程序結(jié)構(gòu),使代碼更易于理解和調(diào)試。面向?qū)ο缶幊谭庋b將數(shù)據(jù)和操作數(shù)據(jù)的方法封裝在一起,隱藏內(nèi)部細節(jié),提高代碼可維護性。繼承創(chuàng)建新的類,繼承已有類的屬性和方法,實現(xiàn)代碼復(fù)用,減少代碼冗余。多態(tài)同一個方法在不同的類中可以有不同的實現(xiàn),根據(jù)對象類型動態(tài)調(diào)用方法,提高代碼靈活性和擴展性。文件和異常處理11.文件操作學(xué)習(xí)如何打開、讀取、寫入和關(guān)閉文件,包括文本文件和二進制文件。22.異常處理了解常見的異常類型,使用try-except語句來處理異常,并使用finally語句來確保資源釋放。33.文件系統(tǒng)操作學(xué)習(xí)操作文件系統(tǒng),包括創(chuàng)建、刪除、重命名、移動文件和目錄,以及獲取文件屬性信息。44.文件序列化和反序列化學(xué)習(xí)將數(shù)據(jù)存儲到文件中,以及從文件中讀取數(shù)據(jù),并理解序列化和反序列化機制。網(wǎng)絡(luò)編程基礎(chǔ)網(wǎng)絡(luò)編程基礎(chǔ)介紹網(wǎng)絡(luò)編程的常用概念,如網(wǎng)絡(luò)協(xié)議、套接字、網(wǎng)絡(luò)通信模型等。講解TCP/IP協(xié)議族,包括TCP、UDP、IP等協(xié)議網(wǎng)絡(luò)編程實踐使用Python中的socket庫進行網(wǎng)絡(luò)編程實踐,包括創(chuàng)建TCP/UDP服務(wù)器和客戶端,實現(xiàn)簡單的數(shù)據(jù)傳輸和交互網(wǎng)絡(luò)安全介紹網(wǎng)絡(luò)安全相關(guān)知識,包括常見的網(wǎng)絡(luò)攻擊和防御手段,以及Python中的安全庫使用GUI編程11.圖形界面GUI編程涉及圖形用戶界面開發(fā),為用戶提供直觀且交互式的操作體驗。22.組件與布局GUI編程中使用各種組件,如按鈕、文本框和窗口,并使用布局管理器來安排組件的位置。33.事件處理GUI編程的核心是事件處理機制,用于響應(yīng)用戶的交互行為,如鼠標點擊或鍵盤輸入。44.跨平臺支持GUI編程的目標是開發(fā)出能夠在不同操作系統(tǒng)上運行的應(yīng)用程序,以擴展應(yīng)用程序的覆蓋范圍。Python標準庫基礎(chǔ)庫Python標準庫提供各種功能,包括輸入輸出、文件處理、網(wǎng)絡(luò)編程、數(shù)據(jù)結(jié)構(gòu)、算法等。模塊化設(shè)計標準庫的模塊化設(shè)計方便開發(fā)者快速使用,提高開發(fā)效率。豐富功能涵蓋廣泛應(yīng)用場景,如Web開發(fā)、數(shù)據(jù)科學(xué)、機器學(xué)習(xí)等。文檔齊全詳細的文檔和教程方便開發(fā)者學(xué)習(xí)和使用。常用第三方庫網(wǎng)絡(luò)開發(fā)RequestsBeautifulSoupScrapy數(shù)據(jù)分析PandasNumPyScikit-learn圖形界面TkinterPyQtKivy機器學(xué)習(xí)TensorFlowPyTorchKeras算法基礎(chǔ)算法定義算法是解決特定問題的一系列步驟,包括明確的指令,可以被計算機執(zhí)行。算法描述了解決問題的方法,通過一系列操作步驟來實現(xiàn)。算法特征算法具有明確性、有限性、可行性、輸入和輸出五個特征。這些特征保證算法能夠有效地解決問題并得到預(yù)期結(jié)果。排序算法插入排序插入排序是一種簡單直觀的排序算法。它將數(shù)組分成已排序和未排序兩個部分,逐步將未排序部分的元素插入到已排序部分的正確位置。冒泡排序冒泡排序是一種比較簡單的排序算法,通過不斷比較相鄰元素,將較大的元素交換到末尾,從而實現(xiàn)排序。選擇排序選擇排序算法是一種比較簡單的排序算法,它將數(shù)組分成已排序和未排序兩個部分,每次從未排序部分中找到最小元素,將其放到已排序部分的末尾。歸并排序歸并排序是一種基于分治思想的排序算法,它將數(shù)組不斷分成兩半,然后分別對兩半進行排序,最后將兩個有序的子數(shù)組合并成一個有序的數(shù)組。遞歸算法定義遞歸算法通過調(diào)用自身來解決問題,將復(fù)雜問題分解為更小的相同問題,直到問題簡單到可以直接解決。特點遞歸算法通常具有簡潔的代碼結(jié)構(gòu),但需要謹慎處理遞歸深度和邊界條件,避免無限遞歸。應(yīng)用遞歸算法適用于解決樹形結(jié)構(gòu)、分治問題、排序和搜索等問題,例如快速排序、二分查找等經(jīng)典算法。搜索算法線性搜索逐個檢查每個元素,直到找到目標元素或遍歷完所有元素。簡單易懂,但效率較低,尤其是在大量數(shù)據(jù)的情況下。二分搜索前提是數(shù)據(jù)已排序,每次比較中間元素,根據(jù)大小縮小搜索范圍。效率較高,時間復(fù)雜度為O(logn),適合處理有序數(shù)據(jù)。哈希搜索利用哈希函數(shù)將鍵映射到一個唯一的索引,直接訪問對應(yīng)元素。效率極高,平均時間復(fù)雜度為O(1),但需要額外的空間存儲哈希表。廣度優(yōu)先搜索從起點開始,逐層擴展,直到找到目標節(jié)點。適用于查找最短路徑,時間復(fù)雜度為O(V+E),V為節(jié)點數(shù),E為邊數(shù)。數(shù)據(jù)結(jié)構(gòu)定義數(shù)據(jù)結(jié)構(gòu)是計算機科學(xué)中組織和存儲數(shù)據(jù)的結(jié)構(gòu)。分類主要分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),例如數(shù)組、鏈表、棧、隊列、樹、圖等。應(yīng)用數(shù)據(jù)結(jié)構(gòu)廣泛應(yīng)用于各種軟件系統(tǒng),例如數(shù)據(jù)庫、操作系統(tǒng)、算法設(shè)計等。線性表線性表概述線性表是一種最基本的數(shù)據(jù)結(jié)構(gòu),它是一組元素的有序集合。數(shù)據(jù)元素之間存在唯一的線性關(guān)系,可以根據(jù)元素在集合中的位置進行訪問。線性表操作常見的線性表操作包括插入、刪除、查找、排序等。這些操作的效率取決于線性表的存儲結(jié)構(gòu)和實現(xiàn)方法。線性表存儲線性表可以采用順序存儲結(jié)構(gòu)或鏈式存儲結(jié)構(gòu)。順序存儲結(jié)構(gòu)使用連續(xù)的內(nèi)存空間存儲元素,而鏈式存儲結(jié)構(gòu)使用鏈表來存儲元素,每個節(jié)點包含數(shù)據(jù)域和指針域。棧和隊列棧后進先出(LIFO)數(shù)據(jù)結(jié)構(gòu),類似于堆疊的盤子。隊列先進先出(FIFO)數(shù)據(jù)結(jié)構(gòu),類似于排隊等候。應(yīng)用棧和隊列在計算機科學(xué)中廣泛應(yīng)用,例如函數(shù)調(diào)用、表達式求值、瀏覽器歷史記錄等。樹和圖樹形結(jié)構(gòu)樹是一種非線性數(shù)據(jù)結(jié)構(gòu),節(jié)點之間存在層次關(guān)系。圖結(jié)構(gòu)圖是一種更通用的非線性數(shù)據(jù)結(jié)構(gòu),節(jié)點之間可以有多種關(guān)系。遍歷算法樹的遍歷方法包括先序遍歷、中序遍歷和后序遍歷。圖算法圖算法包括最短路徑算法、最小生成樹算法等。散列表散列表結(jié)構(gòu)散列表是一種常用的數(shù)據(jù)結(jié)構(gòu),通過散列函數(shù)將鍵映射到數(shù)組索引,實現(xiàn)快速查找。沖突解決當多個鍵映射到同一個索引時,需要使用沖突解決策略,例如開放尋址法或鏈式地址法。應(yīng)用場景散列表在數(shù)據(jù)庫索引、緩存、密碼存儲等方面有著廣泛應(yīng)用,提高數(shù)據(jù)訪問效率。算法分析和復(fù)雜度11.時間復(fù)雜度衡量算法執(zhí)行時間隨輸入規(guī)模增長的變化趨勢。22.空間復(fù)雜度衡量算法執(zhí)行所需的內(nèi)存空間隨輸入規(guī)模的變化趨勢。33.漸進符號Big-O表示法、Omega表示法和Theta表示法描述了算法復(fù)雜度的上界、下界和準確界。44.復(fù)雜度分析幫助選擇最優(yōu)算法,了解算法性能瓶頸,優(yōu)化代碼。算法設(shè)計技巧模塊化將復(fù)雜問題分解成更小的子問題,以便于理解和解決。遞歸利用遞歸函數(shù)將問題分解成更小的相同類型的問題。貪婪算法在每一步選擇局部最優(yōu)解,希望最終得到全局最優(yōu)解。動態(tài)規(guī)劃將大問題分解成子問題,并記錄子問題的解,避免重復(fù)計算。項目實戰(zhàn)演練1實踐應(yīng)用將課堂所學(xué)知識應(yīng)用到實際項目中,解決實際問題。增強學(xué)生對理論知識的理解和應(yīng)用能力。2團隊協(xié)作學(xué)生組隊進行項目開發(fā),培養(yǎng)團隊合作精神。學(xué)習(xí)如何有效溝通,分工合作,共同完成目標。3問題解決在項目開發(fā)過程中遇到各種問題,鍛煉學(xué)生分析問題、解決問題的能力。學(xué)習(xí)如何查閱資料、尋求幫助,并最終找到解決方案。課程總結(jié)與展望總結(jié)回顧本課程全面介紹了Python編程語言的基礎(chǔ)知識,涵蓋了數(shù)據(jù)類型、運算符、控制流、函數(shù)、面向?qū)ο缶幊痰群诵母拍?。通過實戰(zhàn)演練,學(xué)生們掌握了Python編程的基本技能,并能獨立完成簡單的編程任務(wù)。未來展望未來,學(xué)生可以繼續(xù)深入學(xué)習(xí)Python高級特性,如網(wǎng)絡(luò)編程、GUI編程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論