999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于翻轉課堂的程序設計課程教學改革實踐

2018-10-25 10:53:38翁佩純馬慧
大學教育 2018年10期
關鍵詞:教學案例翻轉課堂

翁佩純 馬慧

[摘 要]程序設計課程是一門實踐性很強的課程,其教學效果將直接影響學生對后續專業課程的學習信心。翻轉課堂強調以學生為主教師為輔的教學模式,通過延展學生課外學習時間,提高學生自主學習能力。通過分析翻轉課堂模式帶來的挑戰,針對程序設計課程設計了翻轉課堂的教學案例,為程序設計課程提供一種新的教學思路。

[關鍵詞]翻轉課堂;程序設計課程;教學案例

[中圖分類號] G642.0 [文獻標識碼] A [文章編號] 2095-3437(2018)10-0089-04

翻轉課堂的思想自2007 年由美國科羅拉多州的兩位化學教師提出以來,已成為國內外教育界關注的熱點,并取得了令人滿意的教學效果。翻轉課堂的核心思想是:課前學生自主通過線上的視頻、測驗等教學資源進行學習;課堂上學生通過各種教學活動,如小組討論、實驗操作等,達到知識的內化[1]。

程序設計課程是一門計算機核心基礎課程,具有較強的實踐性與應用性。在該門課程的授課過程中,通過培養學生的計算思維能力,強化學生的上機訓練,從而提高學生的編程技能。其教學目標是培養學生解決問題的能力,并通過實際問題的編程實踐培養學生的計算思維,強化學生的動手能力。在以往的教學中,學生的上機練習多以驗證型為主,完成上機任務和課后作業,便極少投入時間加強編程能力的培養,學生對編程興趣不高,學習積極性較差,屬于典型的被動式學習。翻轉課堂的思想是以學生自主學習為主,教師啟發為輔。如何翻轉課堂,變被動為主動,選擇以生活中的實際問題和工程實際應用為背景的教學案例,從講授編程語法為主轉變為以啟發學生的編程思維為主,從課堂上的被動學習轉變為課后的主動學習,是進行程序設計課程翻轉課堂實踐的思考之一。

一、翻轉課堂帶給程序設計課程的挑戰

翻轉課堂的思想是學生先在課前通過在線教學課件、視頻、練習等進行知識的獲取和學習;在課堂上經教師的啟發和引導,通過實際題目的演練來完成知識的內化[2];課后再通過在線練習、測驗等方式進行知識的鞏固。將傳統的課堂中教師與學生之間的主輔地位翻轉,形成“課前學習+課堂內化+課后鞏固”的教學模式[3]。將翻轉課堂應用于程序設計課程的實際教學過程中,面臨以下3個方面的挑戰。

(一)改革學生的學習方式,變“被動學習”為“主動學習”

翻轉課堂要求學生自主安排時間上網學習視頻資料并完成在線試題。對學生而言,最大的挑戰則是需要改變原來被動接受知識的方式,培養主動學習,發現問題并總結問題的良好學習習慣。這需要學生有良好的自制能力和學習積極性。

(二)改革教師的授課方式,變“課堂授課”為“引導協助”

翻轉課堂不僅需要教師根據教學資源,裁剪、整合、設計在線學習資料和練習,還需要教師充分發揮在線教育的統計和分析能力,在上課前先根據學生網上學習的記錄、學習過程中反饋的問題,結合教學內容,設計適合課堂進行的教學活動計劃。在翻轉課堂,教師不再占主導地位,而是協助學生分析問題、組織學生解決問題,答疑解惑、組織向導式學習的引導者。

(三)改革成績評定方式,變“傳統筆試”為“上機考試”

改革成績評定方法,建立以上機考試和編程能力為主的客觀評價體系。打破以往期末成績占大頭的總評方法,完全取消卷面筆試,改為上機考試。上機考試采用機器自動評分的考試平臺,并借助考試平臺對學生的答卷進行數據統計分析,使學生可以通過上機測驗查漏補缺,教師可以針對學生的薄弱環節精講精練。為了客觀公正地考核學生的編程實踐能力,所建立題庫必須做到題型多樣化,覆蓋面廣等要求。

二、翻轉課堂在程序設計課程中的實施

程序設計課程的授課重點,不僅在于語法結構,更重要的是讓學生通過實戰訓練去鍛煉程序設計的思維。翻轉課堂的線上線下結合正好可以作為程序設計課程有效的實施手段。為此,可將每個章節的語法知識提煉并錄制視頻,布置小測驗讓學生在線上學習并驗證學習效果。再將實際案例設計為課堂小組協作題目,組織學生運用已學的知識點在課堂上開展討論、分工、編程和協作。

