Teaching

    • IST 311: Object-Oriented Design and Software Applications, The Pennsylvania State University

Introduction to object-oriented applications including applications in an Object Oriented Design (OOD) language or OOD languages. This course will provide students with a background in object-oriented design and software development. Using modern design and programming languages (UML and Java) and with the support of software modeling tools (Microsoft Visio), students will gain an appreciation for the nature of object-oriented software design and for some of the issues that arise in the space between requirements analysis and design, and between design and implementation. The course will interleave design and programming activities and will incorporate active, collaborative, and problem-based learning experiences to the greatest possible extent.

        • Instructor, Spring 2020, 19 Undergraduate Students


    • INFSCI 2710: Database Management, University of Pittsburgh

This is a basic graduate course on database systems. The major focus of this course is on centralized database systems. The coursework consists of homework, exams, and a team-oriented database design and implementation project. Topics Covered: Database System Architecture - data abstraction; data independence; Relational Databases - Relational data model; SQL; Database design - Entity-relationship model, functional dependencies; normal forms; dependency preservation; information loss; Introduction to OLAP - Multidimensional data model, data aggregation; Storage Strategies - Indices and B-trees; Transaction Management - ACID properties, concurrency control and recovery.

        • Instructor, Spring 2018, 47 Graduate Students
        • Instructor, Summer 2018, 17 Graduate Students
        • Instructor, Fall 2018, 57 Graduate Students
        • Instructor, Spring 2019, 47 Graduate Students


    • INFSCI 2300: Human Information Processing, University of Pittsburgh

Overview: Through this course you will become familiar with the research and theories in the field of human information processing and develop the tools necessary to evaluate such research. The focus will be on basic research (e.g., how do we encode, store, and process information; what are the limits on each stage of human information processing; what heuristics are used in processing information), rather than on applied questions. However, at several points during the semester, we will examine studies which show connections to the applied questions.

        • Instructor, Summer 2017, 17 Graduate Students
        • Instructor, Fall 2017, 23 Graduate Students