課程名稱 |
計算機程式 Computer Programming Language |
開課學期 |
111-1 |
授課對象 |
機械工程學系 |
授課教師 |
林以凡 |
課號 |
ME2009 |
課程識別碼 |
502E10100 |
班次 |
02 |
學分 |
2.0 |
全/半年 |
半年 |
必/選修 |
必修 |
上課時間 |
星期五3,4,5(10:20~13:10) |
上課地點 |
機械系計中 |
備註 |
本課程以英語授課。 總人數上限:55人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
This is an introductory course to computer programming in Python. Introduction to programming basics (what it is and how it works), binary computation, problem-solving methods and algorithm development. Includes procedural and data abstractions, program design, debugging, testing, and documentation. Covers data types, control structures, functions, parameter passing, library functions, arrays, inheritance and object oriented design. Laboratory exercises in Python. |
課程目標 |
The objective of this course is that by the end of the semester, you will have
• understood why Python is a useful scripting language for developers;
• learned how to design and program Python applications;
• learned how to use lists, tuples, and dictionaries in Python programs;
• learned how to identify Python object types;
• learned how to use indexing and slicing to access data in Python programs;
• defined the structure and components of a Python program;
• learned how to write loops and decision statements in Python;
• learned how to write functions and pass arguments in Python;
• learned how to build and package Python modules for reusability;
• learned how to read and write files in Python;
• learned how to design object-oriented programs with Python classes;
• learned how to use class inheritance in Python for reusability;
• learned how to use exception handling in Python applications for error handling. |
課程要求 |
|
預期每週課後學習時數 |
|
Office Hours |
另約時間 |
指定閱讀 |
|
參考書目 |
|
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
Homework |
20% |
Three questions(basic, intermediate, and hard) are in each homework assignment. You must submit your homework through NTU COOL by every Thursday (11:59 pm). 50% off for the late submission in the following week. 0 points for two weeks later. |
2. |
Lab |
20% |
Laboratory will be based upon the lecture notes. Lab is an opportunity for students to practice skills, apply knowledge, review and build on past learning, and extend learning. Also lab is individualized and based on each student's progress towards established standards. The purpose of the assignment will determine whether or not a grade is given and will be clearly articulated to students. Through independent learning tasks, students assume more responsibility for their learning and are given opportunities to apply what they have learned to new situations or experiences. You will submit your report through NTU COOL by end of each lab session. 20% off for the late submission on the same day (till 11:59pm). 0 points from the next day. |
3. |
Quiz |
10% |
(5% each). The quizzes are scheduled on
– Quiz I: October 07 in class.
– Quiz II: November 25 in class.
The quiz will be a 10-15 minutes long in the beginning of the class. You will answer some short
questions or complete part of the codes on NTU COOL. |
4. |
Midterm |
20% |
The mid terms are scheduled on
– Mid-term: October 28 in class.
The mid-term will be a two-hour exam, closed-book, and closed-notes. The first part of the exam is written based (40 minutes). The second part of the exam is computer based (80 minutes). No electronics, including calculators, cell phones, or smart watches are allowed. Mid-terms will be used to access demonstration of the learning objectives and may include the combinations of true & false, multiple choices, and work-out problems. |
5. |
Final |
20% |
The date of the final exam will be on December 23. The final is closed-book, closed- notes. No electronics, including calculators, cell phones, or smart watches are allowed. The final is cumulative and may include the combinations of true & false, multiple choice and work-out problems.
|
6. |
Class Participation |
10% |
Attend the class and have discussions with your classmates/group for some class exercises. Demonstrate your code and explain your thought process in class. Also be active in class by asking questions, solving the class exercises on the blackboard. |
|
週次 |
日期 |
單元主題 |
第1週 |
09/09 |
No Class |
第2週 |
09/16 |
Input, Variables, Calculations, Operators, Data Outputs |
第3週 |
09/23 |
Decision Structures and Boolean Logic |
第4週 |
09/30 |
Repetition Structures |
第5週 |
10/07 |
Functions |
第6週 |
10/14 |
Functions and Modules |
第7週 |
10/21 |
Files |
第8週 |
10/28 |
Midterm |
第9週 |
11/04 |
Recursion and Exceptions |
第10週 |
11/11 |
Lists and Tuples |
第11週 |
11/18 |
Strings |
第12週 |
11/25 |
Dictionaries and Sets |
第13週 |
12/02 |
No Class |
第14週 |
12/09 |
Numpy and Matplotlib |
第15週 |
12/16 |
Class, Inheritance, Polymorphism |
第16週 |
12/23 |
Final Exam |
|