Image: ESA - C.Carreau (SEMPDN9OY2F)
Overview | Assignments | Policies

CIS 5550: Assignments

Assignment 0: Hello World

For this assignment, you will implement "Hello World" in Java. The real purpose, of course, is to set up the environment you will need for this class, and to practice the various steps, such as GitHub commits and Gradescope submissions.

HW0 handout

Assignment 1: Static Web Server

The goal of this assignment is to build a simple HTTP server that serves static files from a given directory. An enhanced version of this server will later be used as the frontend of your search engine.

HW1 handout

Assignment 2: Dynamic Web Server

In this assignment, you will extend your static web server from HW1 with support for dynamic content and routes. The API will be based on the API from Spark Framework.

HW2 handout

Assignment 3: HTTPS Server on the Cloud

For this homework, you will add support for sessions and HTTPS to your web server from HW2, and you will deploy it on an Amazon EC2 instance.

HW3 handout

Assignment 4: In-Memory Key-Value Store

The goal of this hoemwork is to implement a simple distributed key-value store, which will build on your web server from the previous three assignments.

HW4 handout

Assignment 5: Key-Value Store with Persistence

Assignment 6: Analytics Engine

Assignment 7: Enhanced Analytics Engine

Assignment 8: Distributed Web Crawler

Assignment 9: Indexer and PageRank

Final Project: Cloud-Based Search Engine