Yiyang’s app was a lot of fun to play around with. I tried to make every face I could with it. The app does have an entirely graphical interface. It lets the user select different eyebrows, eyes, and mouths based on click input. It also permits the user to select colors for the eyeglasses with key input. There is only one mode, though it does allow the user select all the different features. It is not possible to clear, but the user can select a new set of features for the face at any time.
Yiyang’s code uses a number of custom modules in order to increase readability. There is only one turtle object, which did make it tricky for me to tell what was doing what at times. A named screen
object is defined at the beginning of the main
module. A for
loop is utilized in the feature_table
module. I tried hard to make the program return an error, but I couldn’t. The program runs perfectly. I do think the could would have been clearer had more for
loops been used. The facial feature functions are drawn line by line, making the functions larger and more unwieldy than they might need to be. Yiyang’s code is well commented, which does make it easy to determine what a function does and how it relates to the functions that call upon it. The comments offset the difficulties I had as a result of the lack of for
loops and the use of one turtle.
I think Yiyang set very clear milestones for herself. These milestones were very achieveable. She set a number of activities for the user to accomplish, as well as limits she wanted to place on what she wanted the user to be able to do within the scope of those activities. Based on our discussion on Tuesday, it sounds like she was able to accomplish all these goals/milestones without having to rein in her scope. Her reflection suggests that she approached challenges in a very productive way, making changes that made the program better now while also keeping in mind alterations that might need to be made in the future. I don’t know that all of the requirements of the assignment were satisfied, but Yiyang created a very stable program and satisfied the goals she set for herself at the outset of the project.
Yiyang created a stable base for her project and worked forward from there, which in hindsight seems like a much more practical approach than starting over once the initial goals were satisfied. From Yiyang, I think I could learn to write better organized code, which will make things easier if I ever build a program that I might need to work on over a longer period of time, not just one weekend. Ultimately, I think I fulfilled the requirements, but Yiyang was more creative. Her program isn’t just another version of MS Paint. It does something fun, creating a sort of character creator that I very much enjoyed playing with.