For my cumulative Programming Project, I decided to create a personality quiz. I did this because I had always thought it would be interesting to try and create the quiz. I had gotten the idea from one of my friends on one of the questions of the week that we do to create a personality quiz that tells the user what teacher at Lincoln Lutheran they were and I thought that it would be a lot of fun, so I decided to do it. I sent out a survey to all the teachers at LL asking a few questions about themselves that I thought would be good questions to ask my classmates and I got 17 responses.
The Minimum Viable Product (MVP) for a project is the most basic version of the program that you can write that works. In my opinion, the MVP for this program would be one that asks only one or two questions to the user and outputs a result like “You are this teacher.”, then doesn’t let the user play again. That wouldn’t be very hard to write, especially if you only had two or three teacher options (not 17). You could easily write this with a few if statements and while loops without it getting too long or tricky, but I quickly figured out that passing 17 variables back and forth in every procedure would not be the way to go.
The features I want to add include more questions, a lot of teacher options, a description of the teacher they are most like, use of new ideas (a dictionary for me), a play again function, and nice formatting. I think that these are useful because it’s not a lot of fun taking a personality quiz with less than 5 questions (trust me, I know) or less than 3-4 possible results. It’s a lot more interesting to take a quiz like this with a lot of possibilities. The dictionary function would be useful for me because, like I said before, it’s not very efficient or convenient to pass 17 variables back and forth. The play again function is pretty easy to write because we’ve done it in other programs, so I was able to just copy and paste the function in and change a couple variable names. The formatting shouldn’t take too long, but I want to make it look the best it can. I also would have liked to add some graphics because I thought that was a really cool unit when we did it.
The features that I actually added include all of the ones I mentioned above except for the graphics. I found that my program took longer than I expected to write, and I wanted some time to write these website posts. I also figured that it would be really tough to add graphics when the program was already written. All the other ones I added, however. The dictionary function was so nice in writing all my procedures and I’m so glad that Mr. Sommerer taught me how to do it. None of the other additions were super tough to do. Adding more questions and teachers was simple because I had 9-10 questions on the survey I sent out and I got 17 responses from 17 different teachers, so there’s a lot of possibilities for the output on this quiz! I found that I focused a lot on the dictionary feature because its was so useful. I spent a lot of time going through and adding all the points to the teachers that were in the dictionary, which wasn’t hard once I learned how to do it.
I’m really proud of my cumulative project. I spent a while working on it and trying to figure out what to do, especially for assigning points. I had a couple ideas, but eventually I just gave in and asked Mr. Sommerer what he thought would be the best way to do it and that’s when he explained the dictionary. It was actually really simple to figure out and I was able to figure out what was going on in the section of source code that we wrote on it. I put a screenshot of this below, and it’s a little bit blurry, but it should still be readable. I think that’s a testament to how much I learned in this class, because at the beginning, there’s no way that I would have been able to understand anything with this program when we first started writing code. I’m also quite proud of the output for this program. I spent a little while one class formatting it to look the way I wanted it to and I’m really glad I did. Now, it looks nice and readable for the user and isn’t super messy all over the shell (where the program is run).
Overall, this Programming class has had me in a mixture of emotions: frustrated, proud, happy, upset, and a lot more. I am really glad I took it though, because it made me think in a way that I never have before and I know that some of the stuff I learned will be useful in the future. What kind of company doesn’t want an employee who knows a little bit of coding?!