We will assume that students are sufficiently proficient already with UNIX and have enough programming experience to use (or be willing to learn) the Java programming language proficiently. We expect the resources and links on the project pages will provide you with enough information to get you started even in case you are not familiar with either one. Since the projects are very important part of the final grade and will take a signficant amount of time, we strongly discourage students from taking this class unless they feel comfortable with these requirements.
To help students set up the uniform environment for the class project, we will be using VirtualBox to run the Linux operating system in a virtual machine. VirtualBox allows a single machine to share resources and run multiple operating systems simultaneously. You will need to download the following files
The provided virtual machine image is based on Ubuntu 16.04, Oracle Java JDK 8, Gradle 4.1, ElasticSearch 5.6.2, and Mallet 2.0.8. If you have access to an equivalent machine that has Java JDK, ElasticSearch, and Mallet installed, you may use it instead of the virtual machine image. However, please note that we cannot provide support for systems other than the virtual machine image, and that your project MUST be runnable on the provided virtual machine. We will be using the virtual machine image for grading purposes, and if your submission does not work within this setup, you may get zero points. We cannot make any exceptions to your project schedule for problems incurred by using your own computing facilities.