# Programming

Back to Homework page

- References for programming homeworks:
- 深度學習快速入門—使用 TensorFlow，博碩，2017.
- 原文書：G. Zaccone, Getting Started with TensorFlow, Packt, 2016. (PDF)

- Tensorflow tutorials 神经网络教学教程，周莫烦，44 部Youtube影片。網站說明文字。

- 深度學習快速入門—使用 TensorFlow，博碩，2017.
- Create "
for each programming assignment. Write the report page with**single" and "separate" report page***no more than 2000 words*(in Chinese or English),*a lot of pictures*of your operation/programming captured from your computer screen.

- Submit the web address of your report page to Google Classroom.

P1: TensorFlow Basics

- Goal: Understand what TensorFlow is, and install the TensorFlow 1.x.
- Readings:
- "Chapter 1", Getting Started with TensorFlow.
- Tensorflow tutorials 神经网络教学教程，周莫烦，37 部Youtube影片之1-6部。

- Install TensorFlow 1.x on your computer.
- You can install it on
**Linux, Mac OS, or Windows**. - You can choose to install
**CPU or GPU**versions of TensorFlow.

- You can install it on
- There are two things you have to write in this report page
- Installation steps and practice codes (screen capture)
- Bug/difficulty you encounter, and the way you solve it.

P2: TensorFlow Basics II

- Goal: Understand TensorFlow basic syntax, such as session, variable, placeholder.
- Readings: Tensorflow tutorials 神经网络教学教程，周莫烦，Youtube影片之7-12部。
- Report page: There are three things you have to write in this report page
- Execute all the sample codes in the 6 tutorial videos. Show and explain those sample codes.
- Bug/difficulty you encounter, and the way you solve it.
- Refer
for your learning of tensorflow in this homework. The book/youtube videos provided by the teacher can not be referred in your homework.**at least 5 web pages/books/materials**

P3: Doing Math with TensorFlow

- Goal: tensor data structure, fractals, gradients, and random number generation.
- Readings
- "Chapter 2 Doing Math with TensorFlow", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
**第二章 用TensorFlow求解數學問題**」，深度學習快速入門─使用TensorFlow，G. Zaccone著/傅運文譯，博碩文化，2017。

- "Chapter 2 Doing Math with TensorFlow", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
- Report page: There are three things you have to write in this report page
- Execute all the sample codes in the chapter. Show and explain those sample codes. Some extension and/or modification of the sample codes are welcome.
- Bug/difficulty you encounter, and the way you solve it.
- Refer
for your learning of tensorflow in this homework. The book/youtube videos provided by the teacher can not be referred in your homework.**at least 5 web pages/books/materials**

P4: Starting with Machine Learning

- Goal: Implementation of linear regression, classifier(kNN for MNIST), and k-means clustering.
- Readings
- "Chapter 3 Starting with Machine Learning", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
**第三章 機器學習簡介與應用**」，深度學習快速入門─使用TensorFlow，G. Zaccone著/傅運文譯，博碩文化，2017。 - TensorFlow Getting Started: Getting Started With TensorFlow, MNIST For ML Beginners.

- "Chapter 3 Starting with Machine Learning", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
- Report page: There are three things you have to write in this report page
- Execute all the sample codes in the chapter. Show and explain those sample codes. Some extension and/or modification of the sample codes are welcome.
- Bug/difficulty you encounter, and the way you solve it.
- Refer
for your learning of tensorflow in this homework. The book/youtube videos provided by the teacher can not be referred in your homework.**at least 5 web pages/books/materials**

- Option: TensorFlow SVM implementation for MNIST
- Apply both Linear SVM and Kernel SVM for MNIST.
- Please find SVM sample codes from: TensorFlow Course and Tutorial codes, GitHub. You can also find TensorFlow SVM code by yourself. However, you have to provide the references of your referred codes.

P5: Introducing Neural Networks

- Goal: Implementation of perceptron, logistic regression, MLP, and function approximation.
- Readings
- "Chapter 4 Introducing Neural Networks", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
**第四章 類神經網路簡介**」，深度學習快速入門─使用TensorFlow，G. Zaccone著/傅運文譯，博碩文化，2017。 - Tensorflow tutorials 神经网络教学教程，周莫烦，Youtube影片之13-22部。
- ConvnetJS: demo of toy 2d classification with 2-layer neural network
- TensorFlow Playground

- "Chapter 4 Introducing Neural Networks", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
- Report page: There are three things you have to write in this report page
- Execute all the sample codes in the chapter. Show and explain those sample codes. Some extension and/or modification of the sample codes are welcome.
- Bug/difficulty you encounter, and the way you solve it.
- Refer
for your learning of tensorflow in this homework. The book/youtube videos provided by the teacher can not be referred in your homework.**at least 5 web pages/books/materials**

P6: Deep Learning

- Goal: Implementation of CNN and RNN.
- Readings
- "Chapter 5 Deep Learning", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
**第五章 深度學習**」，深度學習快速入門─使用TensorFlow，G. Zaccone著/傅運文譯，博碩文化，2017。 - Quick complete Tensorflow tutorial to understand and run Alexnet, VGG, Inceptionv3, Resnet and squeezeNet networks, cv-tricks.com.
- Playground of CNN: ConvnetJS, MNIST demo

- "Chapter 5 Deep Learning", Getting Started with TensorFlow, G. Zaccone, Packt, 2016. 中文譯本：「
- Report page: There are three things you have to write in this report page
- Bug/difficulty you encounter, and the way you solve it.
- Refer
for your learning of tensorflow in this homework. The book/youtube videos provided by the teacher can not be referred in your homework.**at least 5 web pages/books/materials**