摘要:本文深入研究了軟件工程專業軟件類核心課程知識點之間的前趨與后繼之間的關系,給出了關聯式教學模型,并將此模型體現到教學大綱及教學實踐環節中,形成鏈條式教學,使前趨課程的內容不斷在后繼課程中得到復習、鞏固與應用提升,使后繼課程的學習目標更加明確,同時有利于學生對軟件類課程系統化知識體系的貫通與全面掌握。
關鍵詞:軟件工程專業;核心課程;關聯式;教學模型
中圖分類號:G642 文獻標識碼:B
1引言
本科軟件工程專業軟件類核心課程一般情況下有C++、數據結構、離散數學、操作系統、編譯原理、數據庫原理、軟件工程。并在授課時間的安排上體現出了前趨后繼關系,但通常每門課程的教學大綱彼此之間是獨立的,不同課程的任課老師也各自按照課程大綱獨立授課,不利于學生對該專業知識的整體性、協調性、一致性和系統化地理解與掌握。學生每學完一門課程,考試通過就算完成了這門課程的學習任務,不太關心何時再去重溫、復習、鞏固與應用提升已學過課程,教師也完成了自己的授課任務。實際上這是一種離散型而非系統化的教學模式。到學生做畢業設計或就業接受具體任務時就暴露出不能很好的綜合運用所學知識解決實際問題,甚至不能靈活地運用從大學一年級就開始學習的C++語言編寫應用程序。學生給出的解釋是“學得太早,已忘記”。多年來,在碩士研究生入學面試時也發現,大學二年級就開始學習的數據結構課,也是碩士研究生入學考試課。對進入復試線的學生,說明該課學得不錯,但當問及棧結構、樹結構等在編譯器中何處使用時竟然回答不出來,如此等等,這種課程間孤立的教學模式容易產生高分低能,學生不能綜合運用所學知識解決實際問題等現象。
鑒于上述情況,本文在深入研究軟件類核心課程知識點之間前趨后繼關系的基礎上,給出了軟件類核心課程的關聯式教學模型,并將此模型體現到教學大綱及教學實踐環節中,取得了比較好的效果。
2軟件類核心課程關聯式教學模型研究
通過剖析軟件類各門核心課程的主要知識點和課程之間主要知識點之間的關系,給出如圖1所示的關聯模型。解析該模型,進一步給出如下關聯式教學模型的說明。
2.1C/C++與數據結構
C/C++是學生接觸到的第一門軟件課程,是計算機算法語言的典型代表,有它的獨立性,是常用的軟件開發工具,但僅靠聽幾十學時的課、上幾十學時實驗是不能編制高質量程序的,只能說有了一定的基礎知識,其進一步的學習是在后繼課程數據結構等課程中。如表、鏈、棧、樹、圖等的建立與維護可用C/C++實現,這樣,C/C++就得到了一次復習、訓練與實踐提升的機會,也是用C/C++解決具體問題的一次應用。
2.2C/C++、數據結構、編譯原理與操作系統
數據結構是十分重要的專業基礎課,也是考研課。與C/C++同樣,可在后繼課編譯原理得到應用與提升。
(1) 用表、鏈實現編譯器中的保留字表、名字表、過程表、數組表等表的建立與維護。
(2) 用棧實現編譯器中的表達式、循環、條件、遞歸等嵌套結構及操作系統中的線程等。
(3) 用HASH方法實現名字表等構造與查找。
(4) 綜合運用C/C++、數據結構實現編譯器中的數、標識符、單詞等識別及運用狀態矩陣法和子程序法實現編譯流程控制及實現操作系統中的線程、進程、頁面、存儲資源等管理。

2.3C/C++、離散數學、數據結構、數據庫與編譯系統
(1) 運用C/C++為工具,實現離散數學中集合論的并、差、笛卡兒乘、投影、選擇五種基本運算及交、連接、自然連接、求商四種復合運算,這其中還要用到數據結構來解決集合的結構與分類、檢查等相關算法。
(2) 離散數學中的上述算法恰為數據庫原理中的關系模型的關系代數運算,進一步以C/C++為工具利用數據結構中的算法實現關系數據庫中關系的三類完整性約束并理解主鍵、外鍵在其中的作用。
(3) 關系運算的算符樹、關系的查詢優化實現技術,恰恰是編譯課程的新的應用和有一定難度的實踐環節。
2.4綜合性課程軟件工程與上述核心課程的關聯
軟件工程的開發方法、開發步驟、開發環境與工具的選擇等恰恰是上述課程的綜合運用與實踐。
(1) 開發環境與硬件有關,也與操作系統有關。開發工具是指要選擇數據庫管理系統、計算機語言等。這就要視工程的具體情況,選擇相適應的環境與工具。本身又是一個回顧與學習的過程。
(2) 開發方法可選用快速原型法和生命周期法或二者結合。但不論什么方法都要涉及需求分析、概要設計、詳細設計、編碼、測試與試運行這些步驟。其中需求分析與設計中的數據庫需求分析設計部分在數據庫課程中已有單獨的一章進行論述,在本課程中得到了進一步提升,這就必然需要數據結構的知識,用到相關結構與算法。在模塊設計過程中自然是C/C++的繼續。
在現實應用中特別強調軟件的自適應性。通常留給用戶一個定制的空間,這實際上是為用戶和應用系統之間定義了一種人機交互語言,這就是編譯課程知識點的再用,首先定義人機交互式語言,而后是相關的解釋。
智能軟件是當前軟件的一大特色,常常具有推理功能,數理邏輯是推理的基礎,圖論又是路徑優化的基礎,離散數學中的很多知識點均可在軟件工程實踐中得到應用。
3模型應用與實踐
3.1關于教學大綱
(1) 成立教學指導與監督委員會,由院長和教學主管院長負責,成員均為軟件知識全面,教學與科研經驗均豐富的一線老師,制定課程間知識點的滲透程度與銜接方法。制定關于各門課程編制大綱的總綱,總綱體現關聯模型。
(2) 成立教學團隊,由團隊負責人組織團隊成員(相關課程負責人),按照總綱協同編制各門課程的大綱,如編譯技術課程的實驗,在大綱中明確規定用C/C++造、查名字表、表達式的逆波蘭表示等內容,并寫明具體要求、上機學時數等。
(3) 加強實踐環節,按照關聯模型,相關任課教師協同參與實踐題目的擬定、案例分析與實踐指導。
(4) 由教學指導與監督委員會指導、監督、檢查各門課程教學中各環節對教學大綱的執行情況,發現問題及時糾正。
4結束語
本文深入研究了軟件工程專業軟件類核心課程知識點之間的前趨與后繼關系,給出了關聯式教學模型,并將此模型體現到教學大綱及教學實踐環節中,形成鏈條式教學,使前趨課程的內容不斷在后繼課程中得到復習、鞏固與應用提升,使后繼課程的學習目標更加明確,該模型已經經過了三年的實踐,取得了明顯的效果。對于專業教師來說,對該教學模型的深入理解,提升了對軟件類核心類課程知識點之間關聯性的深入理解,在講授自己的課程時也能做到前后兼顧,統籌全局,同時有利于學生對軟件類課程系統化知識體系的貫通與全面掌握。
參考文獻
[1] 朱戰立. 數據結構[M]. 北京:高等教育出版社,2004.
[2] 劉建華. 計算機語言類課程教學模式初探[J]. 高教論壇,2005,2(1).
[3] 訾秀玲. 面向應用的計算機公共基礎課程結構的教學改革與實踐[J]. 計算機教育,2007,(16).