Project 1: Implementing Photomosaics
A photomosaic is an image split into a grid of rectangles, with each replaced by another image that matches the target (the image you ultimately want to appear in the photomosaic). In other words, if you look at a photomosaic from a distance, you see the target image; but if you come closer, you will see that the image actually consists of many smaller images. This works because of the how the human eye works. In the more advanced kind of photographic mosaic, the target image is not downsampled, and the matching is done by comparing each pixel in the rectangle to the corresponding pixel from each library image. The rectangle in the target is then replaced with the library image that minimizes the total difference. This requires much more computation than the simple kind, but the results can be much better since the pixel-by-pixel matching can preserve the resolution of the target image.
Project 2: Image-to-image translation in PyTorch
This project has two components—CycleGAN and pix2pix—which contain PyTorch implementations for both unpaired and paired image-to-image translation. At first, it looks like another fairly ordinary style transfer solutions, but it can do some different things, like convert a horse to a zebra or from live photo to a Monet. And process is fast enough that it can be used on live video.
Project 3 : CodeAcademy problems on Python
The task is to solve 30 multiple choice questions in 90 minutes. And 3 programming problems in 2 hours.  
Project 4 : Guess the Number
This project uses the random module in Python. The program will first randomly generate a number unknown to the user. The user needs to guess what that number is. (In other words, the user needs to be able to input information.) If the user’s guess is wrong, the program should return some sort of indication as to how wrong (e.g. The number is too high or too low). If the user guesses correctly, a positive indication should appear. You’ll need functions to check if the user input is an actual number, to see the difference between the inputted number and the randomly generated numbers, and to then compare the numbers.