21. A method of automatically generating lessons based on content of a digital programming file, the method comprising: by a content analysis engine processor, executing programming instructions that cause the content analysis engine processor to: analyze a set of text corresponding to words spoken in a digital programming file, wherein the set of text comprises a transcript that includes a plurality of text segments and a plurality of timestamps each corresponding to one of the text segments, extract a sentence from the set of text by: extracting a sequential group of the text segments from the set of text, parsing the group of text segments to identify the sentence within the group, and using the timestamps of each text segment that is at least partially included within the sentence to determine a start time and a duration for the sentence by: identifying a first text segment that is at least partially included in the sentence, if the sentence starts at the beginning of the first text segment, using a start time from the timestamp of the first text segment as the start time for the sentence, and if the sentence does not start at the beginning of the first text segment: determining a number of syllables of the first text segment that are in the sentence and a total number of syllables in the first text segment, determining a ratio of the number of syllables in the first text segment that are in the sentence and the total number of syllables in the first text segment, multiplying the ratio by a duration of the first text segment to yield a segment duration for the first text segment, and calculating the start time of the sentence as a sum of the start time from the timestamp of the first text segment plus the segment duration for the first text segment, and generate a digital media clip that corresponds to the sentence, wherein the digital media clip has a start time in the digital programming file that corresponds to the start time of the sentence; and by a lesson generation engine processor, executing programming instructions that cause the lesson generation engine processor to generate a lesson comprising an exercise that includes: a prompt that uses one or more key words that are extracted from the sentence, and the digital media clip.
21. A method of automatically generating lessons based on content of a digital programming file, the method comprising: by a content analysis engine processor, executing programming instructions that cause the content analysis engine processor to: analyze a set of text corresponding to words spoken in a digital programming file, wherein the set of text comprises a transcript that includes a plurality of text segments and a plurality of timestamps each corresponding to one of the text segments, extract a sentence from the set of text by: extracting a sequential group of the text segments from the set of text, parsing the group of text segments to identify the sentence within the group, and using the timestamps of each text segment that is at least partially included within the sentence to determine a start time and a duration for the sentence by: identifying a first text segment that is at least partially included in the sentence, if the sentence starts at the beginning of the first text segment, using a start time from the timestamp of the first text segment as the start time for the sentence, and if the sentence does not start at the beginning of the first text segment: determining a number of syllables of the first text segment that are in the sentence and a total number of syllables in the first text segment, determining a ratio of the number of syllables in the first text segment that are in the sentence and the total number of syllables in the first text segment, multiplying the ratio by a duration of the first text segment to yield a segment duration for the first text segment, and calculating the start time of the sentence as a sum of the start time from the timestamp of the first text segment plus the segment duration for the first text segment, and generate a digital media clip that corresponds to the sentence, wherein the digital media clip has a start time in the digital programming file that corresponds to the start time of the sentence; and by a lesson generation engine processor, executing programming instructions that cause the lesson generation engine processor to generate a lesson comprising an exercise that includes: a prompt that uses one or more key words that are extracted from the sentence, and the digital media clip. 23. The method of claim 21 , wherein: the exercise comprises a fill-in-the-blank exercise, and the prompt is a blank in the sentence wherein a user may insert one of the key words in the blank; the exercise comprises a sentence scramble exercise, and the prompt is a field in which a user may arrange key words from the sentence in order; the exercise comprises a word scramble exercise, and the prompt is a field in which a user may arrange a set of letters into one of the key words; or the exercise comprises a definition exercise, and the prompt is a field in which a user may select a definition for one of the key words.