He earned his M.S. and Ph.D. in Computer Science from Mississippi State University. He has fifteen years' experience of teaching computer science at several institutions in USA and Bangladesh. He has taught a wide range of courses including database systems, data mining, artificial intelligence, software engineering, bioinformatics, algorithm analysis, automata theory, operating systems, computer architecture, data structures, introductory and advanced programming courses in C/C++/Java/VB, and discrete structures. He has been actively involved in advising and institutional service.