I graduated from Georgia Institute of Technology in Computer Science and currently a Software Engineer in NCR Corporation in Atlanta. I was a TA for two years while I was in school and became senior TA for a course for a year. As TA, I had to teach recitation, create exams and hold office hours where I provide one-on-one tutoring for students in need. It is only then I developed a passion to teach programming.
Every semester, I think of ways to explain a concept differently so that it can be easily understood, turn something abstract visible to students so they absorb the knowledge. I was rated 5 out of 5 (without rounding) in all my TA review from the students but the first one. These reviews gave me motivation to continue on and improve what I didn't do well the past semester.
Now that I graduated, I would hate the resources I created over two years go to waste, I want to gives the resource to whoever wants it. Hence, I created this platform to continue teaching. I hope this project can help people who struggle to learn programming or wish to have some programming resource to start with. Teaching is an amazing profession in my opinion.
My Thoughts on Teaching
The Experience while learning is important in your further studies.
I believe intro-courses are more important than advanced course on the road of learning.
A student may not remember 50% of the things I taught, but they will remember, that when he/she was in a intro-course, there is someone who cared, someone who about whether a student understood some concepts and not just GPA. The learning experience during an intro-course plays a crucial role in the long and broad road of programming. Many people can relate that a person can be really good at what he/she is doing, but he/she might not be able to teach it well to others. This is resulted from two reasons.
1. The person is a genius, he/she didn't struggle much while learning, thus, he/she doesn't understand "what is there to not understand"
2. It has been too long since he/she learned the knowledge, so he/she forgot about the common pitfalls, misunderstanding of a concept.
Because I see these issues in teaching, I avoid making the mistakes exist in the teaching world.
It Is Never Too Late To Start!
Yes, people could've started a lot earlier than you did, but catching up and surpassing them isn't against the rule now, is it?
During office hours while I was a TA, students often tells me "I am so worried, other people have learned so much programming in high school and I didn't, I started too late. I don't know if programming is for me." I would respond to them: "I was a Biology major and only switched to Computer Science my third year, and now I'm doing just fine! You guys already have a two year head start than me, there is nothing to worry about."
In my full time position, there is a person whom I greatly respect. Although he is a manager of another team. I often go to him for help whenever I hit a wall in coding. He will then guide me through the barrier I'm facing and explain the reasoning behind it. To me, he is a great teacher and a great leader. It is only after a few months in that I knew that he graduated with a Biology degree and only started coding from a boot camp after graduation. Started from a boot camp and now, a team lead and manager! Him, and many others are living proof that it would never be too late to start learning.
If the thought "starting too late" has ever crossed your mind, please highlight that thought, and press the delete button as hard and as many time as you can, until that thought is permanently deleted.