|Week 1-2||Week 3-4||Week 5-6||Week 7-8||Week 9-12|
|DATA MINING||Machine learning models||Frequent itemset mining||Locality-sensitive hashing||Clustering and recommender systems||Capstone project|
|FUNCTIONAL PROGRAMMING||Type classes and combinators||Monoids and monads||Applicative and transversable functors||Stream processing and external effects||Capstone project|
|TOOLS WORKSHOP||SBT and AWS deployment||SparkSQL||Tuning and debugging||Spark streaming||Capstone project|
|LAB||Logging||Churn modeling||Entity resolution||Recommender Systems||Capstone project|
|Week 1-2||Machine learning models||Type classes and combinators||SBT and AWS deployment||Logging|
|Week 3-4||Frequent itemset mining||Monoids and monads||SparkSQL||Churn modeling|
|Week 5-6||Locality-sensitive hashing||Applicative and transversable functors||Tuning and debugging||Entity resolution|
|Week 7-8||Clustering and recommender systems||Stream processing and external effects||Spark streaming||Recommender systems|
|Week 9-12||Capstone project||Capstone project||Capstone project||Capstone project|
This course focuses on algorithmic and computational methods for mining large datasets. We'll introduce you to the models used in modern machine learning applications, with an emphasis on implementation and extention. After we introduce you to a new concept, we'll place it into the context of a library and terascale data problem while using raw data sets from real DataScience clients.
You will study the elements of modern functional programming and their application to scalable data manipulation using the Scala Collections and Typesafe libraries. We’ll tackle parsing, property-based testing, thread-based parallelism, purely functional data structures, combinators, monoids, monads, applicative functors and more.
Learn to use modern JVM-based engineering tools such as Spark, Hadoop, Hive, Scalding, Algebird, Elasticsearch, and Neo4j, as well as engineering best practices such as unit testing and continuous deployment. This workshop is taught with a focus on distributed environments.
This is where everything you’re learning comes together. You’ll work with your classmates on real-world projects alongside our instructors and TAs. Midway through the program, you will begin to take on longer projects that require production-level coding skills.