Fall 2018 TA for Elements of Software Design (CS 313E)

Undergraduate course, The University of Texas at Austin, Computer Science, 2018

This is the second course in the Elements of Software series. The emphasis of this course is on software development using object-oriented methodology. This course includes how to design software, how to create reusable software components, and how to compose programs from already available components. Furthermore, students learn about some basic data structures and algorithms and how to match the data structures and algorithms to problems.

Spring 2016 TA for Objec-Oriented Programming

Undergraduate course, UNIST (Ulsan National Institute of Science & Technology), Computer Science and Engineering, 2016

The main focus of this course is to develop object-oriented programming skills and to make students comfortable with C++ class implementation. This course requires students to implement a large number of small to medium-sized programs.

Spring 2015 TA for System Programming

Undergraduate course, Hongik University, Computer Engineering, 2015

The goal of this course is to introduce the fundamental organization and structure of computer systems. This is done in the context of system related C programming. Topics include Boolean logic, data representation, processor organization, input/output, memory organization, machine-level code, system support software and communication that form the basis of upper-level systems courses.