I just realized that I forgot to post the documentation for the assignment on the first week.
link to the project: https://editor.p5js.org/DianaXu/sketches/swsIGx93B
There are three groups of circles. The first group follows mouse movements. The second group follows mouseY position. And the third group follows mouseX position.
I also tried noise function to create dynamic movements for the second group and third group. However, because I added too much transparency to these two groups, the movements are not very clear.