在翻轉課堂的教學內容和實踐練習的設計上,應注意把握以下幾個方面。

(1)應多一些設計性的實踐內容,少一些驗證性的實踐內容。弱化學生對編程知識和語言本身的關注,著重對知識的運用。

(2)課堂教學案例的設計應該逐步提高、前后連貫,要能緊密聯系實際,讓學生在實踐中鞏固課堂知識的同時,進一步增強學生獨立分析問題、解決問題的能力。

(3)在進行課堂教學時,由教師對實踐題目進行分解,組織學生討論,并制定解決方案,再以小組協作形式進行實踐,使學生學習如何按“分而治之”策略解決一個具有相當規模與復雜性的實際問題。

(4)鼓勵學生在實踐題目的基礎上進行一定程度的創新,培養學生的創新能力。

(5)在翻轉課堂上,每組學生完成任務后,請一位代表進行課堂演示和答辯,組織全班同學對各組完成作品進行投票,并作為課程的考核方式之一。這樣一方面可以鍛煉理科學生的演講能力,另一方面也能帶動班級的學習氣氛。

以C++程序設計為例,在講授“類與對象”這一概念時,傳統的實踐練習一般局限于驗證性實驗的形式,強調某個語句格式、某個語法問題等。例如,定義class A, 然后定義對象Aa。這種“重語法”的實踐教學太過強調程序語言本身的要素,忽視了對知識綜合運用和實踐能力的培養。因此在設計翻轉課堂教學時,可以先提煉出語法的知識點讓學生在線學習,實際課堂可以組織一些設計性的實踐內容,少一些驗證性實踐內容。例如,課前讓學生在線學習如何定義類、如何定義對象、如何通過對象調用成員函數等等。而在課堂環節,組織學生通過小組分工,設計并實現一個電子時鐘,通過任務分解、課堂討論、小組協作等方式讓學生在實踐中鞏固課堂知識的同時,進一步增強學生獨立分析問題、解決問題的能力。把抽象的概念用具體的實例展示給學生,使學生能融會貫通。課后通過布置學生在線作業,幫助學生鞏固疑難點和遺漏點。

1.課前資源準備

根據“類與對象”的知識點和理解難點,設計了4個相應的小知識模塊提供給學生在線學習,包括:①類的定義;②數據成員的定義;③對象的定義;④成員函數的調用。學生在學習完視頻之后,需要完成一份在線測驗,其中包括選擇題、判斷題、程序題等,經過分析思考或進一步看書、上網查詢資料后驗證所學知識。如果學生對知識點理解有疑問,可以在線提問和討論。教師在線檢查學生的完成情況,記錄學生成績,并根據學生的在線答題統計數據來修改和完善教學計劃。

在本例當中,學生在線學習之后,要完成下列編程題目。

定義一個電子時鐘類,模擬如圖1的電子時鐘的功能,要求實現:

l初始化時間(可初始為:00:00:00)

l設置時間(小時,分鐘,秒)

l顯示時間(格式如圖所示)

學生通過分析該題目,回答以下問題:

l起個類名?(知識點:類的定義)

l有哪些屬性?(知識點:數據成員的定義)

l如何初始化時間?(知識點:構造函數的定義)

l有哪些功能?(知識點:成員函數的定義)

通過以上問題,學生可以梳理出如下類的定義。

class Timer

{

public:

Timer(); //構造函數,用于初始化時間

void setTime(int h, int m, int s); //設置時間

void showTime(); //顯示時間

private:

int hour;

int minute;

int second;

};

Timer::Timer()

{

hour = 0;

minute = 0;

second = 0;

}

void Timer::setTime(int h, int m, int s)

{

hour = h;

minute = m;

second = s;

}

void Timer::showTime()

{

cout << hour << “ : ”

<< minute << “: ”

<< second << endl;

}

2.課堂教學活動

翻轉課堂的關鍵在于課堂教學活動的設計,教師通過組織課堂活動來完成知識的內化。教師首先在課前對學生在線學習與測試的數據進行統計分析,了解學生學習時遇到的難點和理解誤區,為課堂的教學活動提供設計參考。在課堂上,教師首先對學習難點及學生普遍存在的問題進行統一講解。其次,設計實踐題目組織學生進行小組討論和協作開發。所設計題目盡量兼顧實用性和趣味性。實踐案例的內容應注重前后知識運用的綜合性和連貫性,后續案例以前續案例為基礎。例如,在講授類與對象的知識時,設計的案例除了包含如何類的定義和實現,成員函數的調用等內容外,還應結合前面的基礎,如數組,指針,選擇結構,循環結構等編程語言要素。這樣一方面可以復習前面的知識,一方面可以培養學生系統化意識,以幫助學生建立知識體系。另外,為了避免學生面對一個實踐任務時毫無頭緒,可將任務分解為一個個小任務,組織學生通過課堂討論等形式,由易入難,逐步推進。針對“類與對象”這一知識點,設計了如下題目讓小組進行討論。

