Teaching
As a Teaching Assistant at Iowa State University, I am dedicated to creating an inclusive and dynamic learning environment that enables students to excel in computer science. My teaching approach emphasizes practical application of theoretical concepts, encouraging students to develop hands-on experience in software development, user interface design, and database management. I believe in preparing students for real-world challenges in the technology industry through project-based learning and personalized support.
Courses I have served as a Teaching Assistant or Mentor in:
COMS 1130 – Spreadsheets and Databases
Foundational course in using tools like Microsoft Excel and Access for data organization, analysis, and reporting. Students learn formulas, pivot tables, queries, and form design for practical business and data applications.
COMS 3090 – Software Development Practices
Fall 2022, Spring 2023, , Spring 2024
Hands-on course focused on modern software development practices, including Git, Agile methodologies, code reviews, unit testing, and CI/CD. Students engage in team-based projects that simulate real-world workflows, emphasizing collaboration, documentation, and iterative development.
COMS 3190 – User Interface Design
Explores the principles of designing user-friendly and efficient interfaces. Combines hardware and data-driven UI practices, integrating Raspberry Pi for IoT applications and Nodejs for fronted visualization and interaction.
COMS 3620 – Object-Oriented Analysis and Design
Fall 2020, Spring 2021, Fall 2021, Fall 2024
Teaches how to model and design software systems using object-oriented principles. Emphasis is on UML diagrams, design patterns, and implementation in Java to build modular, maintainable, and scalable software.
COMS 3630 – Database Management Systems
Covers the fundamentals of database architecture, data modeling, and SQL. Students gain hands-on experience with relational databases and explore indexing, transactions, normalization, and database design.
COMS 4170 – Software Testing
Focuses on the principles and practices of software verification and validation. Students learn to design and execute test cases, use debugging tools, and apply automation frameworks to ensure software quality and reliability.
Future Goals
I am committed to continually improving teaching methods and curriculum design. My goals include:
- Incorporating emerging AI and software development tools into teaching.
- Creating interactive, hands-on, project-based learning environments.
- Contributing to the computer science education community through curriculum research and mentoring.
- Expanding opportunities for students to apply theory to real-world computing challenges.
Reach out via email if you’d like to collaborate or learn more.