課程資訊
課程名稱
計算機程式
Computer Programming Language 
開課學期
113-2 
授課對象
機械工程學系  
授課教師
林以凡 
課號
ME2009 
課程識別碼
502E10100 
班次
03 
學分
2.0 
全/半年
半年 
必/選修
必修 
上課時間
星期四3,4,5(10:20~13:10) 
上課地點
機械系計中 
備註
本課程以英語授課。第一堂課需分組做Lab,故第一次上課未到者視同放棄。
總人數上限: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. 

課程目標
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;
‧ expressed how to design and program Python applications;
‧ identified how to use lists, tuples, and dictionaries in Python programs;
‧ described how to identify Python object types;
‧ demonstrated how to use indexing and slicing to access data in Python programs;
‧ defined the structure and components of a Python program;
‧ employed how to write loops and decision statements in Python;
‧ explained how to write functions and pass arguments in Python;
‧ illustrated how to build and package Python modules for reusability;
‧ learned how to read and write files in Python;
‧ elaborated how to design object-oriented programs with Python classes;
‧ performed how to use class inheritance in Python for reusability;
‧ formulated how to use exception handling in Python applications for error handling. 
課程要求
 
預期每週課前或/與課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Homework 
10% 
Two questions (Easy and Hard) are in each homework assignment. You must submit your homework within TWO weeks through NTU COOL. Make sure you beat the clock! The deadline is on Wednesdays before midnight (11:59 pm). 50% off for the late submission in WEEK THREE. 0 points for WEEK FOUR and on. *If you copy other people’s work, you will get 0 points. However, collaboration is encouraged. You need to have your own comments in the code. 
2. 
Team Lab Presentation 
30% 
Lab Presentation is an opportunity for students to practice skills, apply knowledge, review and build on past learning, and extend learning. Form a team with AT MOST 4 members with different role tasks. Starting from WEEK 5, two teams give their topic review (each team for 30 minutes in the lab session).During the presentation, each team should first review the topic by giving the examples, indicating some common mistakes, etc. Then, design some practical and easy questions for other students to practice.Throughout the semester, each team will give TWO presentations. Details for the Team Lab Presentation will be mentioned in another document. 5% will be the peer evaluation, and another 5% will be the other team evaluation. 
3. 
Quiz 
10% 
The quizzes are scheduled on – Quiz I: March 13 in class. – Quiz II: April 17 in class. – Quiz III: May 15 in class. The quiz will be 20-30 minutes long at the beginning of the class. You will answer some short questions or complete part of the codes on NTU COOL. 
4. 
Midterms 
20% 
(10% each). The mid terms are scheduled on – Mid-term I: March 27 in class. – Mid-term II: May 22 in class. The mid-term will be a two-hour computer based exam, closed-book, and closed-notes. No electronics, including calculators, cell phones, smart watches, or AI are allowed. Mid-terms will be used to assess demonstration of the learning objectives. 
5. 
Final Team Project 
30% 
With the same team members, choose a topic that reflects your interests and what you have learned. You will submit your work and give a 15 minute team presentation on either May 29 or June 05 in the final week. For details, check Final Project Guidelines and Rubrics. 
  1. 本校尚無訂定 A+ 比例上限。
  2. 本校採用等第制評定成績,學生成績評量辦法中的百分制分數區間與單科成績對照表僅供參考,授課教師可依等第定義調整分數區間。詳見學習評量專區 (連結)。
 
課程進度
週次
日期
單元主題
第1週
2/20  Input, Variables, Calculations, Operators, Data Outputs 
第2週
2/27  Decision Structures and Boolean Logic 
第3週
3/06  Repetition Structures 
第4週
3/13  Functions 
第5週
3/20  Functions and Modules 
第6週
3/27  Mid-term I 
第7週
4/03  National Holiday Day (NO CLASS) 
第8週
4/10  Files 
第9週
4/17  Recursion and Exceptions 
第10週
4/24  Lists and Tuples 
第11週
5/01  Strings 
第12週
5/08  Dictionaries and Sets 
第13週
5/15  Numpy and Matplotlib 
第14週
5/22  Mid-term II 
第15週
5/29  Final Presentation 
第16週
6/05  Final Presentation