In Depth Post 6: The Last Code

Welcome back to my last blog post before In Depth night! Looking back at this year, it’s been a pretty hectic year. It’s been a rough year for everyone around the world, so give yourself a quick pat on the back for making it this far. Now in terms of In Depth, I’ve been having a blast learning how to code from my mentor. I’ve come a really long way from not knowing anything about coding what so ever to knowing enough to even create short programs and games through code.

This week, my mentor and I worked on a quick game inspired by the prisoner’s dilemma. I would assume most people would know what this is by now, but for those of you who don’t, let me give you a quick run down on what this is. The prisoner’s dilemma is a pretty famous logic game that shows how two rational participants may not always cooperate with one another. The scenario goes something like this:

Two members of a criminal gang are arrested and imprisoned. Each prisoner is in solitary confinement with no means of communicating with the other. The prosecutors lack sufficient evidence to convict the pair on the principal charge, but they have enough to convict both on a lesser charge. Simultaneously, the prosecutors offer each prisoner a bargain. Each prisoner is given the opportunity either to betray the other by testifying that the other committed the crime, or to cooperate with the other by remaining silent. The possible outcomes are:

  • If A and B each betray the other, each of them serves two years in prison
  • If A betrays B but B remains silent, A will be set free and B will serve three years in prison
  • If A remains silent but B betrays A, A will serve three years in prison and B will be set free
  • If A and B both remain silent, both of them will serve only one year in prison (on the lesser charge).

So basically what we did this week was create a program that will play this “game” against you. You are able to select how many rounds to have, and you person with the least about of “years” (penalty points) wins. Now, let’s do what we usually do and go over the code!

This portion is the introduction that basically says “hello” and asks how many rounds you want to participate in. The cout function has been explained in most of my other posts, so I’ll be focusing more on any of the new information from this month. I’ve also added a quick if statement that makes sure that you can’t enter any number that’s less than or equal to 0 since that’s not very realistic.

Next in the code are some of the variables that we’ll be using. We have a counter that will help us keep track of which number round we’re on, pscore which is just the player’s score, cscore which is the computer’s score, pmove which is the player move, and previous move. I’ll be explaining the purpose of previous move later on, so just keep the last two lines in mind for now.

We now have the beginning of the meat of our code. We start off with a while statement that will basically repeat the code inside until a specified condition is met. In this case, we set it so that as long as the counter (Which is counting which round we are on) is less than or equal to the number of rounds that the player has set, the code will repeat. Then, inside the while statement, we have the round number, and the question that asks if you will cooperate, or defect.

We now have the important portion of the while code. As I explained earlier, there are a total of four different outcomes that could occur in this game, either you both cooperate, person A cooperates and person B does not, person B cooperates and person A does not, or you both do not cooperate. So, we created four different if statements so that the program will know what to do in each scenario. For example, take a look at the first one. If both you and the computer cooperate, you will both gain 1 penalty point each, and the program will state what happened.

Then at the very end of the while loop, we have a small piece of code that basically determines the algorithm that the computer follows in order to make its move. Remember the previous move variable that I asked you to remember near the start? Well, that is how the program determines what move to make next. It uses a strategy called the tit for tat strategy where you start by cooperating, and simply copy your opponent’s last move for every move afterwards. This is a strategy that has been proven to work well through many studies. This is why near the beginning of the code, the previousmove variable had been set to c, which basically means cooperate. So after each round, the previousmove variable will be set to what ever the player move was that round. Then, the counter will go up by one to signal that a round has gone by.

Finally, we have the end where the scores of each side are announced, and a quick if statement determines whether you won, lost, or tied.

All this code accumulates into this quick program: https://photos.app.goo.gl/56BsuxuHcPJwcPqd6

Looking at the path of my learning, it started off very linear as I didn’t have the knowledge or skill to have many options. My mentor focused more on giving me the proper theory so that I could get some sort of start. After some time, my mentor began to provide me with choices and alternatives. More paths started to open up as I got a choice in which projects or assignments I wanted to do. However, my choices are usually limited to two choices since my mentor felt most comfortable teaching projects that she herself had done in the past. So, having a much older, and experienced mentor may have provided me with much more alternatives for learning, and many more choices for my projects. However, I’m still very content with my current mentor who had worked very hard to teach me so much regarding coding in c++. She’s easy to talk to and helps make sure I thoroughly understand all the topics at hand. If it wasn’t for her, I probably wouldn’t have been able to even explain my code like I have been in all of my blog posts.

