中正大學課程大綱
課程名稱(中文): 程式設計實習(一) 開課單位: 資訊工程學系(Department of Computer Science and Information Engineering)
課程名稱(英文) Programming Lab for Program Design (I) 課程代碼 4101033_02
授課教師: 程芙茵 學分數 1
必/選修 必修 開課年級 Undergraduate
先修科目或先備能力:
Students must enroll in Program Design (I)
課程概述:
This is the Programming Lab for the course Program Design (I). The students who want to enroll in this course must enroll in the Program Design (I) program. In this course, the students will practice various C programming on their computers to deepen their understanding of the weekly topic of Program Design (I). The instructor and TA will explain the weekly practices, and then the students will finish the practice requirements.

*** [Important!!! Must do!!!] Please read this Google Doc for complete information about this course: https://tinyurl.com/27q2cdpq ***
學習目標:
1. Understanding how to set up and successfully use the programming environment
2. Knowing how to debug and use version control systems when programming in C
3. Design and develop computer programs in C to solve problems
教科書:
C Programming: A Modern Approach, K. N. King, 2nd edition, 2008, W. W. Norton & Company

課程大綱 分配時數 核心能力 備註
單元主題 內容綱要 講授 示範 隨堂作業 其他
Introduction of C 1 1.11.21.32.12.22.33.13.23.34.14.2
C Fundamentals 1 1.11.21.32.12.22.33.13.23.34.14.2
Formatted Input/Output 1 1.11.21.32.12.22.33.13.23.34.14.2
Expressions 1 1.11.21.32.12.22.33.13.23.34.14.2
Selection Statements 1 1.11.21.32.12.22.33.13.23.34.14.2
Loops 1 1.11.21.32.12.22.33.13.23.34.14.2
Basic Type 1 1.11.21.32.12.22.33.13.23.34.14.2
Arrays 1 1.11.21.32.12.22.33.13.23.34.14.2
Functions 1 1.11.21.32.12.22.33.13.23.34.14.2
Pointers 1 1.11.21.32.12.22.33.13.23.34.14.2
String 1 1.11.21.32.12.22.33.13.23.34.14.2

教育目標
1.專業基礎知識. 使學生擁有扎實的專業基礎知識,成為資訊及相關領域的專業人才
2.培養創造能力. 使學生具有運用所學到的各種專業知識與理論以科學的方法解決問題與創新
3.自我挑戰能力與終身學習. 讓學生習於自我挑戰、獨立思考,學會思維創新、領導及組織團隊、有效溝通、終身學習之能力
4.社會人文素養與國際視野. 讓學生具備關懷社會的情操與人文素養,並具國際觀,奉獻社會國家及人類

核心能力
1.1.具有資訊工程相關基礎知識之吸收與了解的能力(Capability to grasp foundational knowledge in computer science.)
1.2.具有運用資訊工程理論及應用知識,分析與解決相關問題的能力(Capability to use computer science theory and application knowledge to analyze and solve related problems.)
1.3.在資訊工程的許多領域中,具有至少某一項專業能力,例如:硬體、軟體、多媒體、系統、網路、理論等(Professional in at least one area, including hardware, software, multimedia, system, networking, and theory.)
2.1.具有資訊工程實作技術及使用計算機輔助工具的能力(Capability to perform computer science implementations and use computer-aided tools.)
2.2.具有設計資訊系統、元件或製程的能力(Capability to design computer systems, components, or processes.)
2.3.具有科技寫作與簡報的能力。(Capability to write and present technical materials.)
3.1.具有除了已有的應用領域之外,亦可以將自己的專業知識應用於新的領域或跨多重領域,進行研發或創新的能力。(Capability to apply one’s professional knowledge to a new application domain or across multiple different application domains.)
3.2.具有領導或參與一個團隊完成一項專案任務的能力並且具有溝通、協調與團隊合作的能力。(Capability to lead or participate in group projects, with effective communication, coordination, and teamwork.)
3.3.具有因應資訊科技快速變遷之能力,培養自我持續學習之能力。(Capability to adapt to rapidly changing computer science technology and to develop self-learning capabilities.)
4.1.具有社會責任、人文素養及奉獻精神。(The awareness of social responsibilities, humanity, and contribution.)
4.2.具有工程倫理、宏觀能力、國際觀及前瞻視野。(The awareness of engineering ethics, broad capabilities, and global and contemporary vision.)

請尊重智慧財產權,不得非法影印教師指定之教科書籍

教學要點概述:
1. 教材編選(可複選):自編簡報(ppt)教科書作者提供
2. 教學方法(可複選):講述板書講述
3. 評量工具(可複選):上課點名 50.00%, 隨堂測驗0%, 隨堂作業50.00%, 程式實作0%, 實習報告0%,
                       專案報告0%, 期中考0%, 期末考0%, 期末報告0%, 其他0%,
4. 教學資源:課程網站 教材電子檔供下載 實習網站
5. 教學相關配合事項: You need to have your own laptop or desktop computer capable of installing an IDE.

課程目標與教育核心能力相關性        
請勾選:1.11.21.32.12.22.33.13.23.34.14.2
1.1 具有資訊工程相關基礎知識之吸收與了解的能力(Capability to grasp foundational knowledge in computer science.)
為何有關:
The introductory course on programming in C contributes directly to the development of competence in computer science and engineering. By learning C, students acquire
problem-solving skills critical for understanding advanced programming concepts. The focus on loops, functions, pointers, and arrays provides the necessary foundation for
complex computer systems and applications.
達成指標:
Students will develop a solid understanding of fundamental computer science concepts through structured programming in C. They will demonstrate their ability to
comprehend key programming principles, which are essential for further studies in algorithms, data structures, and system programming. By completing assignments
during the class, students will showcase their proficiency in writing efficient, well-structured programs that reflect their grasp of computational logic.
評量工具(可複選):
Assignment
1.2 具有運用資訊工程理論及應用知識,分析與解決相關問題的能力(Capability to use computer science theory and application knowledge to analyze and solve related problems.)
為何有關:
This course in programming with C fosters creativity and problem-solving skills by challenging students to design and develop programs that address various computational
problems. Through completing assignments, students are encouraged to think critically about how to approach real-world problems using the fundamental concepts of C, such
as loops, functions, and pointers. Additionally, the course encourages students to explore independent research in finding efficient solutions or improving the performance of their programs, fostering both technical creativity and analytical thinking.
達成指標:
Students' creativity and problem-solving abilities can be assessed through the
assignments, where they are given the freedom to design and implement a unique
solution to a problem of their choice.
評量工具(可複選):
Assignment
3.3 具有因應資訊科技快速變遷之能力,培養自我持續學習之能力。(Capability to adapt to rapidly changing computer science technology and to develop self-learning capabilities.)
為何有關:
This course helps students recognize the importance of independent and life-long learning by introducing foundational concepts in C programming, which serve as a
stepping stone to mastering more advanced programming languages and technologies. By encouraging students to explore beyond the course material, the course fosters an
attitude of continuous learning and adaptability in the fast-evolving field of computer science.
達成指標:
Students' self-learning capabilities can be assessed through the assignments, which they need to complete during the class or finish after the class by themselves.
評量工具(可複選):
Assignment