Teaching Major Courses Taught Undergraduate Logic Design Microprocessor Systems Design Digital Systems Design Computer Organization Graduate Computer Architecture Computer Arithmetic Parallel and Distributed Computing Advanced Computer Architecture