Speaking of choices and alternatives, for my final In Depth project, my mentor gave me two different projects to choose from. One is much more ambitious than the other, but has a lot more potential and fun included. I don’t want to spoil the surprise, so I’m afraid I’m going to have to keep it a secret. The other option is more of a backup option for if the previous choice doesn’t work out. But I’m definitely going to be working hard to produce my envisioned results for the end. So, I’ll see you next time at the In Depth night. I look forward to producing my biggest project yet!

– MJ

 

In Depth Post 5: Return of the Program

Hello everyone! Welcome back to another episode of me trying to learn code! This week, my mentor gave me my very first independent assignment. In summary, she provided me with a problem, supplied me with the necessary knowledge to solve it, and let me problem solve. The assignment was to create a calculator that found the gravitational attraction between two objects. Did I know what gravitational attraction was? No, of course not. But that’s not important. The important bit is the formula. The basic idea was to have the program ask you what the two objects were, have the person input the numbers, and have the program spit out an answer. So, I need to input this formula into the code:

Just like last time, let’s go over the code.

The beginning of the code is just like that last program. Just a bit of code telling the program what libraries are included in my code. The small bunch of code underneath that are the variables. So we have object one, object two, mass one, mass two, and distance. These are all variables from the equation that the user will be inputting.

This section of the code just asks the user what the objects are, and has the user input their answers. I’ve explained “cout” and “cin” in a previous post, so you can go check that out if you want to know more, or if you just can’t remember.

Next, we have a relatively new code that my mentor taught me, the “if” statement. It basically works just like it sounds like, if the code, or whatever variable fulfills the requirements in the brackets right next to the code, it will run the code below. In this example, if object one is the exact same as object two, then it will run an error message saying that the two objects cannot be the same. So, lets say that you input Earth as object one. If you input Earth again for object two, it will stop the code, and send out an error message. This code was implemented because if the distance between the objects are 0, the formula will not work, and there’s really no reason to use the program.

Once the code has verified that the two objects are not the same, it will continue on with the code and start to ask you what the variables are for the formula. It will ask for the mass of object one, the mass of object two, and the distance between the objects.

Now that the program has the value of all the necessary variables, it can finally make the calculation. This was probably the most difficult part of the code because I didn’t understand the formula all too well. But after mulling over it for awhile and with the help of Mike (Thank you Mike), I was able to recreate the formula using code. After the program runs the formula with all the variables, it will spit out its final calculation in the form of a sentence that I created.

Now let’s see it in action! (The file exceeded the size limit so here’s a link!)

https://photos.app.goo.gl/fGJw2dMibG8Mhdyi7

*Quick disclaimer: I explained this in my last post, but using doubles (numerical variables with decimals) has a pretty bad problem with rounding, so the numbers may not be super accurate. But what matters is that I’m close (Which hopefully I am). I also realize that a certain science teacher may see this so… let’s just hope that it’s at least close.

I’ve probably mentioned this in all of my previous posts, but communication is super important in all of my meetings, especially with a super logic based topic like coding. So let’s analyze one of my previous conversations with my mentor.

Just for context, my mentor was explaining the difference between “X++” compared to “++X” and was teaching me the importance of order.

Mentor: So, do you remember what ++ means?

MJ: Yeah, it just means add one to the uhh… value or variable, right?

Mentor: Yep, but did I teach you what happened when you put the variable before or after ++?

MJ: Uh, I don’t think so?

At this point, the blue hat is being used as my mentor is trying to organize the conversation by checking by knowledge. She’s finding the main topic or idea for the current conversation.

Mentor: Ok, ok. So, basically what the order does is that it indicates when the program should add the number to the variable. So if we have ++X, one is added to the variable right away since the ++ comes before the X. By the time the line is finished, the value of X now has one added to it. But if we look at the other one, X++ the one is added after that line is complete since the ++ comes after the X. Does that make sense?

MJ: … sorry, I don’t really understand…

Mentor: Ok, in that case, let me just pull up a quick video.

