[課程概述 Course Description]
1. 延續計算機程式設計一,繼續鍛鍊程式能力
2. 透過實作來認識資訊工程基礎知識與技術
* 修課學生必須具備基本C語言程式能力
* 三班的上課進度與考試評量標準會統一,多數上課會以廣播的方式,讓三班同時上課。

The course “Introduction to programming II” has two goals. First, it drills
the programmability of students via more practices and examples. Second, it
introduces the basic knowledge and concepts of computer science through programming.
Students who want to take this course should be familiar with basic programming in C.
The class schedule and evaluation methods of three sessions will be synchronized.
Most lectures will be given using the broadcast system to all students in three
sessions.

[指定用書 Text Books]
無 All the materials will be offered in the iLMS system.

[授課大綱 Syllabus]
1. How does a computer run programs? ----- Compiler and computer system
- Computer system
- Compiler concept
- Tree algorithms
- Assembly
2. How to write big programs? ----- object oriented programming
- Encaptulation
- Inheritance
- Polymorphism
- C++ STL
3. How to make programs smarter? ----- AI and computer gaming
- Decision tree
- Search stragegies
- What is AI
- Simple AI game


[授課形式 Teaching Method]
每週上課四小時: 兩小時教 室講課 + 兩小時 Lab

Four hours per week. Two hours lecture in classroom (Monday) and two hours
lab in
computer room (Wednesday).

[成績考核 Evaluation]
Labs 18%
Written exam 12%
兩次期中考 midterms 30%
期末考 final 20%
期末專題 final project 20%