登入

課程

學年/學期 Academic Year/Semester 103 學年 第 2 學期
課程名稱 Course Name
703050-001
(中 Ch.)計算機程式設計(二)
(英 Eng.)Computer Programming (II)
授課教師 Instructor 蔡銘峰
修別 Type of Credit 必修 學分數No. of Credits 3.0
備註 Note
N/A
課程目標 Course objectives
This course is designed to provide a substantial exposure to the C programming language in a Unix environment for students with basic programming experience.
課程大綱 Course Description
The content of the course includes the following topics:

o Part I – Advanced Features of C
• Pointer and Arrays
• C Preprocessor
• Bitwise Operations
• File Input/Output
• Debugging and Optimization
• Advanced Pointers
• Modular Programming
• Portability Problem

o Part II – Advanced Unix Tools
• Unix Basics: essential commands, pipes, redirections
• Effective Programming: emacs/vi, svn/git, make, gdb
• Useful Tools: grep, sed, diff, xargs, find, …
• Scripting: Bash, Perl/Python

o Part III: Simple Data Structure and Algorithms
• Queue, Stack, Linked List
• Searching, Sorting
教學方式 Teaching approach
The course will involve lectures by instructor, lab exercises, and programming assignments on various topics. Students are expected to participate the exercises, and write the assignments on their own. There will be a midterm conducted as a written test, and a final exam including written and programming tests.
每週課程進度與作業要求【請詳述每週課程內容/授課方式與學生預習內容/學習活動/課後作業】
Week    Topics
1    Course Introduction
2    Unix Basics: Process Control
3     Unix Basics: Setup Environment
4    C Revisited; Pointer, Array, and Strings
5    Advanced Pointers (1): malloc, calloc, realloc, and free
6    Advanced Pointers (2): Dynamic Allocation
7    Module Programming
8    Basic Data Structure (1): Stack and Queue
9    Midterm
10    Basic Data Structure (2): Linked List
11    Basic Data Structure (3): Tree
12    Basic Algorithm (1): Big O nation, Algorithm Analysis
13    Basic Algorithm (2): Searching and Sorting
14    Problem Solving (1)
15    Problem Solving (2)
16    Problem Solving (3)
17    Basic Shell Programming
18    Final Exam
評量工具與策略、評分標準 Evaluation Criteria
o Midterm: 30%
o Final Exam: 35%
o Labs & Assignments: 35%
o Bonus (participation): < 5%
教學助理基本資料 Teaching assistant tasks
教材與教學準備、實驗或實習輔助、作業諮詢與批改
指定/參考書目 Textbook & references
(為維護智慧財產權,請務必使用正版書籍)
o The C programming Language (2nd Edition), K&R.
o Advanced C, Peter D. Hipson.
o C Unleashed, Richard Heathfield et al.
o Unix Unbounded a beginning approach, AMIR Afzal.
課程相關連結 Course related links
N/A
本課程附件 Course attachments
N/A
課程進行中,是否禁止使用智慧型手機、平板等隨身設備。

需經教師同意始得使用



 
學生自評核心能力填答率: 73.85% (48/65)
能力項目說明:
A.培養邏輯推理、獨立思考與創新能力 B.理解自然科學與數位科技
C.培養團隊合作的能力 D.具備有效的溝通表達能力
E.養成終身學習與自我提升能力 F.瞭解資訊科技發展趨勢與具備國際視野
G.具有專業及道德責任的認知