Resources for Beginners


Some resources for people interested in contributing code or starting ML research/applications

DynaML aims to make a versatile and powerful data analysis and machine learning toolkit available as a shell and runtime environment. As is the case with any tool, relevant background and knowledge is crucial in order to yield its power. This post is intended to be a starting point for online resources which are relevant to DynaML.

Machine Learning

Machine Learning refers to the ability to make predictions and decisions from data. It is a field that has evolved from the study of pattern recognition and computational learning theory in artificial intelligence.

Machine Learning theory and applications lie at the intersection of a number of concepts in the domains of Mathematics, Physics and Computer Science. It is no surprise that machine learning is a rich and deep domain with much intellectual and practical rewards to offer to the persistent and observant student.

The following is a non-exhaustive list of educational resources for learning ML.

Online Courses




  • How do I learn machine learning on Quora


Programming Environment: Scala

Scala is the implementation language for DynaML, it is a hybrid language which gives the user the ability to leverage functional and object oriented programming styles. Scala code compiles to Java byte code giving Scala complete interoperability with Java, i.e. you can use Java libraries and classes in Scala code.

The Java Virtual Machine which executes byte code is the run time for the complete Java ecosystem. This enables Scala, Java, Groovy and Clojure programs to run on a common platform, which is a boon for Machine Learning applications as we can leverage all the libraries in the Java ecosystem.

Learning Scala can be a significant investment as the language has a large number of features which require varying levels of skill and practice to master. Some resources for learning Scala are given below.