Our artifact
Our artifact
Communication was most impactful when we were writing the algorithm for another group to build our artifact because without good instructions, they were confused as to what to do, where to cut, where to tape the ears and mouth and eyes, what to do with the popsicle sticks, etc. It did not help that we did not finish writing the algorithm before it was time to have the group test it out. This made the group not able to make their artifact the same as ours because they did not have the instructions on how to do it. Bad instructions or lack of communication led to them not being able to accomplish the task well.
When I was learning/ receiving information, I noticed that there are always follow up questions and that I never understand the information the first time I am hearing it. When I am teaching / providing information, I notice that I try to tailor what I am explaining to the person I am talking to and assume their knowledge level. For example, if I was trying to explain to my mother what cellular automata was and how to make it, I would probably go more in depth on loops and coding languages than I would if I was talking to a CS graduate, because my mother does not know anything about programming (no hate to my mother! Love you Mom!). I also use body language and facial expressions to gauge if they understand me or not. For example if their eyebrows are knitted together and they are frowning, I might go into more detail about what I am currently explaining, but if they are more relaxed or they have a face of understanding, I might skip over some of the finer details.
Some features of strong communication skills are knowledge or mastery of what you are talking about to be able to tell others the right information and to answer any questions they might have, being able to read body language to tell if someone is not understanding, feeling confident speaking to others, and being friendly/ being able to relate to their learning experience / not making the learner feel dumb when they ask follow up questions.
Problem: I need to know others in the robotics and computer science industry to be able to get help with applications to jobs, and have peers to talk to about the industry.
Issue: I do not know that many people in the industry.
Input: Opening message on The Gates platform to an alum to see if they can chat.
Output: No response yet. I messaged them on Sunday and they did not get back to me.
Desired behavior: Positive response to the request for a chat, Alum offering a job or internship opportunity, make a new connection with a peer in the community where we will continue to chat after the assignment is due.
Instruction set: Find an alum and message them
Algorithm to network:
1) Find an alum in the computer science or robotics field. Search LinkedIn or The Gates to find an alum. Use filters to narrow down your search.
2) Message the alum a nice non-pressuring message.
Bring up something in their bio or work history.
Ask a question about their work or life experience. People like to talk about themselves.
Do not ask for a job or internship right out of the gate.
Say a few sentences about yourself: who you are, your grade, your major, anything you have in common with the alum, but focus on the alum. Keep your bio to 2-3 sentences max.
Try to make it brief: two to three paragraphs maximum. Alums probably don’t want to read a 5 page paper in their DMs
Thank them for their time
This step can be the hardest part for me because I have anxiety about my words and phrasing.
3)Proof read the message. Check for grammar, or spelling mistakes.
3.5) Ask a friend to look over your message.
4)Send the message. Give them time to respond (like a few days).
If you get a response:
5)read what the alum has written
6) craft a response based on what the alum has said. Ask follow up questions or new questions. Be polite. Thank them for their time. This step can also be hard because I worry about the exact phrases
Reflection on networking:
Something that was challenging about networking is that I had time with my phrasing. Choosing the right words was hard for me. I was worried about saying something the wrong way and getting ostracized by the alum. Another thing that was hard for me was that my alum did not respond back to me when I messaged them even though I reached out to them on Sunday. I used The Gates to reach out, which I have since learned is not something my alum checks often. I should have used LinkedIn. Calling back home and using my resources to help craft the opening message to my alum was really helpful. Using LinkedIn and The Gates was useful to find the alum too. I think in the future, I will still be nervous to message others to network, but now I know that I should use LinkedIn to message and to send a reminder message a few days after I sent the message.
How might each reading define the word "algorithm"? Are there similarities or differences?
Forrest defines algorithm as iteratively performing an action; For example, editing a byte string to make it more or less fit.
Moseley defines algorithm as continuously giving the same input, while also having a little hand in the output; For example, rolling a dice to get the order of the musical stanzas but editing the stanzas to make them more cohesive.
Similarities: Both use recursion or repetition to get a goal accomplished, and both use editing to change the original source material a bit.
Differences: Forrest edits bytes, Moseley edits notes of a song. Moseley can get a sense of what the final product looks like while editing, Forrest is editing sort of blind ( they can infer or make educated guesses as to what the final product looks like, but does not really know)
How invested/interested are you in the approaches? What could be impacting this?
Forrest’s approach seems more intuitive to me with a background in programming and CS
Moseley’s seems a little more complicated to put into code form but does seem more interesting. It also seems like I would get a result I would be happy with, whereas with Forrest's approach, there is a chance that I would not like the final product because we are leaving it to chance.
Would you be able to explain to someone else what the algorithms are about?
Forrest: get a first set of bits to order around, then either mutate them or cross them over to get a second set of new bits using their parent’s fitness or genetic advantages to decide how to shuffle the bits and repeat until you get close to the best shuffling of the bits
Moseley: roll a dice, use the dice to pick out the corresponding numbered score from a list of musical stanzas, add that to the first slot of our song, roll the dice again, add the corresponding numbered score, continue until you get to the desired length, edit the song to make it flow better. Congratulations, you have a new song to impress everyone with!
You can view problem solving in many different ways, but three examples are Computational thinking, Design thinking, and Entrepreneurial thinking. Computational thinking is when you think algorithmically by breaking down the problem into the smallest step possible, being abstract, and being efficient. Design thinking is designing a solution that is desirable, viable, and feasible. You would do this by framing a question, getting inspiration, generating ideas, making a prototype, testing, and sharing to others. Finally, Entrepreneurial thinking is dealing with uncertainty by considering edge cases, using high level thinking, trying new tools, talking to peers, and being efficient. Computer science makes it easier to understand how to implement these problem solving techniques. I have had to problem solve so many bugs and figure out the best, most efficient way to implement an idea, and these problem solving skills are exactly what I use to do so. It is not even tied to computer science. When I am making my schedule and budgeting my time, I use computational and design thinking to break down the time I have available and what needs to get done the most efficient way possible.
Computational thinking, design thinking, and entrepreneurial thinking are all ways to solve a problem. They all are skills that can be applied to fields outside of computer science or even academia, and they all respond to feedback and errors and adapt or pivot.
Initiative is needed in problem solving to take action when there are errors and be able to pivot . Without initiative, change would not happen because initiative is needed to take the first steps toward change.