This section of our conversation heavily utilized the white hat. My mentor was presenting me with information for me to take in. I on the other hand was using the black hat as I tried to understand the given information. Let’s continue the conversation after we watched the video.

MJ: So, basically it’s kind of like the difference of counting from 0 or 1?

Mentor: Uhh… yeah kind of! It’s basically just whether you count the variable number in your count. So if the variable is 3, the difference is whether you count 3 first, or 4 first.

This time, the black hat and a bit of the green hat was used. I critically analyzed the information from the video and used the green hat to help me come up with an example. Then, my mentor put on the black hat to try to understand my example, and to see if it was a good representation of the information.

MJ: Ok, that makes a lot more sense to me. But what’s the purpose of the order? I don’t really understand why they implemented this function if it’s such a small difference.

Mentor: It’s mostly just depends on what your counting, or what your preference is. Let’s say you’re counting time, in that case, you can’t count from 0, you have to count from 1. But if we have, lets say… number of people. You need to have the option of counting 0 in the case where there are 0 people.

Finally, in this last bit of the conversation, the black hat and the yellow hat were used. I thought about the purpose of this function and realized that there was probably a better way of implementing this method. But my mentor explained the purpose of the functions using the yellow hat and found the use for this function.

Thanks for coming to check out my blog post again! This one may feel a bit long, so hopefully I didn’t bore you to death. Now that the final In Depth night is approaching, my mentor and I are beginning to work on out final project, so I guess you can start looking forward to that. Thanks again for reading! Just remember, plus ultra, reach further beyond.

– MJ

In Depth Post 4: The Brain Awakens

Welcome back to my in depth! I hope you’ve had a good two weeks since the last post! Since last time, my mentor has been teaching me some new codes and some ways to implement the code. She’s started to take a more independent approach where she just supplies me with the necessary information, and has me problem solve to find how to apply them myself. So after teaching me some material, I’ve been assigned a project where I will need to convert the code into a functioning program. Of course, if I’m completely stumped she will help me out with hints.

So, what exactly did I learn this week? We mostly focused on code that has to do with the calculation of numbers. For example, some of the code that I learned includes how to create variables with decimals, basic arithmetic, and a bit of expanding on previous codes like cin and cout.

To begin with, let’s go over a code called doubles. In my previous posts, I believe that I went over a code called integers that basically allowed you to have numerical variables. Now, the main drawback with integers is that you can only have integers. (It’s kind of in the name) This means that you cannot have variables with decimals. So then, how do you create variables with decimals? That’s easy, you can simply use a code called doubles. This is basically the same as an integer and works similarly except that it can have decimals. However, this brings up the question that I asked my mentor, why do integers even exist? Why not just have doubles as the main way of displaying numbers? The simple answer is just that doubles have very bad rounding errors. In specific situations, the code will round the decimal, but it is not capable of looking at the number and deciding whether to round up or down. So, it will always just round down. This can cause heavy calculation errors, but there are ways to fix this problem. It’s just that it is very difficult to control these errors, making doubles very beginner unfriendly.

Moving on, there is basic arithmetic. This section is relatively easy as it is simply + for addition, – for subtraction, * for multiplication, and / for division. However, there is actually a fifth operator called mod. Mod is represented by a % and a pretty unique operation. When you mod two numbers you are basically dividing the two numbers and finding the remainders. The outcome of the equation will just be the remainder. If this is confusing, don’t worry, I was extremely confused as well, which is why I had to ask for clarification. Since I’m a very visual learner, I mentor if she could explain it in a more visual way. Initially, I was expecting her to show me some equations, but she had a very good visual example prepared.

“So, imagine a circle with points around the circumference, kind of like a clock. Now for an example, lets get the equation, 2 % 12. The second number, 12 represents how many points there are around the circle.”

“Then, the first number basically represents how many steps you’re going to take around the circle, starting from zero. In our example, the first number is two, so if we take two steps from zero, we land on two. So the answer to 2 % 12 is 2.”

“Now, let’s take a more complicated example using the same diagram. Let’s go with… 17 % 12. Since the second number is still 12, the number of points around the circle stays the same. However, this time, we will take 17 steps from zero. So, if you take 17 steps from zero, you will lap around once, and then land on five. So, the answer to 17 % 12 is five.”

Thanks to this excellent example from my mentor, I was finally able to understand it well, and even have a really good understanding about how it works.

