◎系所教育目標: 為配合國家建設及產業發展之需要,本系以培育中高級資訊科技人才為目的。在教學理念上除了注重理論的探討之外並強調實際動手的能力,以期培育出具有深厚學識基礎並能實際應用的資訊科技人才。在專業必修中涵蓋基礎理論、電腦硬體、作業系統、資料結構及計算機網路等方面,並有畢業專題製作,使學生紮實基礎,同時課程包含四個專業學程,兼顧學術及實務之分流與訓練。分別為一:軟體工程及知識工程學程、二:互動多媒體學程、三:網路及資訊安全學程、四:資訊系統開發實務學程,以期作為日後升學就業的準備。 |
| ◎核心能力 | 關聯性 |
| 1.應用數理邏輯推理之能力 | 4 關聯性稍強 |
| 2.具備資訊軟體專業之能力 | 4 關聯性稍強 |
| 3.發掘、分析及解決問題之能力 | 3 關聯性中等 |
| 4.現代資訊發展工具之使用與熟悉資訊應用系統之能力 | 3 關聯性中等 |
| 5.資訊軟體或硬體創新設計與實作之能力 | 3 關聯性中等 |
◎本學科內容概述: 本科目係為大學二年級的選修課程,講授程式語言相關的基本知識與語言的特性。 |
◎本學科教學內容大綱: 1.語彙、語法、與語意分析
2.變數資料型態
3.陳述與指定句型
4.程式流程控制
5.子函數
6.物件導向 |
◎本學科學習目標: 本課程之學習目標為令學生具有程式語言之演進、特質與開發之基礎觀念,使參與之學生將能夠:
1. 瞭解程式語言設計的基本概念:認識程式語言的歷史背景與演進與比較不同語言設計哲學與應用領域。
2. 掌握程式語言的語法與語意分析方法:了解語言定義方式 (語法、語意、語用)與熟悉形式化描述工具 (BNF、EBNF、語法剖析樹等) 。
3. 比較主要程式語言的設計議題:資料型態、控制結構、抽象機制等以及各種語言特性對程式開發的影響。
4. 培養語言評估與選擇能力:依據可靠性、可讀性、效率、可維護性等標準來分析不同語言在特定應用中的優缺點。
5. 建立跨語言思維與設計觀點:跨越單一語言的學習限制並能從語言設計層面思考軟體開發問題。 |
| ◎教學進度: |
| 週次 | 主題 | 教學內容 | 教學方法 |
01 02/25 | 課程介紹 | 教學大綱說明
專案製作說明
評分標準 | 講授、討論。 授課方式:面授、遠距(非同步) |
02 03/04 | Preliminaries | Progamming domains
Language evaluation criteria
Influences on language design
Language categories | 講授、討論。 授課方式:面授 |
03 03/11 | Evolution of the Major
Programming Languages | Genealogy of common high-level programming languages | 講授、討論。 授課方式:面授、遠距(非同步) |
04 03/18 | Syntax and semantics of programming languages(1/2)
*Functional programming languages | Syntax and semantics of programming languages
The general problem of describing syntax
Functional programming languages | 講授、討論。 授課方式:面授、遠距(非同步) |
05 03/25 | Syntax and semantics of programming languages(2/2) | Formal Methods of describing syntax
Attribute grammars
Dynamic semantics | 講授。 授課方式:面授、遠距(非同步) |
06 04/01 | Lexical and Syntax Analysis(1/2) | Lexical analysis
The parsing problem | 講授。 授課方式:面授、遠距(非同步) |
07 04/08 | Lexical and Syntax Analysis(2/2) | Recursive-descent parsing
Bottom-up parsing | 講授。 授課方式:面授、遠距(非同步) |
08 04/15 | 期中考 | 期中考 | 紙筆測驗。 |
09 04/22 | Name, binding, type checking and scopes (1/2)
*Logic programming languages | Names
Variable
Bindings, and scopes
Logic programming languages | 講授、討論、期中考。 授課方式:面授、遠距(非同步) |
10 04/29 | Name, binding, type checking and scopes (2/2) | Type checking
Strong typing
Type Equivqience
Scope | 講授、討論。 授課方式:面授、遠距(非同步) |
11 05/06 | Data type (1/2) | Primitive data types
User-defined ordinal types | 講授、討論。 授課方式:面授、遠距(非同步) |
12 05/13 | Data type (2/2) | Array
Record
Union
Pointer and reference | 講授、討論。 授課方式:面授、遠距(非同步) |
13 05/20 | Expressions and Assignment Statements | Arithmetic expression
Overloaded expression
Type conversion
Assignment | 講授、討論。 授課方式:面授、遠距(非同步) |
14 05/27 | Statement-level Control Structure | Selection statement
Interative statement
Uncodnitional branch
Guarded command | 講授、討論。 授課方式:面授、遠距(非同步) |
15 06/03 | Subprograms | Subprogram
Local referencing environments
Parameter-passing method
Overloaded subprogram | 講授、討論。 授課方式:面授、遠距(非同步) |
16 06/10 | 期末考 | 期末考 | 紙筆測驗。 授課方式:面授 |
17 06/17 | The future of programming language (1/2) | Future of programming language
information ethics | 講授。 授課方式:遠距(非同步) |
18 06/24 | The future of programming language(2/2) | Future of programming language
information ethics | 講授、討論、期末考。 授課方式:遠距(非同步) |
◎課程要求: 須能配合混合式翻轉教學,亦即是部分實體部分網路上課。 |
◎成績考核 課堂參與討論20% 期中考20% 期末考20% 專案製作 40% |
◎參考書目與學習資源 Robert W. Sebesta, Concepts of Programming Languages, 12/e. Addison-Wesley, 2019. |
| ◎教材講義 請改以帳號登入校務系統選擇全校課程查詢方能查看教材講義 |
| 適合修習對象:大二(含)以上學生,須修過命令式程式語言如C或Python、物件導向程式語言如JAVA或C++者。需研讀過資料結構等軟體開發專業知能。 |
| 教學方式:
■提供線上課程主要及補充教材
■提供線上非同步教學
■提供面授教學, 次數:15次, 總時數:45.0小時
■每週上課時數(遠距教學):2.50小時 |
| 學習管理系統:
1、提供給系統管理者進行學習管理系統資料庫管理
■個人資料
■課程資訊
2、提供教師(助教)、學生必要之學習管理系統功能
■最新消息發佈及覽
■教材內容設計、觀看及下載
■進行線上測驗及發佈
■學習資訊 |
| 作業繳交方式:
■提供線上說明作業內容 |
上課注意事項: 本課程採取專案管理教學,需有軟體專案開發與團隊合作能力,能配合本課程上課教學模式。 |