1. A method for providing recommended learning activities, the method comprising: receiving electronic documents for each course of a plurality of courses; performing text extraction on the electronic documents to extract sequences of glyphs; mapping the extracted sequences of glyphs into character strings; performing text coalescing on the character strings to generate markup language documents; extracting and normalizing, from the generated markup language documents corresponding to the plurality of courses, combinations of operands and operators that characterize concepts within the plurality of courses; indexing each combination of operands and operators with a concept in an online concepts index database; mapping, by an activities mapping module, each concept to one or more passive, active, and recall activities performed by users responsive to studying the concept, to generate learning units, each learning unit comprising the concept and the activities to which the concept was mapped; accessing user profile data, the user profile data including the users' learning units; accessing learning units associated with respective jobs; determining a learning unit gap between a user's learning units and the learning units associated with the respective jobs; developing a plan for addressing the gap, the plan including one or more recommended learning activities; and delivering a portion of the generated markup language documents corresponding to the recommended learning activities to the user through an online education platform.