# Design Thinking Summative

Questionnaire findings: We made an initial questionnaire asking students about problems that they have found in various fields. We inquired what they disliked in the school facilities, as well as stress and various academic areas. A very prominent problem that we could see is that many students did not like the IF system, as many did not have the time and motivation to do it. They suggested removing IF’s, and/or making PE a non-graded subject. However, we came to the conclusion that these suggestions really weren’t appropriate for a programming project, so we moved on to the second most prominent problem, stress. We knew that many people were stressed because of their homework, but many teachers are unaware of this issue. We created a questionnaire for students and teachers to find out what was stressing students the most, and whether teachers were aware of the stress of students. We found out that many students are stressed out by math and humanities. We also found out that teachers think that their students take 30 mins to 1 hour for the homework in their classes. Some solutions that teachers suggested were that homework could be on paper so that students do not get distracted by technology, but that is the opposite of what we need so it doesn’t really help. To relieve their own stress, students suggested that teachers need to be more attentive towards students stress levels. They also suggested more in depth lectures, or more practice, as well as less homework. Many of these solutions are unfortunately inappropriate for such a project so they aren’t very helpful, however, they do give an idea of what kind of deserters students are looking for.

Mind Map:

Design Thinking Sentence: The students of HKIS suffer from stress mainly from homework, so we decided to create a program that helps them organise their homework, as many of them do not generally use planners or other forms of organisation.

Equipment: Laptop, Python GUI book, Pycharm, Internet

Flowchart:

Pseudo code:

homework = INPUT “Which homework do you find the most difficult?”

time1 = (integer) INPUT “How long will that take?”

totaltime = time1

if time1 < 90:

totaltime = time1

question6 = INPUT(“What other homework do you have”)

if time1 >= 90:

question1 = INPUT “Is this homework due tomorrow?”

if question1 == “Yes”:

Print “Ok”

totaltime = time1

if question1 == “No”:

question2 = (float) INPUT “How many days until the homework is due?”

time2 = (float) time1 / question2

Print “You have to do”, time2, “minutes of that homework today”

totaltime = time1

question3 = INPUT(“What other homework do you have, if you have no more homework left please enter no more if you do enter yes”)

if question3 == (“no more”):

Print “You have”, totaltime, “Of homework today”

Print “You should do”, homework,”first”

if question3 == “yes”:

question5 = INPUT “How long should that homework take?”

question4 = INPUT “Is that homework due tommorow ”

if question4 == “Yes”:

question5 = INPUT “How long will that homework take?”

question5 + time1 == totaltime

References:

http://www.python-course.eu/tkinter_entry_widgets.php

https://www.packtpub.com/application-development/python-gui-programming-cookbook

https://stackoverflow.com/questions/15495559/taking-input-from-the-user-in-tkinter

Video:

Testing document:

Evaluation: I believe that my project went fairly well. There were a few things we couldn’t do because GUI programming is difficult, therefore it was hard to do some things. I think that Jacob and I worked well as a team because we both did a good amount of the work. It wasn’t like one person was doing all of the work. It was a fairly fun project (in terms of learning) because I definitely learned a lot about TkInter programming. This project was quite stressful, as it is quite difficult to do research on the internet as there are so many different answers to the same question, but I don’t know which answer is the most effective. Sometimes it took ages to find something that I was looking for that would fit in with the code we had. It was difficult until we received the book. It made everything a whole lot easier because it was so clear. This project was just one part of I2P. I2P really helped me learn python, and made it feel like second nature to me. I feel like python is a very easy language now, or at least a lot easier than I thought it would be when I first came into class. The biggest surprise to me in class was GUI programming. I did not expect it to be so difficult, but I am now glad that I conquered it. I2P as a whole has been a fun learning experience for me, and I would definitely encourage other people to take this course.

# Questionnaire findings

We made an initial questionnaire asking students about problems that they have found in various fields. We inquired what they disliked in the school facilities, as well as stress and various academic areas. A very prominent problem that we could see is that many students did not like the IF system, as many did not have the time and motivation to do it. They suggested removing IF’s, and/or making PE a non-graded subject. However, we came to the conclusion that these suggestions really weren’t appropriate for a programming project, so we moved on to the second most prominent problem, stress. We knew that many people were stressed because of their homework, but many teachers are unaware of this issue. We created a questionnaire for students and teachers to find out what was stressing students the most, and whether teachers were aware of the stress of students. We found out that many students are stressed out by math and humanities. We also found out that teachers think that their students take 30 mins to 1 hour for the homework in their classes. Some solutions that teachers suggested were that homework could be on paper so that students do not get distracted by technology, but that is the opposite of what we need so it doesn’t really help. To relieve their own stress, students suggested that teachers need to be more attentive towards students stress levels. They also suggested more in depth lectures, or more practice, as well as less homework. Many of these solutions are unfortunately inappropriate for such a project so they aren’t very helpful, however, they do give an idea of what kind of deserters students are looking for.

# Circuits with Arduino

We learned about how to attach LED lights to the breadboard, as well as put resistors. It was difficult to understand the logic of the breadboard, but it makes sense after putting in LED’s and the different wires. I also learned more about the code and how it works. The first challenge was fairly simple, but the setup was tricky. The second challenge was easier to set up, but more difficult to code. I do not have any pictures.

