HK PolyU Msc of Computing – IT Semester 2

Poly U Msc of Computing – IT 2014-2015 Semester 2 completed on 2015-05-08
Results released on 2015-05-18

1) COMP5527 – Mobile Data Management: A

  1. Midterm – 72/100
  2. Individual Study Report – Mobile Crowsourcing (No grade)
  3. Group Project – Simple Course Enrollment System – 30/30
    1. Written in Android and Spring Boot
    2. Functions:
      1. Authentication
      2. Create new user account
      3. Create, Delete, Edit and View online and offline posts
      4. Create, Delete, Edit and View online and offline comments
      5. Edit and View user profile in online or offline mode
      6. Search other users by name in online or offline mode
      7. View posts created by other users
    3. Open source libraries used:
      1.  Client-side
        1. Butterknife for Android UI dependency injection
        2. Retrofit
        3. OkHttp
        4. SugarORM
        5. Roboletric for Android Unit Testing
      2. Server-side
        1. Spring DBUnit for DBUnit Testing
        2. Sprint Boot
        3. Embedded Tomcat 8 to host Spring Boot application

2) COMP5323 – Web Database:

  1. Assignment 1 – 104/100
  2. Midterm – 29/50 (Already the highest mark)
  3. Group Project – Study paper “Cloud Service Placement”
    1. Solve dynamic subgraph matching problem using Gradin framework
    2. PowerPoint Presentation
    3. Group report summarizes the paper, its weakness and potential improvements, and answer 5 questions.

HK PolyU Msc of Computing – IT Semester 1

Poly U Msc of Computing – IT 2014-2015 Semester 1 completed on 2014-12-20

1) COMP5111 – Database Management:

  1. Midterm – 14.5/15
  2. Individual Study Report – JSON and XML Support in relational database – 9/10
  3. Group Project – Simple Course Enrollment System – 30/30
    1. Written in PHP, JQuery and Bootstrap backed by MySQL 5.5
    2. Functions:
      1. Authentication
      2. Change student password
      3. Show Academic history of logged in student
      4. Course Enrollment
      5. Drop Course

2) COMP5122 – E-Commerce fundamental and development:

  1. Assignment 2 – B+
  2. Assignment 2 – B+
  3. Project – E-Commerce website that sells luxury goods imported from Japan – B
    1. Spring MVC, Spring Security, Spring JDBC, JSP, JSTL, JQuery, Bootstrap 3 backed by MySQL 5.5
    2. Functions:
      1. Customer Login
      2. Register customer
      3. Shopping Cart
      4. Checkout Shopping Cart
      5. Search Products
      6. Browse Products
      7. Order Tracking
      8. View Customer Profile
      9. Edit Customer Profile

Week of September 29 to October 5, 2014

Coursera:
1) Programming Cloud Services for Android Handheld Systems: Verified Certificated issued with final grade 99.5. Verified Certificate
2) Usable Security: Watched week 3 video lectures and submitted Week 3 quiz.
3) Mining Massive Datasets: Enrolled into the course late. I have downloaded week 1 and 2 videos but too busy with Poly U homework projects to begin watching them.

Poly U
4) COMP5111 – Database Management:

  1. Set up structure of PHP project
  2. Implement student login and logout functionality
  3. Implement change password function to fulfill update requirement
  4. Add skeleton PHP code to return dummy student history and render the results student page using JQuery Ajax call

5) COMP5122 – E-Commerce fundamental and development:

  1. Use Maven 3 to create a Spring MVC project
  2. Deploy the project to tomcat 6 server in Poly U and it can run successfully

Programming:

6) Order Mama Demo in collaboration with Roger Tang

  1. Can retrieve Facebook posts and show them in endless list adapter
  2. Can display number of likes and comment count for a specific post
  3. Can retrieve Facebook comments and show them in endless list adapter

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 August 11 to August 22, 2014

Coursera:
1) Reproducible Research: Enroll Signature Track to earn my third Verified Certificate in Data Science Specialization.
2) Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems: Earn my second Verified Certificate in Mobile Cloud Computing with Android Specialization.
3) Advanced Competitive Strategy: Completed all 7 quizzes and open book final examination.
4) Programming Cloud Services for Android Handheld Systems: Submitted 5 quizzes and assignment 1. Assignment 2 was released but I cannot start until I watch all the videos of week 6. This course uses Spring framework to implement cloud services and instructor has covered Spring controller, Spring repository, Spring security, Spring data and Spring Rest.

