Week of August 23 to August 31, 2014

Coursera:
1) Programming Cloud Services for Android Handheld Systems: Submitted Quiz 6 and Assignment 2 in the past Sunday. The new assignment looked challenging at first after reading the README file and going through the source codes. Fortunately, code examples provided oAuth2 package that could directly use in the Gradle project. Furthermore, no effort to write CRUD methods to retrieve records from database because Spring Framework’s CRUDRespository class generates them automatically. My solution was create a Spring Controller to expose methods to receive HTTP requests from users. Then, the requests were delegated to CRUDRespository subclass to retrieve data and return it to users. Very simple!!!!

Programming:

2) Start my third AngularJS project that adds photo albums to store pictures taken in Open source Workshops and local meetup groups. This time, the project is bootstrap by Yeoman and Gulp because Matthew told me Gulp is better build system than Grunt. After using angular-gulp-generator to generate the skeleton project, I have to agree with his assessment.

Week of May 19 to May 31, 2014

Coursera:
1) Getting and Cleaning Data: Submitted Quiz 3 (15/15), Quiz 4 (15/15) and final course project.
2) Exploratory Data Analysis: Submitted Quiz 2 and Course Project 2.
3) Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems: Completed Quiz 1 to 3 and assignment 1 to 4. Unfortunately, wrong version of assignment 1 was submitted for peer-grading; therefore, I don’t expect to get good mark on it. Video lectures of week 4 are downloaded and will watch down when taking shuttle bus from Mei Foo to Hong Kong Science Park.

Programming:

4) Developing my first AngularJS project. Struggling to make multi-selection checkboxes working in my pet project. TODO item: make translation work at real time. When a button is clicked, labels change to either English or Traditional Chinese depending on user selection.

Week of February 4 to February 9, 2014

Coursera:
1) Playful, Creative App: Assignment 3 submitted this morning (Feb 9, 2014). It used quite a lot of concepts covered in wee 6 and 7: ScrollView, LinearLayout, Animation, EditText, TextWatcher, SharedPreference and, save bitmap to public directory and share to friends.
2) Playful, Creative App: I did not realize it is an 8-week until instructor posted week 8 videos and quiz in coursera web page. Sigh!!! One last quiz and peer grading and I can say farewell to this course.
3) Programming Mobile Applications for Android Handheld Systems:  Week 3 covers Intent and Intent-Filter, Permission and Fragment.  Fragment videos are not watched yet and three labs are waiting for me to complete. The due date is Monday February 17, and I still have a little more than a week to tackle them.  Optimistic is the word I would use to describe the current situation.

Programming:
4) Working on Heritage on the Go/隨時隨地遊古蹟 Android Application.
a) Fix bug in Google Map.
b) Add “Show All” button to show markers of all monuments in Google Map
c) Use SharedPreference to record last clicked marker in Google Map
d) Implement listener to respond to click event of InfoWindow and display Place fragment
e) Show English website and image if language of the device is English. Otherwise, Chinese website and image are displayed.
f) (Optional) Generate 2-d QR barcode and show the bitmap in imageview. When other device scans the barcode, useful info is shown, for example, web page url and app’s url.

Week of September 9 to 15, 2013

Coursera:

1) Linear and Integer Programming: Watched week 2 video lectures (Simplex Method).
2) Metadata: Organizing and Discovering Information: Watched week 2 video lectures (Dublin Core).
3) Introduction to Recommender System: Submitted Written Assignment 1
4) Linear and Integer Programming: Submitted Pivoting Assignment #1. Still need to do Program the Pivot: part 1 and part 2 (Will use Scala to complete the assignment because I need to brush up the language before Reactive Programming course commences in November).
5) Metadata: Organizing and Discovering Information: Submitted Homework 2 and earned 15/15 in third attempt (Thanks to the hints from TA and fellow classmates).
6) Introduction to Recommender System: Begin to watch week 2 video lectures.

MongoDB University:

7) M102: MongoDB for DBA – Downloaded Certification of Completion and joined LinkedIn M102 Alumni Group.
8) M101JS: MongoDB for Node JS Developers – Completed Homework 5 (Aggregation).
9) M101J: MongoDB for Java Developers – Completed Final Exam tonight (2013-09-12). Questions will be graded on September 24, 2013 and I aim at 9/10. I am confident of my answers except question 5. I got it wrong in M101P exam and did not bother to watch the answer video. The same question appears again and I have no idea which options to choose.

All MongoDB university courses are great and I hope many people feel the same way I do.

Programming:

10) Continue to work on my simple Android Application.
— Create an activity to load Fevawork course pages in WebView. The WebView shows progress status during page loading and built-in zoom tool to enable user to resize page. Moreover, the activity listens to backspace and triggers WebView to return to previous page if previous page exists.
— TODO: Load course records from sqlite database and implement operations to add, delete update courses.

Week of September 2 to 8, 2013

Coursera:

1) Dropped Microeconomics Principles due to heavy schedule.
2) Linear and Integer Programming, Metadata: Organizing and Discovering Information and Introduction to Recommender Systems start this week. Video lectures are published in course websites but I haven’t had time to watch them yet.
3) Linear and Integer Programming Course: Completed Assignment 1 and Assignment 2 tonight (2013-09-04)
4) MetaData: Completed Homework 1 and scored 15/15 on my third attempt. (2013-09-05)
5) Recommender System: Watched videos of module 1

MongoDB University:

6) M102 Final Exam is graded and final mark is calculated. My final exam mark is 11 out of 12 and final course grade is 96%, good for distinction. Now, I patiently wait for course survey and invitation to LinkedIn M102 Alumi Group.
7) Completed M101J Homework 6 (Application Engineering). They give us Homework 6 of M101P and even the validation script is Python.
8) Completed M101JS Homework 4 (Performance). HW4 of M101P is reused in this course and I am a little disappointed because I expect different questions from the instructor and tutor.

Programming:

9) Continue to work on my simple Android Application.
– Add 3 tabs and each tab is consisted of a list view and list view item is customized to display image view and text view.
– Add intent to call my mobile phone
– Add intent to send email to my Gmail account.

Week of August 25 to 31, 2013

Coursera:

1) All summer courses ended. Completed two courses and dropped three.
2) Signed up for Principles of Reactive Programming, Programming Handheld Systems with Android and Microeconomics Principles.

MongoDB University:

3) 10gen Education renamed to MongoDB University.
4) Completed M102 Final Exam. It is consisted of eleven questions and took me two days to complete. Exam result will be released on next Tuesday.
5) Completed M101J Homework 5 (Aggregation Framework). It is same as Homework 5 of M101P.
6) Completed M101JS Homework 3 (Implement add new post and new comment functionality). The asynchronous callback concept is unnatural to me to grasp right now. Give me several weeks and I should be comfortable of passing callback function to nodeJS function.

Udacity

7) Begin Lesson 2 of CS253 Web Development. This week covers HTML controls, Http Request and Response that I have already learnt since 2006. However, Steve still teaches many new things that I did not know beforehand. My objective this weekend is to use Python and Webapp2 framework to write html pages and have them run in local google app engine.

Fevawork:

8) Retake lesson 4 of Certificate in Google Android Application Development for Marketing Managers. Able to invoke Google Map API to show my home in Google Map in Marketing Jar.

Programming:

9) Successfully write an Android Application to display Google Map. It should not be difficult given my Java background. Localize the application to English, Traditional Chinese and Simplified Chinese.