Teaching Philosophy/Diary

The page is a diary of my teaching experience and I will update them from time to time 🙂 Selected students’ works will be updated in the following website and you may access them by clicking the following button. The “Diary” button shows my teaching philosophy in chapters that is sorted by dates.

Apr 8th 2026

The Joy of Teaching through Mutual Growth and Discovery

Teaching programming is especially meaningful to me because I grow alongside my students. When I assigned an API project, they came up with creative and unexpected ideas for how APIs could be used. I told them that in coding, almost anything is possible, and that is part of its beauty as well as its craftsmanship. Of course, I could not possibly know how to use every API in the world. Each group identified free APIs they wanted to explore, and I spent considerable time learning the four they selected. That experimentation process was exciting, and I enjoyed every bit of it.

Once I familiarized myself with the APIs, I guided students through the process of reading documentation, obtaining API keys, understanding requests and responses, and working with concepts such as fetching data, GET methods, and JSON parsing. From there, we moved into implementation: building interfaces for user interaction through dropdown menus, buttons, and other controls; retrieving data from APIs; and displaying the results meaningfully within those interfaces. I also emphasized the larger methodology of working with APIs: identifying a problem or need, selecting the right API, studying its documentation, testing endpoints, handling errors, structuring data flows, and designing an interface that makes the retrieved information useful and accessible to users. In this way, students were not only learning syntax, but also learning how to think through the full lifecycle of a small software project.

Some groups needed more coding support, while others, having prior programming experience from other classes, found their way more independently. I enjoyed meeting each group where they were and helping them develop confidence in problem-solving. I like feeling challenged, and I genuinely enjoy the process of finding solutions through programming. For me, teaching is not just about delivering technical content; it is about building the mental infrastructure students need to navigate a rapidly evolving world shaped by new technologies and shifting ways of thinking.

This leads me to larger questions that matter deeply in my teaching: What kind of human capacity will the future demand? What qualities will students need in order to thrive? I strongly believe in learning by doing. Practical experience allows students to absorb theory quickly and meaningfully because they encounter concepts through direct, hands-on engagement. In many ways, my teaching also has a phenomenological dimension: we learn first through lived experience, through observation, through stimulus and response, and through the gradual formation of understanding from direct interaction with the world. These are fundamental human capacities, and they remain essential even in highly technological environments.

I believe creativity and novelty will be crucial for the future. As technologies increasingly replace repetitive and tedious forms of labor, we must ask how we are preparing students to position themselves in that changing landscape. I see my students as collaborators in this process. As we build projects together, we exchange ideas, test possibilities, and imagine value beyond the classroom. I encourage them to think critically about whether what they create belongs to a crowded “red ocean” or opens up a new “blue ocean.” What value does an interface offer? What problem does it solve? Where might it sit in the market or in society? Even if students do not fully grasp these questions now, exposure to them before graduation gives them a stronger foundation for the world they are entering—and helping to shape.

This is how I lead my class. I try to remain actively engaged throughout the learning process, offering guidance, encouragement, and structure as students develop their ideas and bring their projects to life. Because there are many moving pieces in this kind of work, I make a strong effort to help the class move forward smoothly while still leaving room for exploration and discovery. I am proud of what I do, and I also know there is always more for me to learn and improve. Still, for a first year, I feel grateful for what we were able to accomplish.

April 14 2026

SharkTank: Appetizer, Main Course Dessert

What I value most about the Shark Tank project is that it teaches students how to shape an idea into an experience that can be understood by others. I often think of the presentation structure as an appetizer, a main course, and a dessert. This metaphor helps students understand that presenting a project is not simply about delivering information in sequence, but about creating an arc of attention, understanding, and memory. Each stage serves a different purpose. The appetizer invites curiosity, the main course offers substance, and the dessert leaves behind an impression strong enough to carry the project forward in the minds of others. In this way, students begin to see that building an interface and presenting it are deeply connected acts of design.

The appetizer is where students practice invitation. At the beginning of a presentation, they are not yet trying to explain everything; they are trying to open a door. I want them to think carefully about how an audience first encounters an idea. What makes people lean in? What creates curiosity, recognition, or even surprise? This opening moment asks students to distill their project into something clear, intriguing, and approachable. It teaches them that communication is not just about clarity, but about timing and atmosphere. A strong introduction creates appetite: it prepares the audience emotionally and intellectually for what is to come.

The main course is where students reveal the depth of their process. Here, the project moves from impression to investigation. They explain how the interface works, how they developed it, what challenges emerged, and how those challenges shaped later decisions. I see this as one of the most important pedagogical moments in the assignment, because it teaches students to make their thinking visible. Development is often messy, nonlinear, and full of revision, but that is precisely what makes it meaningful. When students discuss debugging, research, user feedback, visual refinement, or code comprehension, they are learning to narrate process rather than simply display results. They begin to understand that technical work is also reflective work, requiring observation, interpretation, and the ability to respond thoughtfully to obstacles.

Within this main portion, I also ask students to evaluate their project from multiple perspectives. This encourages them to move beyond the question of whether something merely functions. Instead, they must ask whether it communicates well, whether it feels intuitive, whether it can be improved, and how it might be perceived by others. These are forms of judgment that are essential for any creative and technical practice. Through user testing, optimization, personalization, graphical development, code explanation, or comparative research, students start learning how to assess the quality of an experience rather than just the completion of a task. In doing so, they become more aware that a digital project always exists in relation to users, contexts, and expectations.

The dessert, to me, is where students learn the art of resonance. A conclusion should not feel like an abrupt ending; it should feel like a continuation of possibility. I encourage students to think of this final stage as the moment when they leave the audience with an aftertaste—something memorable, thoughtful, or forward-looking. What remains after the demonstration is over? What future does the project suggest? What kinds of collaborations, expansions, or new directions might grow from it? This part of the project is especially valuable because it helps students understand that creative work is rarely fixed or final. Even a classroom prototype can carry the seed of a much larger idea. By articulating future potential, they practice seeing their own work not as an isolated assignment, but as something that could continue evolving.

What I appreciate about this appetizer-main course-dessert structure is that it gives students a way to organize not only their presentation, but also their thinking. The opening teaches them to frame an idea, the middle teaches them to examine and support it, and the ending teaches them to extend it into the future. Together, these stages help students connect multiple forms of learning at once: technical fluency, critical reflection, audience awareness, and imaginative projection. They learn that making an interface is not just about code, and presenting a project is not just about slides. Both are acts of shaping experience. That integration is one of the reasons this assignment matters so much to me.