Programming:

5) Deploy my second AngularJS size project to http://quiet-chamber-1998:herokuapp.com.
Features include:

  1. Show custom markers of pick-up locations on Google Map.
  2. Call Google Map Direction Service to render route.
  3. Allow user to input unlimited addresses to draw route to Hong Kong Science Park
  4. Define simple Restful API in NodeJS + Express Router
  5. Use Yeoman and Grunt to bootstrap AngularJS project.

Week of June 23 to June 29, 2014

Coursera:
1) Exploratory Data Analysis: Enrol Signature Track to earn my second Verified Certificate in Data Science Specialization.
2) Reproducible Research: Unfortunately I have to drop the course because of time constraint. I will definitely retake it in July iteration.
3) Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems: Completed Quiz 4 to 7 and Assignment 5 to 7. Assignment 1 to 5 were graded and awarded 100% in all of them. Next week’s plan is to watch Video lectures of week 8 and complete both quiz and assignment.
4) Advanced Competitive Strategy: Week 1 started this week and I have already finished watching all videos.

Programming:

5) Continue to work on my first AngularJS project. The last outstanding item is to call FourSquare API to retrieve photo of the place and display it in the page
6) Follow tutorial to create a simple AngularJS + Firebase application. The link to the tutorial is Angular JS + Firebase tutorial.
6) Plan to use AngularJS + Firebase to plot OOCL shuttle bus routes on Google Map.
1) Show markers of various pick-up location.
2) Show travelling time to Science Park
3) Let user input address and locate the first three nearest pick-up locations
4) Store data in FireBase (Hopefully, I don’t get fired for disclosing company information)

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 May 5, 2014 to May 11, 2014

Coursera:
1) R Programming: Statement of Accomplishment with Distinction issued on May 9, 2014.
2) Getting and Cleaning Data: Watched week 1 and 2 video lectures. Submitted Quiz 1 (12/15) and Quiz 2 (15/15).
3) Exploratory Data Analysis: Watched week 1 video lectures. Submitted Quiz 1 (15/15) and Course Project 1.

Programming:

4) Developing my first AngularJS project. Using AngularJS, AngularJS UI and Bootstrap to display accessible facilities in Hong Kong.  http://localhost:8000/app/index.html

Week of February 24 to March 2, 2014

Coursera:
1) Playful, Creative App: Statement of Accomplishment issued on March 1, 2014.
2) Programming Mobile Applications for Android Handheld Systems:  Finished Week 5 lab on March 1 and submitted for autograding. Watched week 6 videos on graphics and animation, touch gesture and multimedia devices.  Week 6 quiz was done today and earned full mark in second try. Week 6 lab will be done sometime this week, so I do not fall behind schedule.

FutureLearn:
3) Beginning Android Game Programming: Setup development environment and able to run the game in emulator and tablet. Not a single line of code is written in week 1.

Programming:
4) Published Heritage on the Go/隨時隨地遊古蹟 Android Application to Google Play Store on February 27 and submitted it to HK Data One App Competition.
5) Use third-party library to implement preference fragment in Android Application that supports sdk level 8. https://github.com/kolavar/android-support-v4-preferencefragment
6) Found a cool android library to draw a route between two locations in Google Map. https://github.com/jd-alexander/Google-Directions-Android
6) Install Scrapy, VirtualEnv, VirtualEnvWrapper and IonicFramework in my ubuntu box.

Week of February 10 to February 16

Coursera:
1) Playful, Creative App: Watched week 8 videos and completed quiz #8.
2) Programming Mobile Applications for Android Handheld Systems:  Week 4 covered UI controls and custom adapter of ListView. The ToDo Manager assignment looked quite easy on paper but i could not get it to pass the autograder. Turned out I called setcheck method unnecessarily and produced extra log statement in output file. In future assignments, i should pay attention to logic and write right code.

Programming:
3) Working on Heritage on the Go/隨時隨地遊古蹟 Android Application.
a) Add function to save monuments to “My Favorites”
b) Add “My Favorites” navigation drawer item
c) Refactor code to centralize data in state object and have better organization of packages
d) Fix bug. Place fragment crashed after email was sent via Intent. Need to generate QR code bitmap and assign it to imageview in onResume method