【任務1】完成Timer類的定義之后,組織學生進行小組討論:

問題1:如何使用Timer類定義對象?

問題2:如何設置時間?

問題3:如何調用showTime函數來顯示時間?

在課堂上開展討論之后,讓學生擬出解決的方案,并通過上機編程驗證。

int main()

{

Timer timer1;

timer1.setTime(1,59,59);

timer1.showTime();

return 0;

}

教師通過以上實例,講解“類與對象”的概念,加深學生對這個概念的理解,使學生搞懂本次課程的所有內容,從而幫助學生完成知識的內化。在完成以上編程之后,教師可以設置以下編程任務。

【任務2】針對以上完成的內容,提出改進的方向。

(1)目前顯示時間的功能仍不完善,例如01:59:59,會顯示為1:59:59。

(2)如何讓電子時鐘的時間真正走起來?

在課堂上再次開展討論之后,讓學生擬出解決的方案:

①解決時間的顯示問題可以用setw()和setfill()函數,該知識點屬于“格式化輸出”,在之前的章節講授過,在此可以幫學生復習并梳理下思路。參考代碼如下:

cout << setfill('0') << setw(2) << hour << “:”

<< setfill('0') << setw(2) << minute <<“:”

<< setfill('0') << setw(2) << second << endl;

②讓時間走起來,可以每次暫停1秒,并在當前時間上累加1秒,清屏后再重新顯示時間。這里可以提供給學生以下函數: (注:需包含頭文件:windows.h)

System(“cls”); //清屏

Sleep(1000); //使程序暫停1秒

③要考慮時、分、秒的進位問題。

通過上機編程進行驗證,學生為Timer類新增了一個成員函數increase():

void Timer::increase()

{

second++;

if(second == 60)

{

second = 0;

minute++;

}

if(minute == 60)

{

minute = 0;

hour++;

}

if(hour == 24)

{

hour = 0;

}

}

修改showTime()函數,代碼如下:

void Timer::showTime()

{

while(1)

{

system(“cls”);

cout << setfill(‘0) << setw(2) << hour << “:”

<< setfill(‘0) << setw(2) << minute <<“:”

<< setfill(‘0) << setw(2) << second << endl;

Sleep(1000);

increase();

}

}

通過上述的上機練習,學生基本能掌握類的定義、構造函數的含義與作用、對象的使用等,此時在原基礎上提出實踐進階要求,學生只需在已完成的項目上略加修改即可,較容易被接受。

【任務3】豐富電子時鐘的功能,模擬如圖2的電子時鐘的功能(日期+時間)。

要求可由用戶設置日期和時間,能顯示日期、時間和星期。

學生分析這個任務不難發現,可以在電子時鐘的基礎上進行擴充,得出如下類的定義。

class DateTime

{

public:

void setTime(int h, int m, int s);//設置時間

void setDate(int y, int m, int d);//設置日期

void showTime();//顯示電子鐘時間

void showDate();//顯示年月日

void getDay();//獲得星期幾

void weekDay();//計算星期幾

private:

int year;

int month;

int day;

int hour;

int minute;

int second;

int weekday;

};

這個任務雖然看似簡單,卻包含了許多知識點,如星期的換算,閏年的判斷等。可以組織學生以2~3人的團隊形式進行討論和課后開發,再由團隊進行演示,從而加深學生對“類與對象”概念的理解。從教學效果來看,多數學生都能完成以上題目,其中有不少學生還考慮到字體顏色、背景顏色等效果,鍛煉了學生的創新能力。

3.課后在線鞏固

在課堂教學結束后,學生主要通過在線練習和測試來鞏固知識,在OJ平臺上進行編程并提交程序。該平臺能自動根據教師提前設計的測試例子,評判學生所提交程序的對錯,能實時顯示各種排行榜,激發學生自主學習的積極性。教師根據學生的正確題目數給予相應的平時成績獎勵,其成績記入期末總評分數。此外,學生可以通過論壇分享學習經驗,提出疑問,教師根據學生容易出現的問題進行整理總結,在線進行答疑。

三、翻轉課堂在程序設計課程中的效果