Now, the expansions on the cin and cout functions weren’t exactly as important or as exciting, so I’ll skip over it for now since I’ve dragged this long enough. Overall, our meeting looked very much like a one on on lecture style learning. There was very little hands on (evidently shown through the lack of media on this post) as we focused more on understanding the concepts on a deeper level. Much like this post’s chapter in How to have a beautiful mind, this week’s meeting had a heavy focus on listening. In my opinion, my mentor was an excellent teacher this week as she constantly checked in, making sure that I understood each and every concept to the extent she did. She had the answers to my questions prepared before I had even asked, and her explanations were so thorough that I rarely had to interject with any questions. This week especially showed how beneficial it can be to just listen.

Thanks for dropping by today to visit my blog post! I promise that next week will be a lot more exciting with an actual program heading its way to completion. So until next time, plus ultra.

-MJ

In Depth Post 3: The Code Strikes Back

Hey ya’ll! Welcome back to my In Depth blog posts. It’s been about two weeks since the last post, and with the help of my mentor, I think I made quite a bit of progress so far. Last week, I discussed and explained some code like cin, and cout. This week, my mentor and I focused more on expanding on some of the different uses for these codes. We managed to develop two very basic programs, one that simply greets you, and another that is able to calculate what year you were born in based on your age.

So, let’s start off with the code.

The code here is very basic, and is hopefully easy to follow. As mentioned in my last post, the first few lines are simply commands to tell the computer which code libraries we will be using. Now, on line seven, there is the code: using namespace std;. This is a new trick my mentor taught me that can be used for more efficient code writing. I believe I mentioned this last time, but because of the code library that I am using, each code must start with std; to tell the computer which library it is from. However, if you’re only using one library, you can get around having to type it before every code. By saying: using namespace std;, you’re telling the computer that all the code that you are using is from that library, unless specified.

The next topic that I learned about were strings and integers. These are basically what you call the variables. Integers are number variables, while strings are words. So, if you look around in the code, there should be a total of four variables, name, answer, age, and birthyear.

These variables must now be defined. Meaning that we need to tell the computer what each of these represent and what to do with them. To start off, we have name. This is a very simple code that simply asks for your name, and the user must simply respond with an input.

Next, we have age. This is an integer, so we must give it some sort of value to begin with. In this case, we made it equal to 0. Then, the computer will ask the user “How old are you?”. To which the user will respond with their age.

After that, we have answer and birthyear. We created a very simple formula for the birthyear, birthyear = 2021 – age. However, this formula will not be accurate if the user has not celebrated their birthday this year. So, in order to compensate for that, we create a very short code to account for that. By asking, “Have you celebrated your birthday this year?” we can take their answer of yes or no, and can create a if, else code to help accurately calculate the user’s birthyear. So, if the user answered yes, then the birthyear stayed the same because it is already accurate. However, if the user answered no, then the birthyear that was just calculated is subtracted by one.

Then finally, all the variables are gathered and the computer will output all the information that it gathered, and calculated.

All of this work accumulates into this super simple program, that you can watch below.

Now, learning all of these different codes and their uses was extremely tricky. You may understand where I’m coming from just based on the explanations in this blog post. There is a lot of memorization, and understanding these concepts are actually quite difficult. So, there was a lot of back and forth, clarifications, and analogies/metaphors. For example, as she was explaining the portion of the code that accounted for whether you’ve celebrated your birthday or not, I was pretty confused as she was going at a rather fast pace. So, I tried to slow down the conversation by using trying to reiterate what she had just said in a different way. This also helped me to better understand the concept at hand.

Now for next week, I believe that I will be learning some new code and begin developing a new program that will be a bit more complicated that this one. So until next time, plus ultra!

-MJ

In Depth Post 2: The Beginning

Welcome back to my In Depth project! Last time, I just went over my plan for the In Depth project. Questions like who my mentor is, and what I was going to do were all addressed in the last post. This time, the In Depth project has officially begun as my mentor and I have started meeting on a weekly basis.

First off, I had to begin by downloading and learning about the program that we would be using to write the code. The main programs that we are using is called VMware Workstation. This is a program that is able to run other, smaller programs. So, within VMware, we had to download another program called Ubuntu. This is a program that basically emulates a computer or a desktop.

