Not enough data to create a plot.
Try a different view from the menu above.
This is an intermediate-level free artificial intelligence course. This course will teach the basics of modern AI as well as some of the representative applications of AI including machine learning, probabilistic reasoning, robotics, computer vision, and natural language processing. To understand this course, you should have some previous understanding of probability theory and linear algebra.
Deep Learning (DL) techniques for Natural Language Processing have been evolving remarkably fast. Recently, the DL advances in language modeling, machine translation and paragraph understanding are so prominent that the potential of DL in Software Engineering cannot be overlooked, especially in the field of program learning. To facilitate further research and applications of DL in this field, we provide a comprehensive review to categorize and investigate existing DL methods for source code modeling and generation. To address the limitations of the traditional source code models, we formulate common program learning tasks under an encoder-decoder framework. After that, we introduce recent DL mechanisms suitable to solve such problems. Then, we present the state-of-the-art practices and discuss their challenges with some recommendations for practitioners and researchers as well.