University Projects

While studying software engineering in bachelor's degree, I took several courses and worked on projects. Here I made a short summary for these projects and mentioned the important details. My list of projects is varied, it contains projects from data science, statistics, data structure, marketing, and many more, some of them will be shown on my GitHub page.

Guys Drinking Coffee

This project was so enjoyable and my teammates were super great. This project was part of the course "Computer Graphics and Animation", where we work on 3D graphics and create animations, it needs a good knowledge of math, geometry, and trigonometry. We used Processing as a programming language for it, code can be written in Java or Python but we used Java. In this project, we were responsible to create an animation of 2 friends drinking coffee together, we did a lot of work on the background to beautify it such as birds, houses, trees, etc., and we decided to build it in a garden, therefore we put a natural sound contains bird and grass sounds.


We included 1 table, 2 chairs, 2 men, and 2 coffee mugs as the main task, then we created 1 house, 2 trees, 1 bird, 6 borders to cover the whole area, and slides show as a chat between the friends. For the drinking movement, we did it as one guy takes a sip from the mug then puts the mug back on the table, then the other guy will drink, and this will continue until the coffee inside the mug is finished.

As soon as the coffee finishes, we stop the program loop. The mugs were designed as cylinders (closed at the bottom), and inside the mugs, we put another cylinder and used a brown spotlight down the y-axis to be seen as a coffee, and the size of the coffee decreases with each taken sip.


We worked on texturing as well, for the mugs we put cat image as a texture. Similarly, we did for the guys, table, and the chairs, but for some reason, only the mugs texture worked even we did it in the same way. On the other hand, the background texture worked so well, the house, trees, and borders looked very nice. We used the "Peasy Cam" library to provide a mouse rotation and zoom control in the program to provide a clear vision of the output from different angles. We worked also on the functionality, efficiency, user-friendliness, self-documentation, and elegancy of the codes.

Check the code in GitHub