Course Review – Programming Mobile Applications for Android Handheld Systems: Part 1 (Adam Porter, UMD)

Here is my review of Mar-May 2015 incarnation on Coursera of Programming Mobile Applications for Android Handheld Systems: Part 1, which is the first course in
Mobile Cloud Computing with Android Specialization. It is ranked 4 out of 5 (good), while I passed with 100% grade.

Technologies: smartphones are taking over the world and most of them run Android. This course teaches Android UI + some backend + some inner workings of the operating system. Programming assignments involve completing Java code, which strongly enforces the learnt concepts. Students are asked to build a fully functional app from scratch for a final project, which brings them up to speed with creating own apps. Course apps are implemented in Eclipse.

Material: The course is aimed at beginners and includes structure of Android platform, main services, structure and inner working of Android applications. The topics include activities, fragments, intents, permissions, and UI classes. Lectures are very applied, mostly consisting of in-depth discussions of working apps and their source code.

Instructor/lectures: Adam Porter is a professor at UMD with decades of experience teaching CS. He is very enthusiastic about the subject, has great articulation and gesticulation. His lectures are extremely clear and precise. However, a huge number of in-lecture quizzes is often counterproductive for learning.

Course Review – Algorithms, Part I (Robert Sedgewick, Princeton)

Here is my review of Algorithms, Part I course offered on Coursera in Jan-Mar 2015.
Course has ranking of 4.4 out of 5 (very good), programming assignments are hard, but I managed to get 100% on them.

Technologies: basic algorithms and data structures, which every serious programmer must know + homework helps master coding in core Java.

Material: union-find, sorting, stacks and queues, symbol tables, priority queues, binary search trees, and KD trees. The course largely follows “Algorithms” book.

Instructor/lectures: Robert Sedgewick is recognized for his seminal contributions to CS and is probably the most famous author of books on algorithms after his PhD advisor Donald Knuth.

Course Review – Text Retrieval and Search Engines (ChengXiang Zhai, UIUC)

Here is my review of Mar-Apr 2015 Coursera incarnation of Text Retrieval and Search Engines, which is the second course in Data Mining specialization. It has mixed rankings, while I passed with 97.5% grade.

Technologies: Search is a critical area of modern software giants like Google, Microsoft, Yahoo, Yandex, Baidu etc. The course discusses various aspects of natural language processing (NLP) and search. It touches on PageRank, Google file system (GFS), and MapReduce processing for big text data. Homework assignments introduce MeTa toolkit + some homework is done in C++.

Material: The basic ideas of efficient information indexing, storage, retrieval and ranking are presented with the emphasize on applications. Course discusses vector space and probabilistic text retrieval models based on a bag of words concept. Advanced topics include ranking based on links, user feedback, and big text data. Homework includes programming competition for the best ranking algorithm implemented by a student within MeTa.

Instructor/lectures: ChengXiang Zhai is a prominent researcher in Information Retrieval and Natural Language Processing. He worked in the industry as a Research Scientist. Lectures are well structured thanks to the central slide presenting the course topics.