課程名稱 |
計算機程式設計 Computer Programming |
開課學期 |
106-2 |
授課對象 |
|
授課教師 |
蘇國棟 |
課號 |
EE4052 |
課程識別碼 |
901 60200 |
班次 |
01 |
學分 |
2.0 |
全/半年 |
半年 |
必/選修 |
|
上課時間 |
星期三7,8,9(14:20~17:20) |
上課地點 |
|
備註 |
上課地點:計中212。A6:量化分析與數學素養 總人數上限:50人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1062EE4052_01 |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
注意: 本課程需投入甚多時間撰寫程式,期末要完成繳交較大的期末計畫, 課業繁重或無法投入太多時間的同學請慎重考慮。
本課程係屬通識課程,以未寫過程式或初學的學生為授課對象,主要在教導學生如何撰寫計算機程式,讓電腦來執行以解決問題或讓生活更便利有趣,所要學習的語言是 Python。 |
課程目標 |
能撰寫 Python 程式語言並順利執行可用電腦完成的任務。
The course is aimed at students with little or no prior programming experience who have desire to understand computational approaches to problem solving. The goal is to provide students with a brief introduction to many topics, so that they will have an idea of what’s possible when the time comes to think about how to use computation to accomplish a goal. After the class, students will learn to apply computational modes of thoughts to frame problems and to guide the process of extracting information from data in a computational manner. The primary knowledge you will take away from this book is the art of computational problem solving.
We braid together four strands of material:
• The basics of programming,
• The Python programming language,
• Concepts central to understanding computation, and
• Computational problem solving techniques.
We cover most of Python’s features, but the emphasis is on what one can do with a programming language, not on the language itself. For example, the first few classes have covered only a small fraction of Python, but it has already introduced the notions of exhaustive enumeration, guess-and-check algorithms, bisection search, and efficient approximation algorithms. We introduce features of Python throughout the lecture. Similarly, we introduce aspects of programming methods throughout the semester. The idea is to help students learn Python and how to be a good programmer in the context of using computation to solve interesting problems. It is my vision of this course to comfort students with computation technologies without sacrificing the speculations to daily life.
|
課程要求 |
具邏輯概念、大一數學能力,能花時間能努力學習
評分:
Homework: 60%
Midterm: 20%
Final: 20% |
預期每週課後學習時數 |
|
Office Hours |
另約時間 備註: Appointment by E-mail |
參考書目 |
http://mitpress.mit.edu/ICPPRE. |
指定閱讀 |
John V. Guttag, “Introduction to Computation and Programming Using Python” |
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
第1週 |
2/28 |
228 National Holiday |
第2週 |
3/07 |
Introduction
|
第3週 |
3/14 |
Data Manipulation
|
第4週 |
3/21 |
Algorithms I
|
第5週 |
3/28 |
Algorithms II
|
第6週 |
4/04 |
Spring Break
|
第7週 |
4/11 |
Numerical Programs
|
第8週 |
4/18 |
For Loops
|
第9週 |
4/25 |
Midterm Exam
|
第10週 |
5/02 |
Function
|
第11週 |
5/09 |
Recursion
|
第12週 |
5/16 |
Testing and Debugging
|
第13週 |
5/23 |
Classes and Object Oriented Programming
|
第14週 |
5/30 |
Case Study I
|
第15週 |
6/06 |
Case Study II |
第16週 |
6/13 |
Case Study III |
第17週 |
6/20 |
Artificial Intelligence & Theory of Computation
|
第18週 |
6/27 |
Final Report due on July 4th |
|