The main difference between this program and a normal computer is that this program was specifically made to support coding, as it has different programs that is able to write and run code. This program took a little while getting used to it, but once I got accustomed to the different apps, we dove straight into coding.

Before learning about coding, I had almost no prior knowledge on any functions, codes, or applications of these parts. So, the first lesson that I learned about code is that it is very precise. The computer can only understand very specific instructions, and will follow and execute those specific instructions. There are so many different functions, strings, and even different languages that when slightly altered, can cause an error within the code. For example, one of the most important rules that my mentor told me was that every command or function must end with a semicolon. Let’s say you had more than 500 lines of code that you wrote. If at least one line was missing the semicolon, the entire code would not work. So, it’s very important to be meticulous and precise when coding.

On that note, the conversations between my mentor and I also had to be equally as meticulous since the topic we were discussing was a complicated and different subject. On one hand, we have someone who has spent years of her life developing this very specific skill, while on the other, we have a high school student with no experience on said topic. So it was important to first lay down some groundwork so that we could understand each other during the conversations. My mentor actually did a lot of back tracking so see how she had first learned coding herself. She put a lot of thought and effort into each of her words so that they were all terminologies and ideas that I could understand. But when she explained an idea to me, I never simply agreed for the sake of agreeing. I tried to come up with analogies that could help me further understand the ideas, and always made sure to ask questions or confirm my understanding.

Now, my mentor and I have only met once so far, but I’ve already learned quite a bit from her during this first session. I was first taught the formatting for code. Each code must start with the command: #include <iostream>. This basically tells the computer what library of codes to use. Even though I am using the language C++, there are many different libraries containing different codes within this language. So, we have to specifically tell the computer that we will be using the code from the library called iostream. Then the two main functions that we focused on were cout and cin. These simply stand for computer out, and computer in. They are what is being output or input my the computer or the “coder”. These two functions can be used to make programs that act as quizzes, or can guess someone’s age based on the information that the person inputs. We also grazed on other functions and commands, but we have yet to go in depth just yet. However, this is only for when you are writing the code. There are also a specific set of procedures and code you must go through just in order to run the code as well. I will not be going too in depth about these commands here, so this is as much as you will need to know for now.

We have yet to develop any impressive code just yet, but by next time, I will surely have some fun little programs to show off. So, I’ll see you next time, cheerio!

– MJ

In Depth Post 1: Coding

Hello! This is MJ, and as In depth starts up again, I have chosen to learn another skill this year. You may or may not remember that last year, I had decided to learn how to play the trumpet. So for this year, I decided to try learning a new skill that has nothing to do with music. So, for In depth, I will be learning coding.

What

To go into more detail, I’ll be learning how to code in the language of C. This will include learning the different functions and code in this specific language, as well as how to apply them in certain situations. I will also learn how to spot errors in my code and to efficiently fix them. Then after I have learned all of the basics, I will be taught how to put together all these different aspects and create simple programs.

Why

So, why did I choose to learn coding? Well, for a few years now, coding has been a skill that I have been wanting to learn, but have never successfully been able to. Coding has so many different applications today whether it’s robotics, communications, or basic entertainment like games. I have seen what code is able to do through videos on Youtube, and just by simply playing a few games. Through these different mediums, I started to become super interested in robotics and game design, and since learning code is the first basic step towards these goals, I soon developed a want to learn coding. In order to reach my goal, I had tried to teach myself coding on three separate occasions, but during all three occasions, I ended up overwhelming myself with too much, then giving up. Soon after, I had tried asking my friends to teach me, but due to the fact that they were not exactly experts in the field, I was unable to learn much from them. I had soon come to realize that in order to learn coding, I needed to have a proper mentor to teach me. Then, In depth rolled along this year, and I had realized how perfect this opportunity was, so I decided to grab hold of it, and here we are now.

Who

My mentor this year is someone who I had just recently met online through a friend of mine over the summer. Her name is Khrystianne (KC for short) and she’s currently an engineer student in university. As a part of her course, she learns coding and has lots of experience with it. So, this year, she has been kind enough to agree to mentor me for my In depth project.

How

