Skip to content
Jason Baldridge edited this page Dec 24, 2012 · 22 revisions

Books

  • Natural Language Processing
  • Machine Learning
    • Bishop, Pattern Recognition and Machine Learning
    • Murphy, Machine Learning
  • Scala
    • Horstmann's Scala for the Impatient. (Free PDF of the first nine chapters is available for free from Typesafe!)
    • Odersky et al's Programming in Scala (2nd edition) is excellent, though assumes one knows Java already. (Odersky is the creator of the Scala language.)
    • Wampler and Payne's Programming Scala is available for free online.
    • Pollack's Beginning Scala might be more introductory, though it is currently two years old and perhaps a bit out of date by now.
    • For other options, see this list of books for learning Scala.
  • Other
    • White, Hadoop: The Definitive Guide
    • Manning et al, Introduction to Information Retrieval

Scala tutorials

  • My Scala tutorials. They are oriented toward first time programmers, but contain much that is useful for experienced programmers getting familiar with Scala.
    1. The Scala REPL, expressions, variables, basic types, simple functions, saving and running programs, comments
    2. Tuples, Lists, methods on Lists and Strings
    3. Conditional execution with if-else blocks and matching
    4. Iterating, mapping, filtering and counting
    5. Regular expressions and matching with them
    6. Regular expression matching and substitution with the Regex API
    7. Maps, Sets, groupBy, Options, flatten, flatMap
    8. Word counting, scala.io.Source, file access, flatMap, mutable Maps
    9. Objects, classes, inheritance, traits, Lists with multiple related types, apply
    10. Scripting, compiling, main methods, return values of functions
    11. SBT, scalabha, packages, build systems
    12. Code blocks, coding style, closures, Scala documentation project.
    13. Variations for computing results from sequences in Scala
    14. Student questions about Scala, Part 1
    15. Student questions about Scala, Part 2
    16. Incorporating and using OpenNLP in Scalabha’s SBT build system
    17. Basic XML processing with Scala
    18. Processing JSON in Scala using Jerkson
  • SimpleScala: tutorial and online REPL for beginning programmers
  • Kojo: a learning environment that includes an interactive Scala tutorial (which was adapted from SimplyScala)
  • Scala School: Resources created by Twitter for training programmers new to Scala.
  • Stackoverflow Scala Tutorial: organized links to answers on Stackoverflow that cover many questions in Scala.

Applications and Toolkits

  • Natural language processing and machine learning
    • OpenNLP
    • Mallet
    • Junto
Clone this wiki locally