# 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.

# 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.

# Making a backpack

HS students at HKIS are generally not satisfied with their bags so we created backpacks with style and comfort. Our initial design was different from our final design. We were initially going to put many pockets and padding on the back. Unfortunately we didn’t manage to even put straps on our backpack, so it would be a waste of time to think about the padding. We also couldn’t put multiple compartments because we were using cardboard so it was difficult. The idea that we had was when we thought of putting straps on the backpack. One of my group mates went to get something and he came back with string for the straps. I was excited because I thought that we would finally have straps in the bag, but unfortunately they didn’t work.We were stuck on making the straps because nothing we were doing was working. In the end we decided to just let the person who buys the backpack use tape to stick the backpack onto them.We didn’t meet our partners needs because we did not manage to do what the design wanted us to do. We ended up doing the exact opposite of the point of the backpack, therefore not meeting their needs.

# Programming a peer and tying shoelaces

We were asked to program a peer to get multiple hkis shields around the room. My partner was programming me, so he wrote the program. We were successful because the spot that we started in had many shields so it was easy to get them as they were so dense. We encountered a problem when we realised that we needed to communicate to the “robot” to reach out to get the shields. Although this wasn’t too much of a problem, it would still take time to get the shields, time that we didn’t have. Another problem we encountered  was when we were one step short of getting something, causing us to not get the fourth shield, which would have meant winning. We could improvise on the spot better.

Tying a shoelace: In this activity we had to figure out how to tell a robot how to tie a shoelace. I think that we did it in a good amount of steps which was 5. I think that we could have done it more clearly and in less steps. When we tried out the program that we made, we had to make some changes because it wasn’t clear enough. I think that this taught me a good lesson about testing the program.