計算機程式
課程介紹
計算機程式
114-2 Required course (2 credits). Introductory computer programming in Python — procedural and object-oriented design, debugging, and algorithm development.
✦ Course Information
| Course title | 計算機程式 |
|---|---|
| Semester | 114-2 |
| Designated for | 機械工程學系 / 智慧工程科技全英語學士學位學程 |
| Curriculum Number | ME2009 |
| Curriculum Identity Number | 50210100 |
| Class | 03 |
| Credits | 2 |
| Required / Elective | 必修 (Required) |
| Language | 英文授課 (English-taught) |
| Remarks | 機械系:本課程以英語授課。第一堂課需分組做 Lab,故第一次上課未到者視同放棄。上課地點:機械系館 208 教室。 全英工學士:本課程以英語授課。第一堂課需分組做 Lab,故第一次上課未到者視同放棄。 |
Please respect the intellectual property rights of others and do not copy any of the course information without permission.
Class Section
| Class | Instructor | Time | Location |
|---|---|---|---|
| 03 | 林以凡 | Thursday 3, 4, 5 | 機械系計中 2 類 / 機械系館 208 教室 |
Course Description
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.
Course Objective
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.
Course Requirement
- Student Workload (Expected weekly study hours before and/or after class): —
- Office Hour: —
References
Designated reading
Tony Gaddis, Starting Out with Python, Pearson, 4th Ed, Global Edition, ISBN: 9781292225753, 2019.
References
Python Tutorial https://docs.python.org/3.7/tutorial/
Grading
Homework — 15%
Use AI to do the homework! For each topic, ask AI to give you four types of related questions: a basic question (with code limited to 10 lines), a fill-in-the-blank question, a debugging question, and a worked-out problem. Submit your results with your own comments in the code and the AI usage history. You must submit your homework within ONE week 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 TWO. 0 points for WEEK THREE and so on. *If you copy other people's work, you will get 0 points.
Team Lab Presentation — 20%
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, one team gives their reviews on the chosen topic for 40 minutes in the lab session. During the presentation, each team should first review the topic by giving examples, indicating some common mistakes, etc. Then, design some practical, easy questions that other students can practice for up to five minutes. Be creative. Use games or something fun like Kahoot! The same topic can only be chosen twice. 5% will be the peer evaluation, and another 5% will be the other team evaluation.
Quiz — 15% (5% each)
- Quiz I: March 19 in class.
- Quiz II: April 23 in class.
- Quiz III: May 21 in class.
The quiz will be 30 minutes long at the beginning of the class. You will answer some short questions or complete part of the codes on NTU COOL.
Midterms — 30% (15% each)
- Midterm I: April 02 in class.
- Midterm II: May 28 in class.
The midterm will be a two-hour computer-based exam, closed-book, and closed-note. No electronics, including calculators, cell phones, or smart watches are allowed. Midterms will be used to assess the demonstration of the learning objectives.
Final Team Project — 20%
With the same team members, choose a topic that reflects your interests and what you have learned. A project gallery appreciation with a five-minute presentation will be on June 11.
Class Participation — 0%
Attend the class and discuss with your classmates for some class exercises. Demonstrate your code and explain your thought process in class. Also, be active in class by asking questions and solving the class exercises on the blackboard.
Grading Policy
本校尚無訂定 A+ 比例上限。
Letter Grade System
本校採用等第制評定成績,學生成績評量辦法中的百分制分數區間與單科成績對照表僅供參考,授課教師可依等第定義調整分數區間。詳見學習評量專區。
Progress
| Week | Date | Topic |
|---|---|---|
| Week 1 | 02/26 | Input, Variables, Calculations, Operators, Data Outputs |
| Week 2 | 03/05 | Decision Structures and Boolean Logic |
| Week 3 | 03/12 | Repetition Structures |
| Week 4 | 03/19 | Functions |
| Week 5 | 03/26 | Functions and Modules |
| Week 6 | 04/02 | Midterm I |
| Week 7 | 04/09 | Files |
| Week 8 | 04/16 | Recursion and Exceptions |
| Week 9 | 04/23 | Lists and Tuples |
| Week 10 | 04/30 | Strings |
| Week 11 | 05/07 | Dictionaries and Sets |
| Week 12 | 05/14 | Numpy and Matplotlib |
| Week 13 | 05/21 | Class |
| Week 14 | 05/28 | Midterm II |
| Week 15 | 06/04 | Fun Topics |
| Week 16 | 06/11 | Final Project Gallery Appreciation |