Skip to main content

teaching philosophy

Learning is an active process where you don’t just sit and listen to your teacher talk. Instead, you get to use your brain to solve problems, think deeply, and reflect on your experiences. In class, we work on skills like thinking critically, collaborating with others, communicating clearly, and managing our time effectively. I want you to get excited about what we’re learning and see how it connects to the world around you.

As your teacher, I care about making sure everyone feels included and valued. The role of a teacher extends beyond the classroom. I want to help you achieve your long-term goals while focusing on what’s important right now. Education is not just preparation for a professional career; it is a vital part of your life.

Throughout my career, I have mentored more than 50 students, from high school to graduate school. I have developed and taught courses in computer science. In addition, I participated in various summer schools, the REU Site: Socially Relevant Computing and Analytics, and the NSF Alliances for Graduate Education and the Professoriate.

One thing which fascinates me is how technology can improve learning. I’ve spent almost ten years working with NCSU’s Engineering Online distance education program. I’m always looking for innovative ways to teach and share information. I am particularly proud of my animation library, which uses interactive media to teach scientific concepts. Currently, I’m exploring the programming language, Julia, to see how it can be used in the wild world of bioinformatics and metaheuristics.

Current Courses

  • Spring 23: Metaheuristics for Search and Optimization (CSC/ECE 591 & CSC 791)
  • Fall 23: Design and Analysis of Algorithms (CSC 505)
  • Fall 23: Computational Methods for Molecular Biology (CSC 530)

Previous Courses

  • CSC 316 – Data Structures for Computer Scientists [Fall 2006, Spring 2010 (buyout), Spring 2011]
  • CSC 422/522 – Automated Learning and Data Analysis [Fall 2010 (2 sections), Fall 2013 (2 sections), Spring 2015]
  • CSC 505 – Design and Analysis of Algorithms [Fall 2004, Spring 2006, Spring 2008, Spring 2009, Fall 2009, Fall 2011, Spring 2013-15, Fall 2015 (3 sections), Summer 2017, Fall 2017 (3 sections), Summer 2018, Fall 2018 (3 sections)]
  • CSC 530 – Computational Methods for Molecular Biology [Spring 2007-10, Fall 2011, Spring 2013, Fall 2014-18]
  • CSC 591 – Special Topics in Computer Science: Comparative Genomics [Fall 2007, Spring 2008]
  • CSC 591 – Special Topics in Computer Science: Modern Topics in Bioinformatics [Spring 2004]
  • BI/GS 811 temporary number PP 810/610G – Genomic Science Journal Club [Fall 2004 (2 sections), Spring 2005 (3 sections), Fall 2005 (3 sections), Spring 2006 (3 sections)]
  • CSC 791 – Advanced Topics in Computer Science: Computational Genomics [Fall 2010]

Other Teaching

  • Summer CSC 495 Special Topics Course: Nature-Inspired Computation with Julia, 5 weeks Summer course, 2017, 2018
  • SummerSummer Short Course in Bioinformatics: Expression Analysis, 2 days course, Raleigh, June 2016
  • Summer Institute in Statistical Genetics: Introduction to Bioinformatics, 2.5 days course, Raleigh, May 2003-2005, and Faro, July 2004
  • Lecturer, Pan-American Advanced Studies Institute: Hands-on training – Searching biological databases, Montevideo, February 2004