Although I have yet to formally meet with my mentor due to the fact that she is currently quarantined, we have discussed a little bit about how this year will look. My mentor has so far mentioned that she has many small projects that she can teach me like for example, a tic tac toe game. The plan is to learn the functions involved in each project before attempting them, and using the projects as a sort of “test” or an evaluation to see what I do or don’t understand. So, my year will look hopefully look like this:

January – February: I will be using the first few meetings to get familiar with the programming platform and language that we will be using. Soon, I will be learning the most basic functions and their applications. This will lead into developing my first simple preplanned program.

March: This time will be used for learning more advanced code, then soon developing a second basic preplanned program.

April – May: The first few weeks will be used to review while expanding on even more applications of the basic code I had learned previously. Soon after, more complicated functions and code will be introduced and I will be beginning to prepare my final project which will hopefully be made from scratch.

What can we do to help?

Since we have not been able to meet just yet, I have yet to face any obstacles. So, I don’t exactly know what kind of help I will be needing. However, I have talked to Mike and we have agreed to help each other out at times when our mentors are unable to because we are experts in each other’s In depth projects. Mike’s In depth this year is piano, and my In depth is coding, and it just so happens that I’m skilled in piano, and Mike’s an expert when it comes to coding. Although I believe that our own mentors should be able to help us out instead, when it comes down to it, I will have someone else to consult if I’m having difficulty.

Progress

Again, I have yet to have been able to meet with my mentor due to her being quarantined, so we have not been able to have a formal mentorship meeting. However, over a few texts, she has recommended that I begin doing some research while she is being quarantined so that I can start getting comfortable with the programming platform and the language. So far, I have researched a bit about the the coding language, C, and am beginning to have a general idea of what to expect from it.

Night Of The Notables: Yiruma

Hello, and welcome to Night Of The Notables! My name is Yiruma, professional pianist, and composer. Although you may not know my name, you might have heard of a few of the pieces that I have written over the past couple of years. Songs like “River Flows in You” and “Kiss the Rain” have been the biggest hits in my career. In fact, my piece “River Flows in You” has become so widespread that many people have nicknamed it the modern “Fur Elise”. If you still don’t know who I am, maybe listening to my music may ring a bell.

Hit the link below to give my piece, “River Flows in You” a listen!

https://photos.app.goo.gl/znZPBTEEgbW7LnVZA

Perhaps you just have never heard of me. If that’s the case, it’s alright, I’ll introduce myself instead!

Ever since the age of five, music has been a huge part of my life. When I lived in Korea, I began to learn piano. I absolutely fell in love with the the instrument, and even began composing my own music when I was only in middle school.

At the age of ten, I moved to England, where I chose to study music. After graduating from the Purcell School of Music, I continued to pursue my dream of becoming a famous composer and studied music in the department of music at King’s College. However, my life took a turn when I released two albums in 2001. These albums ended up being huge hits, and a few select songs were recognized all around the music industry. Now, as the successful musician I am, I have released eight studio albums, composed lots of soundtracks for musicals, films, and plays, and have performed in tens and hundreds of concerts world-wide. To be completely honest, it isn’t easy being a musician, but in the end, I just want my music to be the energy that makes many people want to live a better life. 

Please feel free to comment any questions you have below, and I will try my best to answer them! Thank you for visiting!

Developing the Leaders Around You

The law of explosive growth states that to quickly grow the organization, you must multiply instead of adding. What this law is basically saying is that instead of constantly adding new people into your organization, growing the people who are already within the group will help to grow the company a lot faster. Adding new people into the group may increase the amount of people within the company, but you can only add so much until you either run out of space, or run out of people to lead them. However, if you instead focus on growing the people within the company into new leaders, then they will naturally attract more leaders and followers into the organization, thus growing the company a lot more. I chose this principle because this one really stuck out to me during the presentations. I had never really thought of growing an organization in this way, but when I thought about it, it made a ton of sense to me. For example, last year, during the planning for Night of The Notables, I remember being in a committee that had way too many people. It became difficult to delegate tasks, and many people were not even doing anything. So, if that were to be a real company setting, that company would be wasting a lot of money hiring people, simply to have them sit around and do nothing all day. So, in future event planning, instead of trying to get more outside help, I think I will focus more on developing the people within the group instead.

 

