◎系所教育目標: 為配合國家建設及產業發展之需要,本系以培育中高級資訊科技人才為目的。在教學理念上除了注重理論的探討之外並強調實際動手的能力,以期培育出具有深厚學識基礎並能實際應用的資訊科技人才。在專業必修中涵蓋基礎理論、電腦硬體、作業系統、資料結構及計算機網路等方面,並有畢業專題製作,使學生紮實基礎,同時課程包含四個專業學程,兼顧學術及實務之分流與訓練。分別為一:軟體工程及知識工程學程、二:互動多媒體學程、三:網路及資訊安全學程、四:資訊系統開發實務學程,以期作為日後升學就業的準備。 |
◎核心能力 | 關聯性 |
1.應用數理邏輯推理之能力 | 4 關聯性稍強 |
2.具備資訊軟體專業之能力 | 5 關聯性最強 |
3.具備資訊硬體專業之能力 | 4 關聯性稍強 |
4.發掘、分析及解決問題之能力 | 5 關聯性最強 |
5.現代資訊發展工具之使用與熟悉資訊應用系統之能力 | 3 關聯性中等 |
6.資訊軟體或硬體創新設計與實作之能力 | 3 關聯性中等 |
7.有效溝通與團隊合作之能力 | 3 關聯性中等 |
8.培養人文素養、專業倫理責任、社會關懷與生活技能之能力 | 1 關聯性最弱 |
◎本學科內容概述: 本課程提供學生瞭解計算機結構資料表示與組合語言,須具備初步電腦軟、硬體、編譯以及作業系統觀念。內容除了組合語言程式設計、電腦系統基礎、計算機架構基礎。 |
◎本學科教學內容大綱: 1.虛擬機器的觀念
2.指令級架構
3.基本布林運算
4.指令執行週期
5.記憶體存取及交握
6.中斷與輪詢
7.以硬體為基礎的I/O
8.浮點數二進位表示法
其他與Intel 、AMD有關的特別主題
(1)保護記憶體與分頁
(2)在實體位置模式下的記憶體分段
(3)16位元中斷處理
(4)MS-DOS和BIOS呼叫
(5)浮點運算單元的架構和程式設計
(6)指令編碼 |
◎本學科學習目標: 組合語言與系統程式課程主要是讓學生了解計算機結構資料表示與組合語言以及計算機系統相關的程式及軟體,其功能、運作、設計與實務操作。這門課讓學生學習組合語言程式設計、電腦系統基礎、計算機架構基礎。除了讓學生了解理論運作外,並透過專案實作,以了解細節內容並培養系統開發經驗。 |
◎教學進度: |
週次 | 主題 | 教學內容 | 教學方法 |
01 02/22 | Basic concepts | 課程大綱介紹以及軟體安裝 | 講授。 |
02 02/29 | 32-Bit x86 & 64-Bit x86-64 processor Architecture | 32-Bit x86 Processors
64-Bit x86-64 Processors
Input–Output System | 講授。 |
03 03/07 | Assembly Language Fundamentals
Your First Program | Basic Language Elements
Assembling, Linking, and Running Programs
Structure of an Assembly Program | 作業/習題演練、操作/實作、講授、討論。 |
04 03/14 | Data Transfers, Addressing, and
Arithmetic | Data Transfer Instructions
Addition and Subtraction | 作業/習題演練、操作/實作、講授、討論。 |
05 03/21 | Conditional Processing
(Comparison, Jumping and Looping)(I) | JMP and LOOP Instructions
Conditional Instructions (I)
For-Loops (I) | 講授、討論。 |
06 03/28 | Conditional Processing
(Comparison, Jumping and Looping)(II) | Conditional Instructions (II)
For-Loops (II) | 作業/習題演練、操作/實作、講授、討論。 |
07 04/04 | Integer Arithmetic | Shift and Rotate Instructions & Applications
Multiplication and Division | 講授、討論。 |
08 04/11 | Advanced Procedures & Functions
External Functions (I) | Stack Frames
The Stack and Function Call
Calling Functions from Libraries (I) | 講授、討論。 |
09 04/18 | Midterm Exam | Midterm Exam | 期中考試。 |
10 04/25 | Advanced Procedures & Functions
External Functions (II) | Calling Functions from Libraries (II) | 作業/習題演練、操作/實作、講授、討論。 |
11 05/02 | Arrays and Strings (I) | One/Two-Dimensional Arrays
Moving Strings
Comparing and Scanning Strings (I) | 作業/習題演練、操作/實作、講授、討論。 |
12 05/09 | Arrays and Strings (II)
Structures and Macros (I) | Comparing and Scanning Strings (II)
Structures/Macros (I) | 講授、討論。 |
13 05/16 | Structures and Macros (II)
MS-Windows Programming (I) | Structures/Macros (II)
Conditional Macros
Simple Windows Code | 作業/習題演練、操作/實作、講授、討論。 |
14 05/23 | MS-Windows Programming (II) | Using the Windows API | 講授、討論。 |
15 05/30 | Floating-Point Arithmetic | IEEE Binary Floating-Point Representation
Single/Double Precision
Coding on Floating-Point Arithmetic | 講授、討論。 |
16 06/06 | Advanced Issues (I) | SIMD & AVX (I)
Single Instruction Multiply Data
Advanced Vector Extensions | 作業/習題演練、操作/實作、講授、討論。 |
17 06/13 | Advanced Issues (II)
期末專案展示 | SIMD & AVX (II)
Advanced Vector Extensions
Advanced Vector Extensions
期末專案展示 | 口頭報告、講授、討論。 |
18 06/20 | Final exam | Final exam | 期末考試。 |
◎課程要求: 本課程提供學生瞭解計算機結構資料表示與組合語言,須具備初步電腦軟、硬體、編譯以及作業系統觀念。
除上課講授討論之外,提供其他實務專案內容作為讓同學們能夠了解實際系統運作。因此除考試外,計有作業及專開開發等實作上之課程要求。 |
◎成績考核 課堂參與討論12% : 出席率與討論 期中考28% 期末考30% 作業/習題演練30% : 含課堂練習與測驗 |
◎參考書目與學習資源 1. Jo Van Hoey, Beginning x64 Assembly Programming - From Novice to AVX Professional, Apress, 2019.
2. Daniel Kusswurm, Modern X86 Assembly Language Programming - Covers X86 64-bit, AVX, AVX2, and AVX-512, Apress, 2023.
3. Jonathan Bartlett, Learn to Program with Assembly - Foundational Learning for New Programmers, Apress, 2021.
4. Kip Irvine, Assembly Language for x86 Processors, 7th edition, Pearson, 2014
5. Richard C. Detmer, Introduction to 80x86 Assembly Language and Computer Architecture, 3rd edition, Jones & Bartlett Learning, 2014.
6. Leland L. Beck, System Software - An Introduction to Systems Programming, 3rd Edition, Addison Wesley, 1997. |
◎教材講義 請改以帳號登入校務系統選擇全校課程查詢方能查看教材講義 |