I'm a Computer Science graduate of the University of Utah, where I focused mainly on Artificial Intelligence and Bioinformatics. I currently work on Cigna's flagship iOS app - I specialize in the chat functionality where users can talk with Clinicians about their treatments and medications, and also with customer support agents who can help them with insurance related questions. At work I mainly use Swift and Objective-C. For tutoring and various side projects I specialize in Swift, Python, C, and C++.
My goal is to use my experience and knowledge of Computer Science to help others realize their career and educational goals, or even just learn an interesting thing or two. I have taught others for a large part of my life, including tutoring kids in Spanish during High School, helping my younger sisters with their Math courses, helping Computer Science underclassmen during the end of my undergraduate program, and helping train new employees at work. Computer Science is a very important subject in today's world, and is applied in many different fields such as healthcare, biotech, finance, sports, gaming, and education. As such, I've become very passionate about it and I love being able to show people the different ways in which it can be used. I believe that a good foundation in the basics of computer science (including an understanding of the most common data structures, algorithms, and design paradigms) is necessary to fully excel in such an exciting field.
When I'm not programming, teaching, or reading up on new technology, you can probably find me discovering new music, at a concert, snowboarding, on my bike, or practicing yoga.
Education & Certification
Undergraduate Degree: University of Utah - Bachelors, Computer Science
Concerts, Biking, Yoga, Snowboarding
What is your teaching philosophy?
I like to identify the areas which students currently understand and which areas are a little murky. From there I tend to break down problems into as many sub problems as possible and explain them in a way that the student most easily understands, using analogies and other methods. I find this works because computer science is essentially problem solving - creating software is finding a way to instruct the computer to execute a certain task, and creating algorithms involves breaking down data into subsets to find the desired solution.
What might you do in a typical first session with a student?
I like to identify what they know and what they would like to achieve. The foundations of computer science are universal, but from there there's many different directions one can take it. Different disciplines require different solutions. I also like to see what programming exposure they already have, if any.
How can you help a student become an independent learner?
I like to step through problems by asking questions and getting students to think about what would happen in different scenarios. I also like to show students how to turn hard problems into more easily solvable problems.
How would you help a student stay motivated?
I like to show students the real-world applicability of what they're studying and why it matters. Studying is always more fun when you believe that it'll actually be useful! I also like to give interesting problems that are already solvable with their current skill-set, but gets them to use a different way of thinking.
If a student has difficulty learning a skill or concept, what would you do?
I would identify what part of the concept they are having trouble grasping and try to take a different approach to solving the problem. Oftentimes, there are multiple ways of solving problems - perhaps the student can use other skills they have learned to understand the concept in a different way.
How would you help a student get excited/engaged with a subject that they are struggling in?
I would start by finding questions that aren't too far above their current skill level. Studying can be boring when it’s too easy and overwhelming when it’s too difficult - but finding material that is interesting and challenging, yet within one's grasp makes things a bit more exciting. Oftentimes, problems can be broken down to fulfill this task, or we can make sure that all of the basics are well understood already.
What techniques would you use to be sure that a student understands the material?
I would ask students to paraphrase the material we're going over, to make sure that they understand it enough to put it into their own words. I also like to ask more open-ended questions to allow them to be creative when applicable.
How do you build a student's confidence in a subject?
I like to maintain a light-hearted attitude in tutoring sessions and provide positive feedback when a student genuinely does good work. I would also make sure that the problems they are working on are stimulating enough that they feel accomplished while solving them, but not so hard that they feel overwhelmed. Harder questions will be solved in due time.
How do you evaluate a student's needs?
I like to do a quick assessment related to the material we're currently studying. That may involve questions about other related classes they may have taken and how they felt about those classes, and some quick problems that demonstrate relevant knowledge.
How do you adapt your tutoring to the student's needs?
Different approaches work for different people. Some students need to see some step-by-step examples first, some learn best by writing things out (even if they don't have the answer right away), so on and so forth. I like to see which techniques work by seeing how long it takes students to solve problems, and then preparing for sessions with their needs and preferences in mind.
What types of materials do you typically use during a tutoring session?
I typically use any and all online resources that are available - there are many great references online for math and computer science. I've also held onto some of my favorite textbooks from college to refer to also. Finally, despite being more technology oriented, sometimes there's nothing better than pencil and paper when trying to solve a math equation or figure out an algorithm.
What strategies have you found to be most successful when you start to work with a student?
I like to start by going over the syllabus for the class, so that I have a better idea of what's to come and I can structure the sessions accordingly. From there, I find it’s good to create a set time to meet each day or week to make sure that they'll be able to get help for as long as they need it. Lastly, I also like to establish a friendly connection so that they don't feel intimidated and can then focus on learning.
How do you help students who are struggling with reading comprehension?
I would encourage students to make inferences about the words they are reading. For example, if they don't know a word I would ask them "what do you think that word means in that sentence?" or "what do you think is going to happen?" Encouraging students to be mindful about what they are reading can often help them piece things together.