1. A computer-implemented method comprising: receiving a request comprising natural language data; generating parsed natural language data and metadata from the natural language data; obtaining knowledgebase data, wherein the knowledgebase data comprises at least one weighted mapping between a natural language problem and a corresponding source code, the natural language problem and the corresponding source code being determined by processing electronic data, the electronic data comprising at least one of an electronic textbook, a scan of a textbook, and computer science literature, the at least one weighted mapping between the natural language problem and the corresponding source code being generated by weighting the mapping according to at least one of a date the electronic data was published, a reputation or ranking of a publisher of the electronic data, and a rating of the electronic data by users; generating source code based on the parsed natural language data and the knowledgebase data by applying machine learning to the parsed natural language data and the metadata using the knowledgebase data; and transmitting the generated source code in response to the request.