Recently, I published on github.com several example Java projects for using various NoSQL technologies:
- cassandra-tutorial : Apache Cassandra tutorial (Column-oriented database)
- mongodb-tutorial : Mongo DB tutorial (Document database)
- neo4j-tutorial : Neo4J (Graph Database)
- redis-tutorial : Redis (Key/Value Store)
- solr-tutorial : Apache SolrCloud (Search technology)
Other example Java projects aim at standardized big data processing platforms:
- MapReduce: A simple hadoop map reduce job to count the number of tweets in a text file on HDFS
- SparkStreaming: A simple spark streaming job to count the number of tweets send by a simple network server
- tweet-server : A simple server for sending tweets to any client connecting to port 1234 on localhost. It is a shellscript using netcat.
You can use them in lectures or courses for teaching these topics. The projects use gradle, so you can make sure that the students always use the right libraries and thus avoiding conflicts with dependent libraries. Each project is a basic skeleton for using one software. Students can easily extend them and you can avoid a long bootstrapping phase until everybody has created the right project with right libraries for your environment. Unit testing can easily be added.