《信息安全系統設計基礎》教學進程
目錄
考核方式
參考「《信息安全系統設計基礎》 課程教學」中的考核方式。
暑假准備
進入課程雲班課,復習或學習
課程基礎
-
閱讀「使用博客園進行學習」,並建立個人技術博客
-
關注班級博客「2019-2020-1 信息安全系統設計基礎(北京電子科技學院) 」.
-
閱讀「使用開源中國托管代碼」並完成作業,注意不要與上學期《Java程序設計》用同一個代碼庫。
-
在實驗樓注冊賬號(注意體現學號信息),然后點擊配套實驗課程進入實驗樓實驗環境,點擊『加入私有課程』,《信息安全設計基礎》的課程碼:
W7FQKW4Y
,個人信息
填“學號+姓名”。 -
教材學習導讀: 《深入理解計算機系統V2》學習指導
學習實驗樓實踐教程:
教學進程
學習方法
- 進度很重要:注意前緊后松,必須跟上每周的進度,教材閱讀與總結,教材上的練習,問答小組,項目。我和助教們會認真對待每一位同學,請你不要因為困難而放棄,堅持下來,會發現自己的不可思議。
- 問答很重要:遇到知識難點請多多提問,這是你的權利更是您對自己負責的義務。問答到課程討論小組
- 實踐很重要:解決書中習題,實踐教材中實例,完成個人和團隊項目,才算真的消化了課程內容。可以通過實驗樓的課程配套環境或自己安裝的虛擬機在實踐中進行學習。
- 學習總結、實驗報告很重要:總結學習與實踐中的問題,得到老師和同學們的反饋,是進步的捷徑。學習完成后在博客園中把學習過程通過博客(隨筆)發表,博客標題“學號《信息安全系統設計基礎》第x周學習總結”
總結模板(Markdown)如下:
# 2018-2019-1 學號 《信息安全系統設計基礎》第X周學習總結
## 教材學習內容總結
盡量簡單的總結一下本周學習內容
盡量不要抄書,浪費時間
看懂就過,看不懂,學習有心得的記一下
## 教材學習中的問題和解決過程
(一個模板:我看了這一段文字 (引用文字),有這個問題 (提出問題)。 我查了資料,有這些說法(引用說法),根據我的實踐,我得到這些經驗(描述自己的經驗)。 但是我還是不太懂,我的困惑是(說明困惑)。【或者】我反對作者的觀點(提出作者的觀點,自己的觀點,以及理由)。 )
- 問題1:XXXXXX
- 問題1解決方案:XXXXXX
- 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...
## 代碼調試中的問題和解決過程
- 問題1:XXXXXX
- 問題1解決方案:XXXXXX
- 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...
## [代碼托管](碼雲學習項目鏈接)
(statistics.sh腳本的運行結果截圖)
## 上周考試錯題總結
- 錯題1及原因,理解情況
- 錯題2及原因,理解情況
- ...
## 其他(感悟、思考等,可選)
xxx
xxx
## 學習進度條
| | 代碼行數(新增/累積)| 博客量(新增/累積)|學習時間(新增/累積)|重要成長|
| -------- | :----------------:|:----------------:|:---------------: |:-----:|
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |
嘗試一下記錄「計划學習時間」和「實際學習時間」,到期末看看能不能改進自己的計划能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:[軟件工程軟件的估計為什么這么難](http://www.cnblogs.com/xinz/archive/2011/04/05/2005978.html),[軟件工程 估計方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)
- 計划學習時間:XX小時
- 實際學習時間:XX小時
- 改進情況:
(有空多看看[現代軟件工程 課件
軟件工程師能力自我評價表](http://www.cnblogs.com/xinz/p/3852177.html))
## 參考資料
- [《深入理解計算機系統V3》學習指導]([http://www.cnblogs.com/rocedu/p/5826467.html])
- ...
上面模板中用Markdown寫的總結的渲染效果如下:
博客要用作業提交,如下圖所示:
第一周學習指導
學習目標
- 熟悉Linux系統下的開發環境
- 熟悉vi的基本操作
- 熟悉gcc編譯器的基本原理
- 熟練使用gcc編譯器的常用選項
- 熟練使用gdb調試技術
- 熟悉makefile基本原理及語法規范
- 掌握靜態庫和動態庫的生成與調用方法
- 理解C程序中模塊的概仿,模塊分解的“高內聚,低耦合”的原則
- 了解鏈接的概念
學習資源
-
教材:第一章、第七章
-
《嵌入式Linux應用程序開發標准教程》第三章3.1-3.5
-
實驗樓課程資料:實驗二、八,課程邀請碼:W7FQKW4Y
-
教學視頻: 參考第十個視頻
-
視頻:下載地址
-
Linxu系統編程:實驗2、3、4
-
閱讀 「反作弊」:任何時候發現同學們有抄襲作業,抄襲代碼的情況,即時課程總成績清零
學習任務
-
必學內容:教材第一章,第七章(第七章內容可以《嵌入式Linux應用程序開發標准教程》第三章3.1-3.5),喜歡聽課的可以參考藍墨雲班課視頻,完成藍墨雲班課中的測試。
-
選學內容:根據自己情況,學習學習資源中其他內容
-
實驗樓課程資料:實驗二,課程邀請碼:W7FQKW4Y
-
把學習中的代碼進行托管,博客中給出代碼鏈接
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第一周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
- 快速瀏覽一遍教材,課本每章提出至少一個自己不懂的或最想解決的問題並在期末回答這些問題
- 提高學習效率,提高寫博客效率:盡量少摘抄書上的內容,主要寫有疑惑和有收獲的內容
- 截止時間:本周日 24:00,不按時發博客要扣1分,優秀博客加1分
- 不按上面的模板寫的要重寫,否則會扣1分
- 嚴禁抄襲,違反者總成績清零
第二周
學習目標
- 理解二進制在計算機中的重要地位
- 掌握布爾運算在C語言中的應用
- 理解有符號整數、無符號整數、浮點數的表示
- 理解補碼的重要性
- 能避免C語言中溢出,數據類型轉換中的陷阱和可能會導致的漏洞
- 進一步理解“信息=位+上下文”
學習資源
- 教材:第二章《信息的表示和處理》,詳細學習指導見教材導讀與每周考試重點。
- 實驗樓課程資料: 實驗三,課程邀請碼:W7FQKW4Y
- 教材中代碼運行、思考一下,讀代碼的學習方法見積極主動敲代碼,使用JUnit學習Java。
學習任務
-
必學內容:第二章《信息的表示和處理》,詳細學習指導見教材導讀與每周考試重點。喜歡聽課的可以參考藍墨雲班課視頻,完成藍墨雲班課中的測試。
-
選學內容:根據自己情況,學習學習資源中其他內容
-
實驗樓課程資料:實驗三,課程邀請碼:W7FQKW4Y
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第二周學習總結”,博客(隨筆)要通過作業提交,截止時間周末。
第三周
學習目標
- 理解逆向的概念
- 掌握X86匯編基礎,能夠閱讀(反)匯編代碼
- 了解ISA(指令集體系結構)
- 理解函數調用棧幀的概念,並能用GDB進行調試
學習資源
-
教材:第三章《程序的機器級表示》,詳細學習指導見教材導讀與每周考試重點。:重點是3.7節,3.11節
-
實驗樓課程資料:實驗四,課程邀請碼:W7FQKW4Y
-
教材中代碼運行、思考一下,讀代碼的學習方法見「代碼驅動的程序設計學習」。
-
雲班課資料、測試
學習任務
-
必學內容
- 閱讀教材,完成課后練習(書中有參考答案),考核:練習題把數據變換一下
- 教材3.1-3.7節中練習,重點:3.1,3.3,3.5,3.6,3.9,3.14,3.15,3.16,3.22,3.23,3.27,3.29,3.30,3.33,3.34
-
喜歡聽課的可以參考藍墨雲班課視頻,完成藍墨雲班課中的測試。
-
選學內容:根據自己情況,學習學習資源中其他內容
-
實驗樓課程資料:實驗四,課程邀請碼:W7FQKW4Y
-
動手實踐: Linux內核分析 第一節實驗
-
閱讀「2016-2017-1 《信息安全系統設計基礎》加扣分項目」,找自己的興趣點實踐加分。
-
把學習中的代碼進行托管,博客中給出代碼鏈接
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第三周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第四周
學習目標
- 了解ISA抽象的作用
- 掌握ISA,並能舉一反三學習其他體系結構
- 了解流水線和實現方式
學習資源
- 教材:第四章《處理器體系結構》,詳細學習指導見教材導讀與每周考試重點。:重點是4.1節,4.2節,4.3節。
- 實驗樓課程資料:實驗五,課程邀請碼:W7FQKW4Y
學習任務
-
必學內容
- 閱讀教材,完成課后練習(書中有參考答案),考核:練習題把數據變換一下
- 教材中相關代碼運行、思考一下,讀代碼的學習方法見「代碼驅動的程序設計學習」。
- 教材4.1-4.3中練習,重點:4.1 4.2 4.5 4.6 4.8 4.10 4.11 4.12 4.16 4.17 4.19 4.21 4.24
-
喜歡聽課的可以參考藍墨雲班課視頻,完成藍墨雲班課中的測試。
-
實驗樓課程資料:實驗五,課程邀請碼:W7FQKW4Y
-
閱讀「2016-2017-1 《信息安全系統設計基礎》加扣分項目」,找自己的興趣點實踐加分。
-
把學習中的代碼進行托管,博客中給出代碼鏈接
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第四周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第五周
學習目標
- 了解常見的存儲技術(RAM、ROM、磁盤、固態硬盤等)
- 理解局部性原理
- 理解緩存思想
- 理解局部性原理和緩存思想在存儲層次結構中的應用
- 高速緩存的原理和應用
學習資源
- 教材:第六章《存儲器層次結構》,詳細學習指導見教材導讀與每周考試重點。
- 實驗樓課程資料:實驗六、七,課程邀請碼:W7FQKW4Y
學習任務
-
必學內容
- 閱讀教材,完成課后練習(書中有參考答案),考核:練習題把數據變換一下
- 教材中相關代碼運行、思考一下,讀代碼的學習方法見「代碼驅動的程序設計學習」。
- 教材練習重點:6.2 6.3 6.4 6.8 6.9 6.10 6.11 6.12 6.13
-
喜歡聽課的可以參考藍墨雲班課視頻,完成藍墨雲班課中的測試。
-
實驗樓課程資料:實驗七,課程邀請碼:W7FQKW4Y
-
閱讀「2016-2017-1 《信息安全系統設計基礎》加扣分項目」,找自己的興趣點實踐加分。
-
把學習中的代碼進行托管,博客中給出代碼鏈接
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第五周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第六周
學習目標
- 了解系統調用及錯誤處理方法
- 理解IO處理及文件系統
- ;掌握Unix/Linux系統級I/O:open close read write seek stat;掌握I/O重定向的方法
學習資源
- 學習教材附錄A,第十章內容:掌握系統編程錯誤處理的方式
- 實驗樓課程資料:實驗十一,課程邀請碼:W7FQKW4Y
- 藍墨雲班課視頻
學習任務
- 學習教材附錄A,第十章內容:掌握系統編程錯誤處理的方式
- 參考實驗樓課程資料:實驗十一,課程邀請碼:W7FQKW4Y
- 參考別出心裁的Linux系統調用學習法,學習視頻,掌握兩個重要命令:
- man -k key1 | grep key2| grep 2 : 根據關鍵字檢索系統調用
- grep -nr XXX /usr/include :查找宏定義,類型定義
- 完成head,tail的使用,相關API的分析,偽代碼,產品代碼,測試代碼的編寫(3分)
- 發表相關內容的學習博客(課堂上完成實踐內容的可以選做),博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第六周學習總結”,博客(隨筆)要通過作業提交,截至時間 本周日 23:59。
第七周
學習目標
- 了解異常及其種類
- 理解進程和並發的概念
- 掌握進程創建和控制的系統調用及函數使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
- 理解數組指針、指針數組、函數指針、指針函數的區別
- 理解信號機制:kill,alarm,signal,sigaction
- 掌握管道和I/O重定向:pipe, dup, dup2
學習資源
- 教材:第八章《異常控制流》,第十章《系統級I/O》。詳細學習指導見教材導讀與每周考試重點。
- 別出心裁的Linux系統調用學習法: 學習方法,重點看
- 實驗樓課程資料:課程邀請碼:W7FQKW4Y
- 教學視頻
學習任務
-
注意每個系統調用的參數、返回值,會查幫助文檔
-
閱讀教材,完成課后練習(書中有參考答案),考核:練習題把數據變換一下
-
學習視頻,掌握兩個重要命令:
- man -k key1 | grep key2| grep 2 : 根據關鍵字檢索系統調用
- grep -nr XXX /usr/include :查找宏定義,類型定義
-
教材中相關代碼運行、思考一下,讀代碼的學習方法見「代碼驅動的程序設計學習」。
- 代碼重點:課程演示代碼
-
實驗樓課程資料:實驗九,課程邀請碼:W7FQKW4Y
-
閱讀「2016-2017-1 《信息安全系統設計基礎》加扣分項目」,找自己的興趣點實踐加分。
-
把學習中的代碼進行托管,博客中給出代碼鏈接
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第六周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
- 完成課上測試的可以不寫博客
- 補充完成課上實踐內容
- 編程實現浮點數轉換器
- 完成Linux內核分析實驗一,注意用GDB跟蹤每一步eip,ebp,esp,eax內容的變化。
第八周
學習目標
- 掌握三種並發的方式:進程、線程、I/O多路復用
- 掌握線程控制及相關系統調用
- 掌握線程同步互斥及相關系統調用
學習資源
- 教材:第十一章《網絡編程》簡單過一下(劉念老師講過了,我們只考試),教材:第十二章《並發編程》。詳細學習指導見教材導讀與每周考試重點。
- 別出心裁的Linux系統調用學習法: 學習方法,重點看
- 實驗樓課程資料,課程邀請碼:W7FQKW4Y
- 教學視頻
- 課后作業
學習任務
-
注意每個系統調用的參數、返回值,會查幫助文檔
-
閱讀教材,完成課后練習(書中有參考答案),考核:練習題把數據變換一下
-
學習視頻,掌握兩個重要命令:
- man -k key1 | grep key2| grep 2 : 根據關鍵字檢索系統調用
- grep -nr XXX /usr/include :查找宏定義,類型定義
-
教材中相關代碼運行、思考一下,讀代碼的學習方法見「代碼驅動的程序設計學習」。
- 代碼重點:課程演示代碼
-
實驗樓課程資料:實驗十二,十三課程邀請碼:W7FQKW4Y
-
閱讀「2016-2017-1 《信息安全系統設計基礎》加扣分項目」,找自己的興趣點實踐加分。
-
把學習中的代碼進行托管,博客中給出代碼鏈接
-
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第八周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第九周
學習目標
- 理解虛擬存儲器的概念和作用
- 理解地址翻譯的概念
- 理解存儲器映射
- 掌握動態存儲器分配的方法
- 理解垃圾收集的概念
- 了解C語言中與存儲器有關的錯誤
學習資源
- 教材:第九章《虛擬存儲器》。詳細學習指導見教材導讀與每周考試重點。
- 實驗樓課程資料,課程邀請碼:W7FQKW4Y
- 教學視頻
- 課后作業
學習任務
- 實驗樓課程資料:實驗十課程邀請碼:W7FQKW4Y
- 閱讀「2016-2017-1 《信息安全系統設計基礎》加扣分項目」,找自己的興趣點實踐加分。
- 把學習中的代碼進行托管,博客中給出代碼鏈接
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“2019-2020-1 學號 《信息安全系統設計基礎》第十一周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第十周
- 完成課上測試的可以不寫博客
- 補充完成課上實踐內容
- 完成課下作業並提交博客
第十一周
第十二周
試題總結,博客改進
第十三周(12.05-12.11)
找出全書你認為最重要的一章,深入重新學習一下,要求(期末占10分):
- 完成這一章所有習題
- 詳細總結本章要點
- 給你的結對學習搭檔講解你的總結並獲取反饋
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《信息安全系統設計基礎》第十三周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第十四周(12.12-12.18)
找出全書你認為學得最差的一章,深入重新學習一下,要求(期末占5分):
- 總結新的收獲
- 給你的結對學習搭檔講解或請教,並獲取反饋
- 參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《信息安全系統設計基礎》第十四周學習總結”,博客(隨筆)要通過作業提交,截至時間本周日 23:59。
第十五周
要求
- 課程總結:這個總結寫的好的會被選出來出成一本博客書,大家認真寫一下,被選中的會送你一本。
- 文中的鏈接都要配上二維碼,可以使用QQ中的工具或博客園的功能,點擊自己每篇文章的最下面的微信圖標就有二維碼:
發表一篇博客
-
學號 《信息安全系統設計基礎》課程總結
-
(按順序)每周作業鏈接匯總
-
(按順序)實驗報告鏈接匯總
-
代碼托管鏈接和二維碼:
- 截圖 git log --pretty=format:"%h - %an, %ar : %s" 的結果
- 代碼量匯總提交statistics.sh的支持截圖
- 代碼驅動的學習做到沒有?
- 加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得
- 實踐上有什么經驗教訓
-
整體評價一下第1周作業中自己提出的問題是不是抓住了學習重點
-
回答一下第1周作業中自己提出的問題
-
你有什么項目被加分,談談你的經驗
- 優秀作業(給出鏈接和二維碼)
- 總結(給出鏈接和二維碼)
- 項目(給出鏈接和二維碼)
- 教程(給出鏈接和二維碼)
- 競賽
- ...
-
你有什么項目被扣分,談談你的教訓
- 不動手實踐
- 遲交作業
- 不驗收代碼
- ...
-
課程收獲與不足
- 自己的收獲(投入,效率,效果等)
- 自己需要改進的地方
- 如果有結對,寫一下你提供的幫助或接受了什么幫助,並對老師提供參考建議
-
給開學初的你和學弟學妹們的學習建議
- 如果重新學習這門課,怎么做才可以學的更好
-
問卷調查
- 你平均每周投入到本課程多長時間?
- 每周的學習效率有提高嗎?
- 學習效果自己滿意嗎?
- 課程結束后會繼續一周至少一篇博客嗎?(如果能做到,畢業時我把你的博客給你集結成一本書送給你作紀念)
- 你覺得這門課老師應該繼續做哪一件事情?
- 你覺得這門課老師應該停止做哪一件事情?
- 你覺得這門課老師應該開始做什么新的事情?
-
其他任意發揮
-
給出你的總結的鏈接和二維碼
-
第十六周
- 總結
- 補漏
- 成績確認
- 深化
實驗一
-
提交實驗報告博客,一組寫一篇,實驗中貢獻第二,第三的寫博客答辯,貢獻第一的可以給出同組同學的博客鏈接。
-
博客標題:學期(如2019-2020-1) 學號1 學號2 學號3 實驗一 開發環境的熟悉
-
實驗目的,實驗步驟
-
實驗中的問題及解決過程
-
新學到的知識點
- 交叉編譯
- 宿主機與目標機
- NFS
- 超級終端
- file命令
- ...
實驗二
-
提交實驗報告博客,一組寫一篇,實驗中貢獻小的寫博客、答辯,貢獻多的可以給出同組同學的博客鏈接。
-
博客標題:學期(如2019-2020-1) 學號1 學號2 學號3 實驗二 固件程序設計
-
實驗目的,實驗步驟
-
實驗中的問題及解決過程
-
新學到的知識點
實驗三
-
提交實驗報告博客,一組寫一篇,實驗中貢獻小的寫博客答辯,貢獻多的可以給出同組同學的博客鏈接。
-
博客標題:學期(如2019-2020-1) 學號1 學號2 學號3 實驗三 實時系統
-
實驗目的,實驗步驟,截圖
-
實驗中的問題及解決過程
-
新學到的知識點
實驗四
-
提交實驗報告博客,一組寫一篇,實驗中貢獻小的寫博客答辯,貢獻多的可以給出同組同學的博客鏈接。
-
博客標題:學期(如2019-2020-1)學號1 學號2 學號3 實驗四 外設驅動程序設計
-
實驗目的,實驗步驟,截圖
-
實驗中的問題及解決過程
-
新學到的知識點
實驗五
- 提交實驗報告博客,一組寫一篇,實驗中貢獻小的寫博客答辯,貢獻多的可以給出同組同學的博客鏈接。
- 博客標題:學期(如2019-2020-1) 學號1 學號2 學號3 實驗五 通訊協議設計
- 實驗目的,實驗步驟,截圖
- 實驗中的問題及解決過程
- 新學到的知識點
教材與參考資料
MOOC & 視頻
其他
歡迎關注“rocedu”微信公眾號(手機上長按二維碼)
做中教,做中學,實踐中共同進步!
-
版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你覺得本文對你有幫助,請點一下左下角的“好文要頂”和“收藏該文”