翻轉課堂教學是對傳統課堂教學的一次全新改革,教師需要顛覆原來的一套教學習慣,學生則要自主利用碎片時間,通過手機、PC機等設備,隨時隨地自主完成學習和測試。翻轉課堂教學改革已在我校計算機專業進行了兩個學年,得到了學生和老師的普遍認可。在教學過程中,研發適合翻轉課堂形式的教材,設計適合在線學習的微課,以及開發在線測試的題庫,都是實現翻轉課堂的關鍵因素。翻轉課堂的教學思路有一定的實際意義,進一步推動程序設計類課程教學效果的提高,為程序設計類課程教學改革提供了新思路。

[ 參 考 文 獻 ]

[1] 陳晉音,俞山青,毛國紅.面向C++ 程序設計課程的翻轉課堂教學改革[J].計算機教育, 2015(19):39-44.

[2] 裴大容.翻轉課堂在應用型本科C語言程序設計課程中的教學應用探索[J].電腦知識與技術,2017(32):173-174.

[3] 李文彬,楊勃,潘理,吳岳芬.基于微課的翻轉課堂教學模式在《C語言程序設計》課程中的探索與實踐[J].現代計算機(專業版),2017(6):58-61.

[責任編輯:黃緊德]

猜你喜歡
教學案例翻轉課堂
教學案例的內涵及其應用意義
文學教育(2016年11期)2016-12-15 19:15:06
充分整合教材資源 優化歷史課堂教學
小學數學課堂導入技巧及案例分析
考試周刊(2016年88期)2016-11-24 13:49:44
反轉課堂模式與數學教學案例
促進初中化學定量觀建構的教學案例
基于翻轉課堂的高職英語口語教學研究
考試周刊(2016年76期)2016-10-09 09:19:42
翻轉課堂在高職公共英語教學中的應用現狀分析及改善建議
考試周刊(2016年76期)2016-10-09 09:18:59
小學數學“反思型” 教學的探索與實踐
考試周刊(2016年76期)2016-10-09 09:08:16
翻轉課堂在小學數學教學中的應用
考試周刊(2016年76期)2016-10-09 09:02:40
翻轉模式在“液壓與氣動”教學中的應用研究
成才之路(2016年25期)2016-10-08 10:38:59
主站蜘蛛池模板: 亚洲αv毛片| 欧美精品1区2区| 成人亚洲天堂| 亚洲第一天堂无码专区| 日本妇乱子伦视频| 国产精品一区二区久久精品无码| 国产一级精品毛片基地| 97超爽成人免费视频在线播放| 亚洲国产精品久久久久秋霞影院 | 国产99视频精品免费视频7| 久久国产精品夜色| 亚洲精品波多野结衣| 免费可以看的无遮挡av无码| 无码国产伊人| 精品三级网站| 免费高清a毛片| 国产综合色在线视频播放线视| 老司国产精品视频91| 伊人色天堂| 国产成人综合日韩精品无码不卡| 青青草原偷拍视频| 久久国产精品77777| 91久久国产热精品免费| www.日韩三级| 精品国产欧美精品v| 久草中文网| 国内精品一区二区在线观看| 日韩欧美中文| 2021亚洲精品不卡a| 九九香蕉视频| 91啪在线| 欧美精品高清| 欧美亚洲国产精品久久蜜芽| 国产中文一区二区苍井空| 国产精品无码翘臀在线看纯欲| 国产国语一级毛片在线视频| 欧美日韩另类在线| 亚洲Av综合日韩精品久久久| 色偷偷av男人的天堂不卡| 日本精品一在线观看视频| 欧美激情首页| 国产精品成人不卡在线观看| 日本欧美中文字幕精品亚洲| 天天摸天天操免费播放小视频| 国产在线自揄拍揄视频网站| 国产精品女人呻吟在线观看| 久久精品中文无码资源站| 国产男女免费完整版视频| 国产手机在线观看| 91成人精品视频| 人人澡人人爽欧美一区| 全部无卡免费的毛片在线看| 亚洲男人的天堂久久香蕉| 中文字幕人妻av一区二区| 国内熟女少妇一线天| 青青草原国产| 狠狠色丁婷婷综合久久| 欧美在线中文字幕| 99久久亚洲综合精品TS| 亚洲国产成人久久77| 国产精品理论片| 久久综合国产乱子免费| 久久国产乱子| 99热这里只有免费国产精品| 无码高潮喷水在线观看| 久久久久青草线综合超碰| 免费看美女自慰的网站| 天天综合网色中文字幕| 成人小视频网| 国产99精品视频| 国产成人1024精品| 99精品国产自在现线观看| 国产成人啪视频一区二区三区 | 成人午夜天| 国产在线麻豆波多野结衣| 99在线视频免费观看| 青青草原国产av福利网站| 熟妇丰满人妻| a毛片免费观看| 亚洲男人的天堂在线观看| 国产视频欧美| 亚洲成网站|