摘要:
本文介紹課程作業提交規范,解釋了為什么要以博文的形式提交,怎么讓博文便於他人閱讀,代碼怎么提交。
1. 概述
課程作業發布與提交均采用博文的形式。教師在班級博客發布作業,學生閱讀博文,完成作業,並將作業以博文的形式發布在自己的博客。
如果作業涉及到源代碼,在博文中只添加核心源代碼,並在博文中以超鏈接的形式給出引用。完整源代碼上傳到代碼托管網站,建議使用 GitHub或者https://coding.net/。
2. 加入班級博客
教師通過課堂派將班級博客邀請鏈接發給大家,點擊加入班級博客,若還沒有在博客園開通博客,先注冊一個,再點擊邀請鏈接加入博客。實在還沒搞定的,參照該博文博客園加入班級詳解。
3 為什么采取博文的形式提交作業
傳統提交作業的方法,將所有東西(包括源代碼)放在一個word文件,可讀性較差。使用博客提交作業,博文插入源代碼可以高亮,便於閱讀。除此之外,還有如下好處:
- 在博文以超鏈接的形式添加引用更加自然,也方便閱讀者跳轉;
- 每次作業記錄自己的所思所想,好的想法值得分享,被更多人看到(比如通過搜索引擎搜索到你的文章),他人的評論也許可以完善你的想法,甚至可以交到志同道合的朋友;
- 提交word文檔,會假想閱讀者是老師或者助教。但寫博文,會假想閱讀者是網絡上的任何一個人,這樣會潛意識地督促自己寫得更好(比如更加深入淺出);
- 其他
4. 如何提交作業
步驟如下:
- 首先學生需在自己的博客中發布作業隨筆
- 點擊班級博客進入班級頁面,選擇右側“最新作業”中選擇需要提交的作業
- 進入作業頁面,點擊右上角“提交作業”
沒搞定的,參照該博文:如何在班級博客中提交作業。
值得注意的是:
- 作業在自己博客發布后,一定要到班級博客提交,否則班級博客后台看不到你的作業,等同於沒交。
- 在截止日期之前提交,否則后台關閉,將無法提交,等同於沒做
5. 博文規范
對於博文的要求,歸結起來是便於他人閱讀,即你的想法要很容易並且高效地被閱讀者理解。可以從兩方面達成這個目標:
- 語言組織。想想如何深入淺出地表達自己的想法,盡量做到每一句話都有它的用途。
- 排版。想想怎么排版,方便閱讀者follow你的邏輯。
我想到的一些便於他人閱讀的方法:
- 提交作業時,選擇添加新隨筆。不要選擇文章,否則班級博客上無法看到你的博文,也就無法打分。
- 博客標題格式為:“第*次作業:加上你響亮的標題”(比如“第1次作業:一個工程師成長的心路歷程”),方便助教批改作業。
- 在博文的開頭,寫個摘要,簡要說明這篇博文包含哪些內容。建議將摘要的內容,也拷貝到高級選項中的摘要(見圖1),這樣做的好處是,你的博客會很整潔。
- 使用章節層次,比如
2,2.1,2.1.1,並且寫好標題。 - 合理插入引用。比如引用了其他博文的部分內容,閱讀者可能想讀整篇文章,你給出引用,這樣就方便讀者了。
- 在文中需要的地方只給出核心源代碼,甚至更進一步,給出一個MWE(Minimal Working Example)。

圖1:博客園在隨筆添加摘要
7. 代碼提交
如果作業涉及到源代碼,將程序在自己的機器上調試好,再上傳到代碼托管網站,建議使用https://coding.net/ 或者GitHub。
為每一次作業創建一個倉庫(repository)。並且在博文一開始寫明本次作業的項目地址(比如https://github.com/sparkandshine/complex_network)。如果在博文中引用了哪個文件,以超鏈接的形式在文中添加引用。
在項目的根目錄創建一個名為README.md的文件,對本程序作一個簡單介紹,包括但不局限於:
- 這個程序用於做什么
- 怎么運行這個程序,比如參數解釋。(可以理解成給出一個用戶使用手冊)
- 本程序的運行環境(比如所依賴的庫)
**(1)怎樣使用git提交代碼 **
網上有很多手把手教程,比如:
- GitHub Help: https://help.github.com/
- http://rogerdudler.github.io/git-guide/index.zh.html
- http://www.cnblogs.com/hebau-may/p/6382743.html
(2)需要提交的應該有
- 項目的工程文件,例如Eclipse的項目文件
- 項目的源代碼
- 一些必要的配置
- 單獨創建一個public子目錄,存放編譯后的可執行程序,這不是標准的軟件發布的做法,但是目前你可以先這樣提交
(3)不應該提交的有:
bin目錄obj目錄target目錄.idea目錄.settings目錄build目錄,compile后生成的文件夾.classpath文件.DS_Store目錄.project文件*.imlIDE的配置文件、文件夾
可以在項目代碼的根目錄下創建一個.gitignore文件,把需要忽略的文件夾和文件相對路徑逐行添加進去,這樣git 提交的時候就會忽略這些子目錄和子文件。一個.gitignore模板示例:
/target/
/.idea/
/.settings/
/build/
/.classpath
/.DS_Store/
.project
*.iml
/obj/
/bin/
