Type of Credit: Elective
Credit(s)
Number of Students
本課程是以 Python 語言為主介紹程式設計的基礎知識,主旨在於培養學生對計算機運算與程式設計之基本瞭解。
能力項目說明
Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This course offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.
週次Week | 課程主題Course Theme | 課程內容與指定閱讀Content and Reading Assignment | 教學活動與作業Activity and Homework | 學習投入時數Estimated time devoted to coursework per week | |
---|---|---|---|---|---|
課堂講授Lecture Hours | 課程前後Preparation Time | ||||
1 |
Course Introduction
|
Slides
|
Assignments
|
3.0 |
4.5 |
2 |
Developement Environment
|
Slides
|
Assignments
|
3.0 |
4.5 |
3 |
Basics of Python
|
Slides
|
Assignments
|
3.0 |
4.5 |
4 |
Iterations
|
Slides
|
Assignments
|
3.0 |
4.5 |
5 |
Simple Numerical Programs
|
Slides
|
Assignments
|
3.0 |
4.5 |
6 |
Functions, Scoping, and Abstraction
|
Slides
|
Assignments
|
3.0 |
4.5 |
7 |
Recursion, Global Variables, Modules, Files (I)
|
Slides
|
Assignments
|
3.0 |
4.5 |
8 |
Recursion, Global Variables, Modules, Files (II)
|
Slides
|
Assignments
|
3.0 |
4.5 |
9 |
Midterm Exam
|
none
|
none
|
3.0 |
4.5 |
10 |
Structured Types: Lists, Tuples, Dictionaries (I)
|
Slides
|
Assignments
|
3.0 |
4.5 |
11 |
Structured Types: Lists, Tuples, Dictionaries (II)
|
Slides
|
Assignments
|
3.0 |
4.5 |
12 |
Multi-Dimensional Lists, Arrays, Multi-Dimensional Arrays
|
Slides
|
Assignments
|
3.0 |
4.5 |
13 |
Classes and Objects (I)
|
Slides
|
Assignments
|
3.0 |
4.5 |
14 |
Classes and Objects (II)
|
Slides
|
Assignments
|
3.0 |
4.5 |
15 |
Time Complexity
|
Slides
|
Assignments
|
3.0 |
4.5 |
16 |
Searching & Sorting
|
Slides
|
Assignments
|
3.0 |
4.5 |
17 |
Plotting
|
Slides
|
Assignments
|
3.0 |
4.5 |
18 |
Final Exams
|
none
|
none
|
3.0 |
4.5 |
課程要求:學生得自行撰寫每次程式作業以及實習課練習。
Midterm: 30%
Final Exam: 35%
Assignments: 35%
Bonus (participation): < 5%
Introduction to Computation and Programming Using Python With Application to Understanding Data (Second Edition)
By John V. Guttag
ISBN: 9780262529624
https://mitpress.mit.edu/books/introduction-computation-and-programming-using-python-second-edition