Java面向對象程序設計教與學

2021-02-15 書圈

面向對象程序設計(Object Oriented Programming,OOP)主要研究如何從對象的角度出發構建程序單元以及程序開發機制,主要內容包括抽象的技術,類與對象,面向對象編程的基本特徵,包括封裝性、繼承性和多態性。學完該課程,學生能使用面向對象程式語言和採用面向對象思維方法開發大中型應用程式。


一、基本信息

課程代號:9051705

課程名稱:Java面向對象程序設計

英文名稱:Java Object-Oriented Programming

開課專業:計算機科學與技術、軟體工程、物聯網工程

課程性質:專業必修課

課程學時:68學時,其中課內理論34學時,課內實踐34學時。

課程學分:4學分


二、課程性質
面向對象程序設計是計算機科學與技術專業、軟體工程專業以及物聯網工程專業的專業基礎課。該課程主要講授面向對象的程序設計方法和思想。該課程藉助Java作為教學語言,講授面向對象編程的基礎理論和基本思想,培養學生的面向對象思維。課程的總體目標是使學生能夠使用面向對象程式語言開發應用程式,也為學生今後學習Java高級編程、JavaWeb開發和移動開發打下堅實的基礎。
該課程的特點是既有理論基礎,又需要大量實踐。因此在教學中應理論聯繫實際,加強實踐環節的教學。在研究和教學方法上應儘量採用基於問題的方法、案例式方法、討論式方法等多種教學方法。三、總體目標
本課程的總體目標是適應計算機科學與技術、軟體工程以及物聯網工程等專業本科學生培養目標的要求,使學生掌握如何應用面向對象程式語言編寫應用程式、開發基於面向對象的軟體。課程的任務是使學生熟練掌握面向對象編程思想。該課程在培養目標中是屬於專業基礎課程,該課程為後續課程的學習奠定基礎,如後續課程Java Web開發和移動開發等課程都是以該課程作為基礎的,另外也為將來學生學習其他面向對象語言(如C++、C#等)以及其他面向對象技術(面向對象資料庫)等高級課程打下基礎。
四、知識和能力標準
1. 初步掌握的技能初步掌握使用面向對象技術分析和設計應用程式,初步掌握面向對象分析和設計方法。從軟體的復用性,培養學生初步具備模塊化思維能力。
2.熟練掌握的技能

 

熟練掌握Java面向對象程序設計的語言基本語法,基本方法包括軟體抽象方法、面向對象分析方法,基本思想包括繼承性、封裝性、多態性,抽象類以及接口的設計思想。

   

3.精通的技能

    

精通Java程序設計語言的使用。本課程以Java語言為例講解面向對象編程方法,因此要求學生精通Java語言的語法規則,精通使用Java語言編寫應用程式,精通Java語言支持的各種面向對象特徵及在程序中的使用。


五、教學設計
如何安排教學內容的大致思路:(1)學生自學和教師精講結合。在課前安排學生自學有關內容,學生在對應學習內容有了一定認識後,教師選擇已混點、易錯點、易忽略點重點講解。(2)採用問題驅動法、任務驅動以及小組協作等現代教學方法。在教學中儘可能採用多種教學方法,開拓學生思路,提高教學效率。(3)理論與實踐相結合。本課程實踐性強,因此通過大量的實例、案例分析、小項目等加深對課程內容的理解和掌握。(4)實踐環節包括課內實踐和課外實踐。教師指定有關題目,要求學生在課內和課外完成。(5)學生分成小組。通過小組集體完成一些項目,培養學生的團隊精神和協作能力,使學生體會團隊的力量。
3.教學計劃安排
課內教學內容、時間安排、具體章節如下表所示。

周次

實驗教學學時

課堂訓練學時數

備註

教學內容摘要

(章節名稱、講述的內容提要,課堂討論的題目等)

實驗、習題及其它

第1周

 

2

 

2


1.1  Java起源與發展       

1.2  Java平臺與開發環境       

1.3  Java程序基本結構   

1.5  Eclipse集成開發環境

第1章

實訓任務:

2,4,6

習題:

1.1,

1.3

第2周

 

2

 

2


2.1  簡單程序的開發   

2.2  數據類型   

2.3  運算符       

2.4  數據類型轉換

第2章

實訓任務:

1,2,3

習題:

2.1,

2.3

第3周

2

 

2


3.1  選  擇   

3.2  循  環   

3.3  示例學習

第3章

實訓任務:

1,3,5

習題:

3.2,

3.10

第4周


 

2

2

4.1  面向對象概述       

4.2  為對象定義類       

4.3  方法設計

第4章

實訓任務:

1,2

習題:

4.1,

4.2

第5周

 

2

 

2


4.4  靜態變量和靜態方法   

4.5  對象初始化和清除       

4.6  包與類的導入

實訓任務:

3,4

習題:

4.5,

4.6

第6周


 

2

2

5.1  創建和使用數組

5.2  Arrays類

5.3  二維數組

第5章

實訓任務:

1,2,4

習題:

5.7,

5.16

第7周

 

2

 

2


6.1  String類

6.2  格式化輸出       

6.3  StringBuilder和StringBuffer類

第6章

實訓任務:

1,2,3

習題:

6.4,

6.5

第8周


 

2

2

7.1  類的繼承   

7.2  封裝性與訪問修飾符   

第7章

實訓任務:

1,2

習題:

7.1,

7.2

第9周

 

2

 

2


7.4  抽象類       

7.5  對象轉換與多態

實訓任務:

3

習題:

7.5

第10周

 

2

 

2


8.1  Object:終極父類       

8.2  Math類  

第8章

實訓任務:

1,2

習題:

8.1,

8.2

第11周


 

2

2

8.3  基本類型包裝類   

8.4  日期-時間API

第8章

實訓任務:

3,4

習題:

8.6,

8.7

第12周

 

2

 

2


9.1  內部類       

9.2  枚舉類型   

9.3  註解類型

第9章

實訓任務:

1,2,3

習題:

9.1,

9.6

第13周


 

2

2

10.1  接  口   

10.2  靜態方法和默認方法

第10章

實訓任務:

1,2

習題:

10.1,

10.2

第14周

 

2

 

2


10.3  接口示例   

10.4  Lambda表達式   

第10章

實訓任務:

3,4

習題:

10.5,

10.9

第15周


 

2

2

11.1  泛型介紹   

11.3  List接口及實現類       

11.4  Set接口及實現類   

第11章

實訓任務:

1,2

習題:

11.1,

11.2

第16周

 

2

 

2


11.5  Queue接口及實現類       

11.6  Map接口及實現類   

11.7  Collections類

第11章

實訓任務:

3,4,5

習題:

11.4,

11.10

第17周


 

2

2

12.1  異常與異常類       

12.2  異常處理   

12.3  自定義異常類       

第12章

實訓任務:

1,2,3

習題:

12.1,

12.5

第18周




複習考試



 

六、教學建議
本課程是理論和實踐緊密聯繫的一門課程,因此建議教師在精講理論知識的同時加強學生實踐動手能力的培養,在教學中可採取下面一些具體措施:(1)充分採用現代教育技術手段。本課程機房授課,教師可採用「邊講邊練」的方法,可在機器上演示程序的編寫和運行,增加學生的感性認識。(2)採用任務驅動或問題驅動方法。可先提出問題,根據問題尋找解決方案,從而啟迪學生的思維,提高教學效果。(3)採用小組協作方法。教師可設計一些稍大一點的項目,由小組共同完成,然後抽取小組成員講解設計思想,從而培養學生語言表達能力和成員間協作精神。(4)加強自學能力培養。設計有關題目,讓學生利用各種途徑(圖書館、網絡)完成題目,從而培養學生解決問題和資源檢索能力。(5)加強過程性考核。通過單元測試、實驗、討論、作業等方式及時對學生的表現進行考核。
七、課程考核與評價
1、基本評價方法
改變一張試卷定優劣的狀況,注重評價的多元性,強化過程性評價。在注重掌握基本理論知識的同時,側重學生多種能力的培養和學習過程中有效學習的引導,構建集知識、能力、過程評價為一體的評價方法。
在學生學習效果的評價中增加規範化,標準化的代碼編寫習慣考核,能否完成簡單的代碼測試工作;團隊精神和協作能力的提升;是否具備學習能力、總結能力和語言表達能力等方面的評價。
在考核方式上,注重形成性評價與總結性評價相結合,總結性評價由單元測試,實驗結果等部分組成,主要考核學生對本課程的基本概念和基本知識掌握程度。形成性評價包括出勤及課堂表現、課外作業、實驗完成情況及實驗報告、單元測試等方面的評價。
2、考核項目構成
本課程是軟體工程專業的核心課程,是以考查的方式考核的考試課。根據該課程的特點,制定6項考核指標,如下所示。(1)出勤及課堂表現,20%(2)課外編程作業,20%(3)實驗完成情況及實驗報告,30%(4)單元測試,30%

下面是考核項目、考核次數以及分數。

序號

項目

次數

分數

說明

1

出勤及課堂表現


20分


2

課外編程作業

4

20分

每次5分,教師批閱4次作業,根據學生完成情況給分。

3

實驗完成情況及實驗報告

5

30分

每次6分,可根據學生提交實驗結果記分,先完成任務者可獲高分。

4

單元測試

3

30分

每次10分,每單元學習完成進行測試,測試採用課內測試。

總分



100分


4、考核結論

最終考核採用百分制,90分以上為優秀,60分為及格,60分以下為不及格。


八、教材與參考數目
《Java語言程序設計》(第3版)沈澤剛主編清華大學出版社(ISBN:978-7-302-48552-0) 2018.4
《Java語言程序設計(第3版)學習指導與題解》沈澤剛,清華大學出版社(ISBN:978-7-302-49602-1) 2018.6

提供PPT課件和源碼,大綱,試卷,基於Java SE 8, 30小時微課視頻, 179個編程案例, 166道上機練習題 ,全程語音講解!

作者:沈澤剛

定價:79.50元

ISBN:9787302485520


相關焦點

  • Java面向對象程序設計的基本概念
    面向對象的程序設計涉及到對象、封裝、類、繼承及多態等幾個基本概念。
  • 基於目標管理的Java 面向對象程序設計在線教學
    Java 面向對象程序設計在計算機類專業應用型本科第2 學年第4 學期進行教學,學生已經學過C 語言程序設計和數據結構。線下每周講授2課時,實驗2 課時,使用清華大學出版社出版的自編教材。課堂教學以「板書知識點+ 編程演示」方式為主,沒有使用PPT。實驗教學以驗證型實驗為主,主要通過重做教師課堂演示的例子,強化對知識點的理解。
  • Java面向對象中的封裝和訪問控制符詳解
    封裝面向對象編程有三大概念:封裝、繼承、多態,今天我們就先從封裝開始講起。封裝(Encapsulation)是面向對象方法的重要原則,就是把對象的屬性和操作(或服務)結合為一個獨立的整體,並儘可能隱藏對象的內部實現細節。封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的接口。
  • 尚學堂知識整理:java面向對象設計(二)
    Java面向對象編程有三個主要特點。下面示例顯示了Mobile類和屬性,在使用構造函數參數創建對象時設置一次對象信息。可以使用具有公共(public)訪問修飾符的getXXX()方法來訪問屬性。繼承面向對象程序的一個重要特性是繼承 - 創建一個新類時共享現有類的屬性和方法。
  • 戰「疫」·一線課堂 | 能力型《Java 語言與面向對象程序設計》在線教學設計
    教學目標:在理論教學方面,讓學生理解面向對象程序設計思想和方法,掌握Java語言語法功能,能夠使用Java語言編寫程序。在實踐教學方面,設計一些與Java程序設計有關的項目和應用,讓學生熟練掌握Java編程技巧,學習使用Java語言做一些實際項目,培養學生的動手和實踐能力。
  • Java面向對象之枚舉——enum
    Java面向對象之枚舉——enum引出枚舉首先來考慮這樣一個需求:判斷一個員工(Employee)在一周的哪一天休息。底層的枚舉類枚舉特點:枚舉的直接父類是java.lang.Enum,但和java.lang.Object
  • java開發工程師 javascript面向對象的初識
    冰凍三尺非一日之寒,希望大家在學習java的日子裡一定一定要堅持不懈,嚴格要求。多練,多問,多百度。祝大家早日成為一名優秀的軟體工程師! 那麼如果要向一個html頁面中寫入js代碼,就必須定義一個<script></script>標籤,所有的js代碼都在這個<script>標籤中。
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    零基礎學Java作為一門面向對象的高級語言,Java不僅吸收了C++語言的各種優點,還對C++裡諸如多繼承、指針等一些讓用戶難以理解和掌握的概念重新組織和及摒棄,從而形成了Java因為Java語言具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點,所以Java可以編寫各種跨平臺應用的桌面應用程式、Web應用程式、分布式系統和嵌入式系統應用程式等。
  • 日常疑惑:編程學Java還是學C語言?
    C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的程式語言。針對java語言,只要能理解到它的編程思想,基本幾個核心的抽象概念就能夠舉一反三了。
  • JAVA入門:從什麼是JAVA到編寫第一個java程序只需看這一篇
    Java是一門面向對象程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象程式語言的代表,極好地實現了面向對象理論,允許程式設計師以優雅的思維方式進行複雜的編程。
  • Java面向對象之final、abstract抽象、和變量生命周期
    Java面向對象之final、abstract抽象、final修飾符final只要滿足以下條件就可以考慮把一個類設計成final類:在設計之初就考慮不進入繼承體系的類。出於安全考慮,類的實現細節不允許被拓展和修改。比如:基本數據類型的包裝類就是一個典型的例子。該類不會再被拓展。
  • 聊聊面向對象編程的幾個基本原則
    進行面向對象編程,有下面幾個原則:一. 面向抽象原則二. 開閉原則三. 多用組合少用繼承原則四. 高內聚-低耦合原則下面首先先介紹抽象類和接口,然後介紹面向抽象編程。3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。5.阿里Java高級大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!
  • 手把手Java入門:繼承(面向對象篇)
    繼承的概念繼承是java面向對象編程中的基石,它允許創建分層次的類。繼承是子類繼承父類的特徵和行為,使得子類對象具有父類的實例域和方法,或者子類直接繼承父類的方法,使得子類具有父類相同的行為。在java中實現繼承的關鍵字是extends,它可以聲明一個類是從另外一個類繼承而來的。格式如下:class父類{}class子類extends父類{}繼承的特性子類擁有父類非private的屬性和方法。子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。
  • Java程序設計及課程設計教與學(64、56和48學時教學大綱)
    《Java程序設計》是軟體工程專業、計算機科學與技術等相關專業的一門重要的程序設計語言類的必修課程。教學目的:通過本課程的學習,要求學生達到下列目標。1. 理解面向對象程序設計的思想,掌握面向對象的3個特性:封裝性、繼承性和多態性。2. 理解Java的平臺無關性,掌握用Java語言進行面向對象程序設計的方法。
  • Java到底是不是一種純面向對象語言?
    在Java世界內一切都是對象,甚至包括字符串(String)這些都是對象(在 C 語言中,字符串是字符數組),那時候,我認為 Java是一種面向對象的語言。但是在後來,我在網際網路站上陸續看到不少開發者說 「Java實際上不是純粹的面向對象,因為並不是所有的東西在 Java 世界都是一個對象」。
  • 疫情期間面向對象程序設計課程線上教學實踐
    另一方面,面向對象程序設計課程屬於典型的工程設計類課程,除了理論部分外,課程強調在運用面向對象原理的前提下,實踐Java 編程。作為企業級應用的首選,Java 語言在學生的就業環節佔比很重,學生對Java 語言的熱情很高,但不喜歡學習面向對象理論知識。教學過程中,若將該課程作為一門語言課去講授,有點捨本逐末。
  • 大學生學Java編程開發真的很值得
    零基礎學習Java可以嗎,大學生學Java真的有必要嗎?  其實我們評價一種開發語言就像我們評價一個人一樣,如果只是說他很好,最值得學習,這樣的評價看起來就太籠統了,而且一點也不具有說服力,所以今天場長大大就把java做一場擬人化處理,想像我們面對的java是一個帥氣的小夥子,當然你如果願意也可以把她想像為一名陽光美少女,畢竟從Java的出生年紀看,她真的只是個20歲活力滿滿的陽光少女喲。
  • Java程式設計師應該了解的10個面向對象設計原則
    面向對象設計原則是OOPS(Object-Oriented Programming System,面向對象的程序設計系統)編程的核心,但大多數Java程式設計師追逐像Singleton、Decorator、Observer這樣的設計模式,而不重視面向對象的分析和設計。
  • 每周 10 道 Java 面試題 : 面向對象, 類加載器, JDBC, Spring 基礎概念
    面試題答案討論請移步:https://github.com/jobbole/java-interview/issues/1Java面試題投遞交流請移步:https://github.com/jobbole/java-interview/issues/21. 為什麼說Java是一門平臺無關語言?
  • Java面向對象編程開發認證考試項目介紹
    2、職業定義java是面向對象編程的語言,面向對象編程有四個特點:抽象,封裝,繼承,多態。面向對象區別於bai以前的面向過程,du像Java、vb、vc都是zhi採用面向dao對象編zhuan程,當然更高級的還有面向接口編shu程。