2.2通過課程實驗和課程設計兩個環節加強上機實踐
計算機的程序設計是一項創造性的智力勞動,讓學生理解、習慣、熟悉這一套算法構造思維方法,是實踐環節所要解決的核心問題。我們通過課程實驗、課程設計兩個環節來實現實踐教學。
課程實驗著眼於原理與應用的結合,使讀者學會如何把書上學到的知識用於解決實際問題,培養軟件工作所需要的動手能力,能使書上的知識變“活”,起到深化理解和靈活掌握教學內容的目的。
課程設計是進行軟件設計綜合訓練的第一門課,包括問題分析、總體結構設計、用戶界麵設計、程序設計基本技能和技巧、多人合作,以至一整套軟件工作規範的訓練和科學作風的培養。通過實踐教學內容的訓練,提高了學生組織數據及編寫大型程序的能力,更好地理解和掌握了算法設計的有關技術,為整個專業學習打下良好的基礎。課程設計是進行軟件設計綜合訓練的第一門課,通過選用具有一定實用性的綜合題目,采用學生分小組合作的方式,通過問題分析、概要設計、詳細設計、用戶界麵設計、編碼、測試等一係列過程,培養學生動手實踐、協作開發大型軟件項目的能力,使學生能夠按照軟件工程的工程化、係統化方法進行軟件設計與實現,為後續專業技能的訓練提供基礎。通過課程設計的訓練,突出構造性思維訓練的特征,提高了學生組織數據與進行編寫大型程序能力,使學生更好地理解和掌握了算法設計所需的技術,為專業學習打下良好的基礎。
3以學科知識競賽為切入點開展創新活動
2006年,學院將ACM/ICPC國際大學生程序設計競賽率先引入到內蒙古自治區的大學校園,並結合我區、我校實際,在學校和自治區正式開展了大學生程序設計競賽,同時也嚐試在教學模式、教學方法和教學手段改革等方麵進了大膽探索,使學生的實踐創新能力得到了很好地鍛煉[3]。
(1) 針對各種實驗指標教師設計多、學生主動創新少,大型實驗與課程設計限定條件多、學生自主發揮獨立思維餘地少的問題,進行了改革。
(2) 探索符合國情的大學生培養模式,推動開辟第二課堂,使學生盡早接觸工程實際問題、增強創新意識與能力,推動學生實際能力培養模式的改革。
(3) 改善程序設計類、算法類課程的實踐教學模式。采用在線評測係統,進行經典算法和驗證型、小規模設計型實習訓練。設計與學科前沿研究相結合的綜合實習大項目進行設計型和綜合型實踐訓練。作業題和實習題融合當前最新理論和技術,非常有前瞻性,使學生受到創新思維能力訓練、工程能力訓練。
(4) 推進大學生科研訓練和學科競賽,充分發揮學校、學生和社會的參與積極性,使我校大學生研究性、探索性學習全麵開展,受益麵越來越廣,實踐創新能力不斷提高,成效顯著。
通過大學生程序設計競賽,我們在課程體係上做了相應調整,更加重視專業技術基礎課程的教學;全麵整合實驗課程體係,實驗教學模式從“簡單驗證”向“科學驗證、分析設計、綜合訓練相結合”方向轉變;為學校非計算機專業的學生開設了程序設計類的選修課程,把賽前小範圍培訓、短期突擊行為逐漸轉化為日常教學規範內容,使更多的學生可以係統地接受實際技能的鍛煉。因此,大學生程序設計競賽使大學生們得以自主學習和實踐,其鍛煉的廣度和強度是任何其他日常實踐教學環節無法比擬的,從某些側麵觸動了原有的專業課程教學體係,尤其促進了實踐教學體係、內容、方式的改革以及實驗室建設工作。