Teaching

2023

CS5804: Introduction to Artificial Intelligence. Spring 2023

        This course will introduce the foundations of modern artificial intelligence (AI) and key ideas and techniques underlying the design of intelligent computer systems. It will focus on concepts that are not only important in the space of AI but are also practically useful in modern applications. We will practice effective methods of reasoning about AI problems, which will generalize beyond the specific topics we study in class. Topics include (but are not limited to) search, game playing, logic, machine learning, deep learning, natural language processing, robotics and image processing. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue. Course Syllabus

2022

CS4804: Introduction to Artificial Intelligence. Fall 2022

        This course will introduce the foundations of modern artificial intelligence (AI) and key ideas and techniques underlying the design of intelligent computer systems. It will focus on concepts that are not only important in the space of AI but are also practically useful in modern applications. We will practice effective methods of reasoning about AI problems, which will generalize beyond the specific topics we study in class. Topics include (but are not limited to) search, game playing, logic, machine learning, deep learning, natural language processing, robotics and image processing. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue. Course Syllabus

CS5804: Introduction to Artificial Intelligence. Spring 2022

        This course will introduce the foundations of modern artificial intelligence (AI) and key ideas and techniques underlying the design of intelligent computer systems. It will focus on concepts that are not only important in the space of AI but are also practically useful in modern applications. We will practice effective methods of reasoning about AI problems, which will generalize beyond the specific topics we study in class. Topics include (but are not limited to) search, game playing, logic, machine learning, deep learning, natural language processing, robotics and image processing. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue. Course Syllabus

2021

CS4804: Introduction to Artificial Intelligence. Fall 2021

        This course will introduce the foundations of modern artificial intelligence (AI) and key ideas and techniques underlying the design of intelligent computer systems. It will focus on concepts that are not only important in the space of AI but are also practically useful in modern applications. We will practice effective methods of reasoning about AI problems, which will generalize beyond the specific topics we study in class. Topics include (but are not limited to) search, game playing, logic, machine learning, deep learning, natural language processing, robotics and image processing. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue. Course Syllabus

CS4604: Introduction to Database Management Systems. Spring 2021

        CS 4604 is intended to be a first course in database systems for advanced undergraduates in computer science. It offers students an introduction to the design and programming of database systems. In particular, we will cover the ER (entity-relationship) approach to data modeling, the relational model of database management systems (DBMSs) and the use of query languages such as SQL. We will also cover relational algebra and the use of SQL in a programming environment. We will also touch upon query processing and the role of transaction management. We will also devote some time to current topics of research such as NoSQL databases, data mining and warehousing, cloud databases.Course Syllabus

2020

CS4804: Introduction to Artificial Intelligence. Fall 2020

        This course will introduce the foundations of modern artificial intelligence (AI) and key ideas and techniques underlying the design of intelligent computer systems. It will focus on concepts that are not only important in the space of AI but are also practically useful in modern applications. We will practice effective methods of reasoning about AI problems, which will generalize beyond the specific topics we study in class. Topics include (but are not limited to) search, game playing, logic, machine learning, deep learning, natural language processing, robotics and image processing. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue. Course Syllabus

2017-2018

Amazon Web Services (AWS) essentials and architecting for Data Analytics (Part 1)

        This course provides an introduction to AWS and offers a broad overview of terminology and concepts. The course will focus on the AWS web console, CLI tools, and data storage needed to be successful in data management on AWS. This course is intended as a prerequisite for the companion NLI course, Data Analytics using Amazon Web Services (AWS).
        This course will first give a broad overview of AWS terminology while giving a tour of the AWS web console. We will talk about users and user permissions and introduce the concept of least privilege. We will introduce the AWS CLI tools, and give an overview of what they can be used for. Then we will learn how to use these tools to do basic tasks like storing data and giving a user access to that data.

Data Analytics using Amazon Web Services (AWS) (Part 2)

        This course builds on the earlier course "Amazon Web Services‎ (AWS) essentials and architecting for Data Analytics." This course provides an overview of Amazon Web Services (AWS) services that can help you perform data analytics for your research in the AWS ecosystem. The course instructor who has received AWS Instructor-led training and AWS certifications will teach you how to use advanced AWS services, such as Amazon EMR, Amazon Redshift, and Amazon Kinesis. The course includes a combination of lectures and hands-on labs that expose students to these techniques.
        You will learn about creating big data environments, choosing appropriate AWS data storage options, working with Amazon RDS, Amazon DynamoDB, Amazon Redshift, and Amazon Kinesis, etc. and leveraging best practices to architect workflows to process research dataset and retrieve results in a cost-effectiveness way. This course is intended for faculty and students who are interested in learning about the advanced AWS services for performing data analytics in the cloud environment.

Workshop

2020

Building a full-stack Serverless Web application with React and AWS

        Serverless computing allows you to build Web applications without managing or maintaining servers. Using AWS, we can build and deploy responsive applications in the cloud with built-in high availability and flexible scaling capabilities. In this workshop, we will learn how to build a full-stack serverless Web application using React and several AWS services, including AWS Amplify, Lambda, AppSync, DynamoDB, etc. We’ll start the workshop with a quick overview of serverless computing and AWS, followed by creating a React application, integrating with AWS managed services and deploying this application in AWS. Conference URL

2019

Building a full-stack serverless Web application with AWS Amplify

        In this workshop, we'll learn how to build a full-stack serverless Web application AWS Amplify. The techniques we use in this workshop including React, AWS Amplify, AWS AppSync,DynamoDB, and other AWS services.

2018

Code4lib 2018: Interacting with Standards, Hands-on Fedora

        This workshop will focus on understanding and experiencing the interaction models defined by the web-standards that are contained in the Fedora Repository API. Specifically:

  • Memento
  • Web Access Control
  • Linked Data Platform
  • Activity Streams

Teaching certifications

  • Virginia Tech - Future Professoriate Certificate
  • Virginia Tech - TLOS: Professional Development Network (PDN) Instructors
  • Virginia Tech - TLOS: Professional Development Network (PDN) Advanced Instructor
  • Virginia Tech - TLOS: Professional Development Network (PDN) Master Instructor