Main reason of giving an assignment is to give hands-on practice to student of all the topic taught in class. if students don't complete their assignments they can't learn further.
- Cover current topic
- Cover previous topics
- Be presentable (laymen can also make sense with UI)
- Be Hosted
- Be with Github Link
Remember to provide clear instructions and resources if needed, and encourage students to explore and experiment beyond the basic requirements of the assignments. This will allow them to develop their creativity and problem-solving skills.