My primary goal as an instructor is to ensure that students master the fundamentals of electrical and computer engineering and then apply those concepts to tackle new and exciting problems they’ll likely encounter after graduation. To achieve these goals within the classroom, I employ a mix of hands-on learning activities, student-active lectures, and group design projects that encourage collaborative and creative approaches towards problem solving. I developed these techniques while serving as a graduate teaching assistant (TA) for multiple courses at Duke University. For my TA work, I was awarded the Electrical and Computer Engineering (ECE) Department’s first Graduate Teaching Award for Outstanding Course Administration and was asked to share my teaching techniques with colleagues as an invited speaker at the 2015 Pratt School of Engineering’s Graduate TA Training Workshop. During the 2015 fall semester, I became the co-instructor of record for a twenty student ECE graduate course regarding integrated molecular circuits, and in the summer of 2016, I became the first instructor of record to teach Duke's ECE 350 Digital Systems course in a condensed, six week format.

Hands-On Learning

As a student, I often found that even after paying close attention to course lectures, it wasn’t until I worked on the homework or completed a lab assignment that the details became completely clear. I believe that these hands-on experiences are essential for learning underlying concepts rather than superficially understanding lecture material. Now, as an instructor, I look for ways to integrate various hands-on learning experiences into my courses. For instance, when I became the co-instructor for integrated molecular circuits, I developed an entirely new lab component for the class. This included a series of short lectures and lab assignments that provided students with the opportunity to physically fabricate a subsection of a molecular computer piece-by-piece. At each lab session, I lectured for 20-30 minutes in order to cover the broad, interdisciplinary range of topics necessary for understanding the material. Students would then break into groups of two or three to complete a hands-on lab activity, which ranged from making simple buffers to characterizing molecular devices. These lab sessions not only reinforced important lecture concepts but also gave students a chance to actually assemble and characterize a molecular system that they would have only heard about in previous iterations of the course.

Student-Active Lectures

For courses in which hands-on lab activities are not an option, students sometimes have trouble staying engaged. To address this, I use a variety of lecturing methods that encourage students to actively participate and apply new concepts shortly after learning them. Borrowing a technique from a previous instructor of mine, I now begin lectures by reviewing the important ideas introduced during the previous class session. Students are randomly chosen to answer questions about the past material and explain recently taught concepts to their peers. These low-stress review sessions reinforce lecture material and ensure that students are engaged as soon as they enter the classroom. To keep students active throughout the remainder of the lecture, I’ll often walk them through example problems on the board and then have students work in small groups to solve similar or more challenging problems during class. Afterwards, I’ll again randomly choose one or two students to explain their solutions or describe where they may have had trouble. In-class problem sets give me a chance to evaluate my own teaching by determining where students are struggling and adjust the pace of the course if needed. More importantly, these problems encourage students to pay attention to the lecture and keep them engaged by breaking up the class period.

Group Projects

After graduation, students will find that collaboration is often necessary for solving large, real-world problems. Group projects foster this sense of collaboration in the classroom, while simultaneously giving students the opportunity to think more critically about a specific subtopic that interests them. When teaching the integrated molecular circuits course, students were given two options for their final group projects. They could either design an entirely new molecular device based on concepts from the literature, or they could create a hands-on activity for teaching nanoscience concepts to K-12 students in a museum setting. The first option gave students interested in academic research a chance to explore the field while the latter route provided students with a creative outlet for demonstrating their mastery of the material. Examples of the latter project option included board games that taught children about molecular fluorescence and computer games that explained how DNA is synthesized. Positive feedback from the students suggested these types of group projects are a fun and effective way for them to show what they had learned.

Course Organization

In addition to the teaching methods outlined above, students respond positively to a well-organized class. In the spring semester of 2015, I had the opportunity to learn about proper class structure by serving as the graduate TA for a large undergraduate computer architecture course. With over 120 students enrolled, the department assembled a team of 15 undergraduate TAs (UTAs) to teach recitation sections and grade homework assignments. To coordinate these UTAs, I organized and ran weekly meetings that required attendance from at least one UTA per recitation section. These meetings gave the UTAs an opportunity to ask any lingering questions about the following week’s recitation, which guaranteed that all recitation sections ran smoothly and covered the same material. These weekly meetings also served as a tool for evaluating and changing the course as the semester continued. Fair, uniform grading is also essential to a well-structured course. During my previous TA assignments, I developed rubrics for homework assignments, graded midterms and final exams, and made sure that students did not break Duke’s academic code of conduct. For this latter responsibility, which I take quite seriously, I use Stanford’s Measure of Software Similarity, which compares students’ coding assignments to one another to detect plagiarism. I have automated this process for future instructors by writing a script that directly interfaces with the course building website Sakai. Feel free to download and modify this code for your own use.


As I continue to gain teaching experience, I will be dedicated to improving my performance, as measured by the success of my students. For future courses, I plan on creating my own student evaluations to assess the efficacy of the projects and classroom activities that I develop over time. After each assignment, I’ll collect student feedback and use their responses to shape the remaining assignments and future iterations of the course. I also hope to explore new methods of teaching, like the flipped classroom approach, which embodies the aspects of hands-on learning that I find so important, or seminar based approaches for teaching graduate students about entirely new fields of study. Much like with research, exploration and critical assessment are essential to refining and improving one’s instructional techniques.