胡勇
摘要:“人機交互技術”課程是軟件工程專業的必修課,對本課程的教學探索與實踐都具有重要的現實意義。本文依據“人機交互技術”課程的特點,闡述和分析了本課程的教學內容、教學方法和教學手段;以面向應用型本科教育和面向工程教育為目標,對該課程的教學進行了初步的探索與實踐。
關鍵詞:“人機交互技術”;課程改革;應用型本科教育;工程教育
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)45-0159-03
人機交互技術是信息技術的一個重要組成部分,已經在制造業、教育、娛樂、軍事和日常生活等領域得到了廣泛的應用,其發展對人類生產和生活都產生了廣泛而深刻的影響。在美國信息技術顧問委員會發布的“二十一世紀的信息技術報告”中,將人機交互和信息管理列為新世紀4項重點發展的信息技術之一,其目標是研制“能聽、能說、能理解人類語言的計算機”;在我國《國家中長期科學和技術發展規劃綱要(2006—2020年)》中,人機交互被列為了支撐信息技術發展的科學基礎之一;在最新的軟件知識體系SWEBOK(the Software Engineering Body of Knowledge)中,已將人機交互作為子知識域,列入到了軟件設計和軟件測試知識域中。
按照Hewett等人給出的定義,所謂人機交互(Human-Computer Interaction,HCI),是指關于設計、評價和實現供人們使用的交互式計算機系統,并圍繞相關的主要現象進行研究的學科。狹義地講,人機交互技術主要是研究人與計算機之間的信息交換,它主要包括人到計算機和計算機到人的信息交換兩部分。作為21世紀信息領域的重要研究內容之一,國內外眾多高校已將人機交互課程設為軟件工程專業的必修課,一些知名高校還創建了實驗室或研究所,對人機交互技術進行研究。因此,對HCI課程的研究與實踐具有非常重要的意義,而如何有效組織和開展課堂教學,更好的適應本科教學和軟件工程學科的發展,并對課程教學進行探索和實踐就成為當下的首要任務。
一、教學內容、目標與課程特點
人機交互的研究內容十分廣泛,涵蓋了建模、設計、評估等理論和方法,以及在Web、移動計算、虛擬現實等方面的應用研究,主要內容包括:人機交互界面表示模型與設計方法、可用性分析與評估、多通道交互技術、認識與智能用戶界面、群件、Web設計、移動界面設計等。作為軟件工程專業的核心課程,“人機交互技術”課程的教學目的是:通過對人機交互技術的相關知識介紹,使學生了解人機交互的基本概念和基本技巧,掌握用戶界面設計的基本原則和方法;結合當前主流界面實現技術,使學生熟練掌握軟件系統用戶界面設計的主要過程和可用性評價方法,對目前本領域的研究現狀、主要方法及其相應的評價體系有所了解。對課程的教學要求有:對人機交互技術的相關知識、原理、應用和模型等進行深入淺出的介紹和分析,使學生對人機交互方法有比較深入的理解,能夠從系統結構角度分析現有的軟件系統,并能利用所學到的有關人機交互技術的知識,設計和實現友好的人機交互系統。
“人機交互技術”是一門實踐性和應用性很強的課程,應以實踐操作性內容為主,理論概念講授為輔。在教學過程中除了要培養學生具備扎實的理論知識基礎,更要注重培養學生的實踐應用能力,即:利用所學到的有關人機交互技術的知識設計和實現友好的人機交互系統。在課堂教學中,應避免孤立、枯燥的純理論講解,而是通過講解常見實例的應用方法給學生引入相關知識、原理和模型,讓學生能夠快速入門與提高,并將相關理論應用于實際應用。課程采用課堂講授和實踐教學相結合的手段開展教學活動。課堂授課包括理論教學和實驗教學,學生課堂學習也包括理論學習和實驗練習,學生課后練習包括課后作業,即書面作業以及上機作業。教學時,鼓勵學生多進行實驗練習,不僅僅局限于課內實驗,也可以布置一些隨堂思考題讓學生課后自行上機練習,激發學生學習的主動性和積極性。同時,安排學生課后自學相關內容,隨后在課堂上進行檢查,培養學生的自學能力、獨立分析問題和解決問題的能力。課程設置了相應課時的實驗,其目的是使學生通過實驗教學驗證課堂教學的理論,理解和掌握人機交互技術中最基本、最廣泛應用的概念、原理、理論和算法,更好地掌握課程教學大綱要求的內容。
二、軟件工程專業現狀與分析
近年來,隨著我國軟件人才的旺盛需求和軟件工程領域的科學技術的進步,軟件工程的專業學科建設得到迅猛發展。自1988年起,我國部分高校開始試辦軟件工程的本科專業。2001年,國家計委、教育部與財政部聯合批準試辦了35所示范性軟件學院。2011年,軟件工程學科正式成為獨立一級學科。2012年,軟件工程專業成為我國普通高等教育的基本專業。目前,我國已有近百所高校成立了獨立的軟件學院,軟件工程本科專業點已達到500多個。為了推動軟件工程專業教學改革,2014年12月,教育部高等學校計算機類專業教學指導委員會和全國高等學校計算機教育研究會聯合啟動了“本科軟件工程專業應用型人才培養研究”項目,由桂林電子科技大學、金陵科技學院、浙江大學城市學院和合肥學院牽頭,探討軟件工程專業建設、專業改革和應用型人才培養的途徑。
工程教育認證是國際通行的工程教育質量保證制度,教育部已將工程教育專業認證列入新一輪本科教學“五位一體”評估范圍和“卓越計劃”人才培養質量驗收條件之一。2015年10月,為了適應國際工程教育認證的發展趨勢,由教育部主管、工程教育相關的機構和個人組成的全國性社會團體——中國工程教育專業認證協會(Chinese Engineering Education Accreditation Association,CEEAA)成立,主要負責我國工程教育認證工作的組織實施。2016年6月,我國正式加入國際上最具影響力的工程教育學位互認協議《華盛頓協議》,對于通過認證協會認證的工程專業,其畢業生學位得到《華盛頓協議》其他組織的認可,極大地提高了我國工程教育的國際影響力。endprint
教育部在《高等學校軟件工程專業規范》、《中國工程教育認證標準(2015版)》、《計算機類專業教學質量國家標準》和《ITSS-信息技術服務標準》的基礎上,形成了《高等學校本科軟件工程專業應用型人才培養指導意見(2016版)》(以下簡稱《指導意見》)。在《指導意見》中,重新審定了包括“人機交互技術”課程在內的專業核心和方向課程的教學實施方案,將軟件工程專業的每項畢業要求分解為可考核的指標點,給出了支持畢業要求的細化指標,建立了指標點與教學活動之間的關聯關系,建立了應用型軟件工程專業人才培養新模式,形成了“本科標準+職業能力”的地方性、應用型大學軟件工程專業人才培養新方案。
三、課程教學探索與實踐
自我校2011年開設軟件工程專業以來,“人機交互技術”課程已經成為培養專業實踐能力的核心課程之一。本課程在專業培養目標中的定位為:通過深入分析和理解軟件系統人機交互的相關知識、原理、應用和模型,使學生對軟件人機交互方法有比較深入的理解,能夠從系統結構角度分析現有的軟件系統,并能利用所學到的有關人機交互技術的知識設計和實現新的人機交互系統。課程支撐的知識和能力要求有:具備運用工程基礎知識和本專業基本理論解決實際工程問題的能力,具有系統的工程實踐學習經歷;了解本專業的發展動態和前沿知識;具備運用系統性的軟件工程思維方法實施軟件工程實驗的能力,并能夠對實驗結果進行分析。對應的職業核心能力指標為:通過深入分析和理解軟件系統人機交互的相關知識、原理、應用和模型,使學生對軟件人機交互方法有比較深入的理解,能夠從系統結構角度分析現有的軟件系統,并能利用所學到的有關人機交互技術的知識設計和實現新的人機交互系統;至少掌握一種開發語言,并熟悉該語言的開發環境及調試工具;掌握軟件開發過程中所使用的工具和方法。在他人指導下,根據軟件需求規格,進行過程、組件或模塊設計,且有能力對結果進行測試與評估。根據需求文檔,編寫功能模塊的測試設計文檔,并執行測試,記錄測試結果,提交缺陷報告,編寫測試總結報告。
在近年來的課程教學過程中,通過課題組教師的共同探索、討論與實踐,結合應用型本科人才培養和工程教育認證目標,我院初步形成了具備自身特色的教學方法與手段。
1.面向應用型本科教育和工程教育。將工程教育專業認證作為提高應用型人才培養質量的重要手段,系統地開展教學改革,創新教育教學模式,切實完善應用型人才培養質量保障和監控體系,使專業認證成為工程教育和應用型人才培養模式改革的助推器,從而全面提升工程人才培養質量。堅持以學生為本的產出導向策略(Outcomes-based Education,OBE),把教學在學生身上產生的能力(成果)作為課程教學目標達成的度量。在教學實施方案中給出課程支撐的畢業要求和具體指標點,并細化為具體的教學任務。在“人機交互技術”課程中,將畢業要求設定為以下幾項:①掌握軟件工程的基本理論和方法;②具備應用系統性的軟件工程思維方法實施軟件工程實驗的能力,并能夠對實驗結果進行分析;③掌握人機接口開發過程中所使用的工具和方法;④能夠就復雜工程問題與業界同行及社會公眾進行有效溝通和交流,包括撰寫報告、設計文稿、陳述發言、清晰表達或回應指令,并具備一定的國際視野,能夠在跨文化背景下進行溝通和交流。根據上述畢業要求,在日常的教學活動中,對教師的教學內容、學生的作業、自學內容、討論內容和實驗項目、課程的考核與成績評定方式、課程的評價與改進機制都做了詳細的分解,以便更好的助力于學生畢業要求的達成。
2.強調“以用戶為中心的設計”,而不是“以產品為中心的設計”。人機交互設計所要解決的問題是如何有效地幫助用戶完成他們的任務,并盡量使用戶在交互過程中獲得愉悅的心情。以用戶為中心(User-Centered)的開發是指應以真實用戶和用戶目標作為產品開發的驅動力,而不僅僅是以技術為驅動力。設計良好的系統應能充分利用人們的技能和判斷力,應支持用戶,而不是限制用戶。以用戶為中心的開發需要透徹了解用戶及用戶的任務,并使用這些信息指導設計。在傳統的教學過程中,師生往往注重系統功能的實現,即:注重如何設計和開發能實現相應功能的產品,卻并不重視最終用戶的工作條件和使用感受等。但是,作為一種“全新的事務”,軟件是復雜的,傳統的工程類比很容易產生誤導,從而導致難以系統化設計和開發實用、可靠的軟件產品,最終導致“軟件危機”。因此,在具體的教學過程中,可以結合可用性評估等內容,引導學生轉變思路,模擬典型用戶使用產品的情形,從中找出潛在的問題。這種角色扮演的優勢在于:用戶通常在看到或嘗試某種事物后,才知道自己需要什么或是不需要什么,才能準確反饋系統應該做什么和不應該做什么,不僅有利于檢查獲取的需要是否存在偏差,同時對設計方案也有很好的驗證效果。兼顧開發設計人員和最終用戶的雙重視角,才能真正做到“以用戶為中心”。
3.采用“案例+討論+實踐”的教學新模式?!叭藱C交互技術”是一門工程實踐性很強的課程,也涉及大量概念、模型、原則和方法的介紹。如果采用傳統的填鴨式教學,讓學生死記硬背相關的知識點,這些枯燥的理論知識不僅難以記憶,反而會引起學生的反感,同時造成理論知識與工程實踐的相互脫節,顯然違背了以產出為導向的培養目標。因此,如何把教學內容轉化為學生的能力就成為課程教學目標達成的關鍵。在實際的教學活動中,我們采用了一種案例+討論+實踐的教學新模式,將理論教學與工程項目/案例有機結合,借鑒企業的實際需求,形成理論實踐一體化的教學思路。下面以講解可用性工程及設計原則為例,介紹這種教學新模式的幾個步驟:①首先介紹各項原則的基本內涵和意義(理論教學),讓學生對可用性工程及設計原則有一些初步的了解;②結合某種常見的商用軟件,圍繞各項設計原則,分析和討論其在產品中的具體體現,以提高學生的學習興趣和鞏固知識(啟發式教學);③引入企業的實際項目/案例,提出目標產品的功能需求,要求學生給出概念性設計或用戶界面原型(案例教學)。為了培養學生的探索精神和主動思考能力,可以將學生分為多組,其中一組為設計組,其余幾組為用戶組,以團隊的形式進行頭腦風暴。由設計組向用戶組了解用戶需求,根據用戶需求進行迭代設計;由用戶組對設計原型做可用性評價,用戶組也可以參與設計。各組之間可以相互討論,教師給予相應的指導和建議。在大量分析和討論的基礎上,由全體同學共同完成概念性設計或用戶界面原型,不僅有利于提升學生對產品HCI設計優劣的敏感度和判斷能力,也有利于提升學生的創新能力和主動性。
四、結語
隨著軟件行業的不斷發展,軟件人才面臨的挑戰越來越嚴峻。通過近年來的教學探索與實踐表明,只有不斷深化教學改革,突出軟件工程專業特色,借鑒先進的工程教育理念和行業標準,以培養應用型軟件工程人才為目標,才能培養出適合社會發展需要的人才。
參考文獻:
[1]Thomas T Hewett,et al.ACM SIGCHI curricula for human-computer interaction[R].New York:ACM,1992.
[2]孟祥旭.人機交互基礎教程[M].第3版.北京:清華大學出版社,2016.
[3]駱斌.人機交互——軟件工程視角[M].北京:機械工業出版社,2012.
[4]T Winograd.Bring Design to Software[M].Addison-Wesley,1996.endprint