1. A computer-implemented method performed by one or more processors for managing training courses for a learner, the method comprising the following instructions: generating electronic learning materials for offline presentation, wherein the electronic learning materials include a plurality of knowledge items; prior to transmitting the electronic learning materials to a learner, assigning the plurality of knowledge items to a plurality of identification strings, wherein each of the plurality of knowledge items is mapped to a different identification string in the plurality of identification strings; storing the assignment between the plurality of knowledge items to the plurality of identification strings; transmitting to a learner device the generated electronic learning materials and the plurality of identification strings, wherein the plurality of identification strings are presented to the learner during offline presentation in connection with completion of assigned knowledge items; receiving, from a user device different from the learner device, an identification string from the plurality of identification strings, wherein the identification string is presented to the learner during the offline presentation in connection with completion of an assigned knowledge item in the generated electronic learning materials, and the learner transmits the identification string using the user device different from the learner device; and determining progress of the learner with respect to the generated electronic learning materials based on comparing the received identification string to the stored assignment of identification strings.