課程代碼 | S0300700 |
課程性質 | 實踐必修 |
授課對象 | 信息管理與信息系統、電子商務、信息管理與信息系統(第二學士學位) |
對應章節 | Eclipse集成開發環境與Java語言基礎程序設計 Java圖形用戶界面設計 Java高級編程 Java工程項目的開發
|
育人目标 | 1.在培育社會主義核心價值觀方面,深刻理解Java作為重要的編程語言對我國信息技術發展乃至經濟、社會發展的重要作用,引導學生樹立與時俱進的學習意識、投身科學研究和技術創新的遠大理想,激發學生強烈的愛國主義使命感與責任心。 2.在培育基本素養方面,引導學生正确對待個人利益與國家、集體利益的關系,增強家國情懷;培養學生的系統觀和全局觀。通過小組分工合作培養學生團隊協作精神、溝通交流能力、誠信友善的基本素養。 3.在培育職業素養方面,強調實踐是檢驗真理的唯一标準,幫助學生理解實踐的重要性。通過編程實踐培養學生以辯證的思維理解、分析、解決複雜問題的能力、嚴謹的工作态度、精益求精的工匠精神、系統性思維能力。 |
課程思政案例教學設計和實施 |
從Eclipse集成開發環境看“卡脖子”技術的缺失對我國發展的負面影響 | 1.教學導入 采用溫故導入法: 上個學期我們學習了JAVA基礎,為了讓大家更深刻的認識Java開發語言,在《Java基礎》這門課中我們要求大家不使用集成開發環境,用文本文檔編寫代碼,用DOS命令行來編譯運行。但在實際開發過程中,集成開發環境對用戶更為友好,因此,在《JAVA編程實踐》這門課程裡,我們采用Eclipse集成開發環境來編寫代碼。那麼什麼是Eclipse呢?讓我們一起來看一看。 |
2.教學内容 ① Eclipse的産生與發展 在Eclipse簡介這一部分,講述Eclipse最初是由美國的IBM公司開發的替代商業軟件VisualAge forJava的下一代IDE開發環境,2001年11月貢獻給開源社區,目前由非營利軟件供應商聯盟Eclipse基金會(EclipseFoundation)管理。同時延伸到Java本身也是最初由美國的Sun公司開發,後被美國的Oracle公司收購。 ②西方國家在計算機軟件方面擁有絕對的話語權,我國的核心軟件、核心算法都被以美國為首的西方國家“卡脖子” 從Eclipse和java的誕生就可以看出,美國在計算機軟件方面是擁有絕對的話語權的。抛出問題:回憶一下,我們日常學習中接觸到的學習相關的軟件,有哪些是國産的嗎?其他涉及到軟件的課程,如ERP,Python,R,數據庫,使用的又是什麼公司開發的軟件呢? 讨論總結:我國的核心軟件、核心算法都被以美國為首的西方國家“卡脖子”。 為什麼絕大多數企業不選擇自主研發?首先自主研發的成本非常高,需要消耗大量的人力、物力、财力以及時間成本,而且研發還不一定能成功。其次,國外的軟件經過多年的開發與更新,比起自研産品會更加成熟,在功能性、客戶體驗上都更好。所以選擇一款國外的、被廣泛認可的軟件産品對于企業來說是最為方便快捷的。 ③ “卡脖子”技術的缺失對我國發展的負面影響 盡管“拿來主義”有諸多便利,但是它也會帶來幾個緻命的問題: 一個是供應鍊風險,這些軟件,如果他們禁售了、或者停止服務了,我們的企業、我們的政府、我們個人怎麼辦?一個沒有替代品的産品斷供是很危險的。産品無法生産、企業無法運營、科學研究無法開展、娛樂活動無法繼續…… 另一個是安全風險。軟件産品運行時會産生大量的數據,這些數據都存在被監控的風險。此外,軟件産品不像其他制造業的産品,它的核心是代碼。這些代碼封裝在軟件内部,是不可見的。因此安裝了這些軟件的計算機就有可能被劫持,使軟件通過“後門”讓電腦出現故障,或者獲取信息,甚至在計算機中植入木馬病毒。最緻命的是沒法構成一個中國自主的安全可控的體系,喪失自主權就會處處被掣肘,猶如被人扼住了命運的後脖頸,完全無法反抗。 通過引導學生理解“卡脖子”技術的缺失對我國發展的負面影響,激發學生的曆史責任感和使命感。 ④ 我國在信息領域的長闆 短闆确實存在,但也無需過于悲觀。我國在互聯網和新興技術方面已有後來居上之勢,在電商、支付、共享經濟方面,我國走在了世界的前列,在人工智能、大數據、5G通信、物聯網、雲計算等新興技術領域的相關成果于話語權也不斷增長。 通過介紹我國在互聯網和新興技術方面的優勢,激發學生的民族自豪感、愛國主義熱情,鼓勵他們未來在各自的領域努力奮鬥,為祖國的建設添磚加瓦。 |
3.育人元素 社會主義核心價值觀、勇攀科學高峰的責任感和使命感、科技報國的家國情懷和使命擔當 |
4.教學方法 在教師授課部分,通過課堂講授法介紹基礎知識。随後抛出問題,通過讨論法激發學生的參與熱情。在介紹“卡脖子”技術的缺失對我國發展的負面影響,以及我國在互聯網和新興技術方面的優勢時,通過案例分析增強學生對相關知識的理解。 |
2.從對具體問題的梳理、抽象與實現培養學生勇于探索的創新精神、善于解決問題的實踐能力 | 1.教學導入 在“Java圖形用戶界面設計”一課中,采用經驗導入法,從學生春節貼窗花這一生活經驗出發,引導學生回想“貼窗花”需要的工具以及貼的步驟: 首先需要一個窗框 窗框内要有玻璃 窗花有各種形狀 将不同形狀的窗花按一定的布局貼在玻璃上
将貼窗花的步驟與Java圖形用戶界面設計的步驟進行類比,介紹Java圖形用戶界面設計相關的類、方法。 |
2.教學内容 ①Java圖形用戶界面的組成 窗體:JFrame、JDialog,對應窗框 面闆:JPanel、JScrollPane等,對應玻璃 組件對應窗花 ②常用Swing組件 包括标簽、單行文本域、口令框、單選按鈕、多選按鈕、按鈕、多行文本域、複選框、組合框等等。介紹上述常用Swing組件對應的類。 ③布局管理器 将布局管理器與将不同形狀的窗花按一定的布局貼在玻璃上相對應。介紹布局管理器中的流式布局、邊界布局、網格布局、卡片布局等對應的類。 通過“貼窗花”的類比,使學生更深刻理解Java圖形用戶界面的組成,通過将一個完整的界面拆解成窗體、面闆、組件、布局,引導學生将複雜問題的化整為零,逐個擊破。 發布編程實踐任務:給出一個用戶注冊界面,要求學生獨立編程完成。
通過“用戶注冊界面設計”這一實踐項目,培養學生将所學知識應用于實踐,知行合一的能力,在學生編程開發過程中,需要學生理解問題-将問題抽象為算法邏輯-編程實現,這一過程自然而然地培養了學生以辯證的思維理解、分析、解決複雜問題的能力,培養了學生的基本科學素養以及嚴謹的治學态度。 |
3.育人元素 科學素養、探索未知、追求真理、精益求精的大國工匠精神、善于解決問題的實踐能力、學思結合 |
4.教學方法 在教師授課部分,通過課堂講授法介紹基礎知識。教師授課時隻對基本編程邏輯進行梳理,不對每個類所擁有的方法進行具體講解。在編程實踐部分,引導學生通過查閱資料、分析例題等方式進行自學,強化學生對相關知識的理解。 |
3.從進程調度中的資源沖突看局部與系統、個人與集體之間的關系
| 教學導入
在“Java高級編程”一課中,采用案例導入法:以電影院出售電影票為例,假設某電影院的某場電影共有100個座位,有4個窗口在同時售票。引入進程、線程、多線程、多線程共享數據的概念。 |
教學内容 電影院售票看多線程共享數據
将電影院售票這一事件類比成一個進程,将一個售票窗口類比為一個線程,多個窗口同時售票就是多個線程在同時執行。多個線程共享了剩餘票數這一數據。基于上述思路設計多線程售票的簡單代碼。 讨論:售票案例中的資源沖突與産生原因
多次運行代碼,演示代碼的運行結果。随後發起讨論:上述運行結果中是否有不符合常理的地方。在學生指出運行結果中出現了重複票以及負号票等異常情況後,引導學生分析代碼運行邏輯,解釋該異常産生的原因,最終得出結論:該異常産生的原因是:當多個線程在操作同一共享數據時,如果一個線程隻執行了run方法中的部分語句,還沒有執行完,另一個線程就參與進來執行,則可能導緻共享數據的錯誤。 如何解決資源沖突——同步
講授上述問題的解決辦法:将這些操作共享數據的語句加鎖(同步方法),使同一時刻隻能有一個線程訪問這些語句。當一個線程在訪問該共享數據時,其他線程需排隊等待該線程訪問結束。随後解釋雖然線程的排隊等待會讓線程損失部分效率,但卻能得到更加準确的結果,防止錯誤甚至災難性後果的産生。 以一隊人馬要過獨木橋為例,如果大家都隻顧自己的利益、互不謙讓,隻能導緻誰也過不去,甚至橋毀人亡,但如果将自身利益放一放,把小我融入大我,就能讓整個組織的運轉更為高效,自身的目标也能最終達成。從而進一步引出局部與系統、個人與集體、國家之間的關系也是一樣的,我們在思考、解決問題的過程中也應具有系統觀與全局觀。 |
育人元素
家國情懷,把國家、社會、公民的價值要求融為一體,自覺把小我融入大我,将社會主義核心價值觀内化為精神追求、外化為自覺行動。 |
教學方法
在教師授課部分,綜合利用課堂講授法、提問法、讨論法,激發學生的參與熱情。通過案例分析增強學生對相關知識的理解,最後通過點評式教學引出更深層次的思政育人元素。 |
4.從小組協作完成實踐項目培養學生的團隊協作精神、溝通交流能力、誠信友善的職業素養 | 教學導入
直接導入,在“Java工程項目的開發”一課中,直接指出本次項目開發需分組合作完成,并介紹具體要求。 |
2.教學内容 ①發布Java工程項目開發任務 要求學生在實踐報告中添加小組成員、小組分工、貢獻度等内容,督促學生通過合作分工的方式完成開發任務。 ②學生分組 ③實踐:小組協作進行項目開發 學生在以小組為單位協作完成相關實踐項目時,需要組員間充分溝通交流、緊密協作才能高質量完成,從而培養學生的團隊協作精神、溝通交流能力、誠信友善的職業素養。 |
3.育人元素 通力合作、善于溝通、誠信友善的職業品格和行為習慣
|
4.教學方法 分組實踐、自學 |
5.從實踐項目的方案設計、代碼編寫、程序調試、報告撰寫看系統的科學思維與精益求精的大國工匠精神 | 教學導入
直接導入。 |
教學内容
指導學生項目開發 在項目開發過程中,學生會遇到問題并尋求老師的幫助,此時教師采取引導式教學的方式:對于代碼出錯的情況,逐行分析學生代碼,引導學生自覺發現代碼中的錯誤,并通過适當提示指導學生修改代碼。對于不知道如何通過代碼實現相關功能的情況,引導學生對現實功能進行拆分,将問題拆分成若幹個具體子模塊後,指導學生查閱JavaAPI文檔,尋找該類中能處理該問題的方法,并閱讀方法的說明文檔,随後自行修改代碼。通過讓學生學會如何主動發現問題、分析問題、解決問題,培養學生勇于探索的創新精神、善于解決問題的實踐能力。 學生在方案設計、代碼編寫、調試程序過程中,必須精益求精調試程序bug,力求從系統角度提升軟件的工作效率,從而培養學生嚴謹的工作态度、精益求精的工匠精神、系統性思維能力。 學生在完成代碼編寫、報告撰寫過程中,應獨立完成,不抄襲,培養學生的誠信精神和實事求是的科學研究精神。 學生在項目完成後需提交一份項目總結與感悟,加深學生對項目開發過程中發現問題、自主學習、組内溝通、團隊協作、解決問題等過程的理解,從而進一步培養學生精益求精的工匠精神,迎難而上的奮鬥精神,開拓進取的創新精神以及集思廣益的合作精神。 |
3.育人元素 勇于探索的創新精神、善于解決問題的實踐能力、精益求精的大國工匠精神、知行統一 |
4.教學方法 啟發式、探究式 |
特色及創新 |
為突出課程的實踐性質,在教師授課部分,主要通過案例對知識點進行簡單串聯,同時在授課過程中引入大量的案例與讨論,加深學生對所學知識及相關思政元素的理解,提高學生的主觀能動性。在編程實踐部分,引導學生通過合作互助、問題分析、查閱資料等方式來解決問題,鍛煉學生的協作精神、工匠精神與系統思維。 |
教學成效 |
通過本課程的學習,學生對Java的作用以及學習Java的意義有了更為深刻的感悟,激發了學生的家國情懷、曆史責任感和使命感。 通過由簡到繁、由淺入深、從具體到抽象地設計項目實踐,使學生的編程能力有了顯著的進步,代碼的規範性、完整性、邏輯性明顯增強。培養了學生以辯證的思維理解、分析、解決複雜問題的能力,培養了學生的系統的思維能力、精益求精的工匠精神、迎難而上的奮鬥精神、開拓進取的創新精神以及嚴謹的治學态度。 通過從獨立開發小項目到合作開發大項目的過渡,讓學生切身體會到了團隊協作的強大魅力,培養了學生的溝通交流能力、友善的職業素養以及集思廣益的合作精神。項目驗收時學生基本能做到分工有序、條理清晰、邏輯通暢。 |
教學反思 |
優勢:課程思政案例的教學總體上可行性強、将思政案例與教學内容進行了有機融合,使學生并不感到突兀,能夠潛移默化地培養學生的社會主義核心價值觀、基本素養以及職業素養。 不足:在案例教學的過程中,通過提問、讨論等方法雖然能很大程度地提高學生的積極性與參與感,但仍有部分學生不願意參與進來,仍需挖掘出更貼近學生實際、更為生動、有趣的案例,以提高學生參與讨論的興趣,增強學生對課程思政内容的認同感。 |