I am a graduate teaching assistant in CS 1014: Introduction to Computational Thinking and was previously a teaching assistant in CS 1114: Introduction to Software Design. As I reflect over my years of learning and few years of teaching, I have come to develop certain beliefs about teaching and learning which has become part of my teaching philosophy. As a computer science instructor, my objectives for a classroom would be to encourage agency in learning, use the knowledge gained from the classroom in real-world scenarios, and help students prepare for future learning. As an instructor, I hope to translate these beliefs into classrooms practices:

Encourage agency in learning:

Students have different backgrounds and come from different learning levels. I believe, as an instructor, it is my responsibility to meet students at their level and help them move forward in their learning. But this also means that students should believe that they are the driving force in the learning process. With this in mind, I have always designed my course such that students are incentivized and motivated to take charge of their learning (a sample of a designed syllabus for Introduction to Computational Thinking can be seen here).

Assigning pre-class readings which introduces students to the topic that will be discussed in the class and allocating time for a short question-and-answer session about the reading before the lectures are two activities that I see myself including as part of my teaching process. As a student, I have found both of these to be helpful. Both of these practices will help students make the most of the class time while imbibing the idea that they are the ones driving the learning.

Additionally, to encourage agency, I encourage students to come up with topics for their project works. Allowing such autonomy and self-determination helps students to grow. Furthermore, I also allow resubmission of assignments and project works so that students remain focused on learning rather than performance.

I use digital infrastructure to support resource sharing and discussions. Research, including mine, has shown peer-to-peer learning to be effective. I highly encourage students to question, answer, and discuss issues in the forum. I also share and encourage students to share, resources in the forum. Here too, students drive the learning process with me (and TAs) functioning as facilitators.

Negotiate with the constantly changing world:

Society constantly changes and the field of computer science changes rapidly. Things that were considered extraordinary in the past are commonplace now and may become obsolete in the future. Change is the only thing that remains constant. Within this changing environment, I like to help my students be able to negotiate and handle such change.

In a classroom, I encourage my students to bring up topics for their project works. These topics and the expected progress are negotiated with me. Additionally, I focus on the social aspects of learning particularly in group-based learning experiences by having project works in groups. The digital infrastructure also helps in promoting peer-to-peer learning. I have found that all these measures help students to negotiate and handle change.

Algorithms, data structure, system design, visualization systems, or any computer science topic will have implications in society. Students will need to critically think about those issues and not just the subject content. Hence, I will encourage students to critically look at the “real world” wearing the topic-related lens mostly through problem-based assignments (such as this). I had a class where we read technology news articles and follow events, and think about the topic we were learning in class with respect to those articles and events. This helped me ground my knowledge to practical use and I found it to be really helpful. I continued this practice in my classrooms where students wrote articles critically assessing technological trends or events that are relevant to the course. I see myself continuing such process to help students deal with the changing world.

Preparing for future learning:

I empower students to become knowledge seekers. For this to occur, students have to be curious and have an intrinsic motivation to learn. I have found that by setting classrooms which have project-based learning environment help in fostering curiosity in the students and I see myself continuing this practice. Furthermore, allowing students to negotiate project works and think of current events in light of the course content helps them decide what and how they want to learn in the future.

I strongly believe, both from my experience in classrooms and research that summative assessments are not the best way to evaluate student learning. I have not enjoyed being in classrooms that have only tests as an evaluation of student learning. Hence, I heavily rely on formative assessment methods by providing feedback on project works, assignments, class and lab participation. Ongoing feedback helps students to learn deeper. Additionally, it has also helped me to adjust and improve my teaching methods. I focus more on the process than the outcome. I also promote self-assessments and explicitly ask students to submit a summary of their learning experience in the class. Exams, if any, will have less weight and will be flexible to suit different styles of learning such as by providing take-home exams.

Over the years, I have come across enthusiastic and brilliant teachers who have helped me become a better learner. Being in their classes and seeing them teach has made me passionate about teaching and learning. The principles that I describe above are some of the things that have helped inculcate the passion in me. I hope, that by following these principles, I can help my students to instill agency and passion in learning.