Leaders can make things happen. There are generally four types of people who affect the momentum of a project or a task. First, there are momentum breakers; they tend to stop the momentum. Then, there are momentum takers; they tend to slow; or sap momentum. There are also momentum fakers; they stage momentum and tend to pretend to be doing work that they really are not. Finally, there are momentum makers; they tend to be leaders who start momentum, and make big events or accomplishments happen. In a team, or an organization, you want to mostly have momentum makers since they are usually leaders, and get tasks done. Momentum breakers, and momentum takers are easy to recognize, and are people you do not want on your team. On the other hand, momentum fakers are hard to spot, and tend to go unnoticed. However, in a professional situation where you are paying people to be on your team, you do not want momentum fakers on your team since it will end up being a waste of money. The reason I chose this topic was because this process reminded me of myself. Last year, I was mostly a faker for most of the event planning. I never really volunteered to try new tasks, so I ended up being left behind as an extra who did not really have much to do. However, I decided this year that I did not want to keep being a faker, so I stepped up to a lot more opportunities to develop into a momentum maker. This year, I don’t want any of the grade 9s to become momentum fakers like I did, so I’m trying to push many of the more quiet people to contribute to more tasks, and opportunities so that they have an easier time developing into momentum makers.

 

John C Maxwell states that it is easier to teach what is right than to do what is right. By this, he is saying that your actions and your words must be the same when you are teaching another person. For example, if you say that a good leader needs to contribute, but do not contribute ideas yourself, the people you are teaching will be heavily confused oh which to follow. However, since people tend to follow what they see rather than doing what they hear, they tend to follow the bad examples set by their mentors. John Maxwell has a very good analogy for this. He says that there are two types of leaders, the travel agent, and the tour guide. On one hand, the travel agent sends people to places that they themselves have not been to before. They can give standard advice before your trip, but once you are on your trip, they do not help you. On the other hand, the tour guide assists you on your trip the entire way. They know exactly what they are getting you into, and they know the perfect restaurants, hotels, and landmarks to bring you to. The reason I chose this concept was because this concept was a topic that I struggled with just a bit. I tend not to assign tasks that I do not fully understand myself, but sometimes, I end up being the travel agent, where I give advice in the beginning, but I’m unable to follow through and assist them during the task. In the future, I will try to be like the tour guide, and assign tasks that I know well enough where I am able to assist them the entire way through.

 

There are 6 questions that a mentor and the apprentice must answer to find out if they will have an effective learning environment. The apprentice must ask whether the mentor can do what is required, and if they will do what is required. The mentor must ask whether the apprentice has had proper experience, and if he or she has modeled excellence. Finally, they will both have to ask whether they are compatible, and if there is any mutual respect. By answering these questions, both parties can find out if they will form an effective relationship. If only the mentor answers yes to their questions, while the apprentice does not, the apprentice will not learn much from their mentorship. The same will apply for the mentor if only the apprentice answers no. If either of them answers no to the last two questions, neither of them will be willing to listen to the other, which forms a very ineffective relationship. So, in order to answer yes to all of these questions, you will need to either find a mentor that fits your needs, or gain more experience, and work harder in order to fit their needs. The reason I chose this topic was because it reminded me of my in-depth mentorship from last year. My mentor and I were successfully able to form an effective relationship that led to fast, and efficient learning. For future TALONS trips, I will strive to be able to teach what is required and become a successful mentor by gaining more experience and knowledge in order to ensure that my apprentice can say yes to all of the questions.

 

TALON Talk

Hello! Welcome to my Talon Talk!

This is MJ, and my topic is: How do different liquids alter the time that it takes for rust to form on Iron?

Talon Talk

Thanks for watching! Feel free to comment any questions below!

-MJ

Final In-Depth Project

Hello there, welcome to my blog!

My name is Myung Joon (or MJ) and I’m currently a grade 9 in the TALONS program.

For the past few months, I have been working on learning a new skill with a help of a mentor, and for this, I have chosen to learn how to play the trumpet.

With the help of my mentor, Daniel Kwong, I have managed to develop this skill in a matter of months, and below you will find a video that I have prepared for today. Go ahead and watch it, and I hope you enjoy it!

(I suggest turning your volume down a ton if you don’t want your ears blown out.)

The bestest video ever

Thank you so much for watching the video, and just sticking through the video. Don’t forget to comment below if you have any comments or questions, and I’ll try to answer them to the best of my abilities.