# Makey Makey with Balance Board Summative

Videos:

Scratch:

Pygame:

Documentation:

Scratch:

Pygame:

References:

The above link helped us create the timer to put on the window. It was the main program that we used for the timer.

Key Sensor: http://stackoverflow.com/questions/16044229/how-to-get-keyboard-input-in-pygame

The above link helped us setup our key sensor so that when the up arrow was pressed, the timer would stop and tell the user their score.

Welcome Message Creation: http://stackoverflow.com/questions/10077644/python-display-text-w-font-color

The above link helped us figure out how to put text on the screen for when we wanted to put up our welcome message for the user to see.

# Makey Makey with balance board

1. The client requirements were creating a timer that starts when both ends are off the ground and stops when one end hits the ground. They also wanted a leaderboard and know who is on the board.

4. I learned that it is very different to do block based programming compared to python because in python you can type whatever command you want, but in scratch you have to find the command and put them together correctly. It his quite difficult to do block based after getting used to typed programming.

1. The difficulties we faced were connecting everything to the makey makey because we used too many wires. We also had a hard time creating the scoreboard because we didn’t know how to order it using the blocks we had. The other parts weren’t too difficult.

2. We didn’t really manage to overcome it so we would do it if we had more time.

3. We could have made the scoreboard better and more organised as well as designed the page possibly. It was fairly simple to do the other parts.

4.  We did not take a video of the prototype.

5. https://wiki.scratch.mit.edu/wiki/Sorting_Values – I used this to try and help with the sorting of the scoreboard but I didn’t understand it.

https://scratch.mit.edu/discuss/topic/31747/ – I used this as well.

# Python Summative (The Quiz)

In my flowchart I didn’t put all 15 questions because they all use the same code and have the same outcomes. In my code I used if else statements for my questions because I realised that using that code would be the most efficient, and understandable. I used if else because there was only one answer to each question it was a lot easier to just have an if for if they get the question correct and en else if the answer is anything else. I didn’t have any problems with my code, so I didn’t search up anything, so I am unsure of what references to make. More information about my code is in the video.

# Python Lesson 5 Reflection

In my Guess the word game, a player has 5 attempts to guess the letters of a word and then must guess the word. However if they think that they know the word, they can guess during their 5 tries and either get the word or not. I always thought that if else statements need to have an if and else but I learned that I could write if’s without else’s followed by more ifs and elifs. So I figured out that I can put a lot of if’s and elifs in my code which made it a lot easier. When I was creating the list of words, I first put them into round packets instead of square brackets. The round bracketed “lists” are called tuples and they are used to store different types of data, such as strings and integers rather than just one type. Lists only store one type of data.

# Python Lesson 4 Reflection

4a: In lesson 4a we learned a lot about pseudocode and flowcharts. I feel like the pseudocode was fairly easy to pick up because it was basically writing code in basic english, which shouldn’t be too difficult. However, the different shapes of the flowchart confused me a bit, but I think I understand it now. Coding the password checker was easier than I expected because the code used wasn’t anything beyond what we had learned and was a very cool combination of the concepts. However I didn’t manage to figure out how to cut off the attempts at 5 so that is one thing I need to work on. The guess the number game was much more difficult than I thought it would be because I was missing an essential part from my code. My code was fine except that I didn’t assign a new integer for every guess. This caused the computer to say lower or higher for every guess because every new guess didn’t matter to the computer as only the first guess was being processed. I managed to fix that and set up a counter for the amount of guesses. The things that I now need to work on are stopping the game after 5 guesses and adding a play again function.

4b: In this lesson I learned a lot about functions and I really needed to know how to use while loops and if else statements and all variants of this. I first needed to make sure I had a counter that was counting down from 5, so that I know how many guesses are left for the user. I also needed to figure out how to stop the game when the 5 guesses were up which was fairly simple. I had to make an if statement and put a break when the counter went below one. This made the game stop. The play again function was a bit harder though because I had to figure out how to define the function of restarting and then putting my entire code inside of it. I didn’t manage to figure out how to write a text file so I could look into that more in future projects.

# Python Lesson 3 Reflection

In lesson 3 we learnt about concatenations, which is  putting two strings together to form a word. this actually wasn’t too difficult because all it required was a plus sign and it was finished. I was able to do this using a print  function, two variables and an addition sign. We also learned about if, elifs and else which come in handy when giving options for user input. The elif command is useful when giving more that two options. It allows for more specific options other than this or that. I also learned about for and while loops and when to use them. For loops are used when someone wants to use specific sets of data for a certain outcome, but while loops are when someone wants to use everything in a set of data of a certain outcome. For loops give an outcome for each piece of data that holds true for the statement, but a while loop gives an outcome if the statement holds true for all pieces of data.

# Python Lesson 2 Reflection

In day 2 of python we learned about using the integer of a user input as a variable and how to slice strings. It was very interesting to learn about defining integers because it can be very helpful when making a text based game because you can get different inputs and use that as the next part of the game. I really enjoyed learning about “complicated strings” where there is a print function followed by a string then variable then string because it helps give extra information about that variable. The if else commands are my favourite because of how practical and useful they are. They can be used for Choose Your Own Adventure type of games where every decision leads to a different place. The if else statements can give the user a choice of what they want to do.