Course Offerings
Explore common data collection, management, and sharing practices in information technology and emerging technologies, such as search engines and AI systems. Students will read papers and engage in discussions about the pros and cons of established data practices and learn about the three main components of responsible data management: 1) consent and ownership, 2) privacy and anonymity, and 3) broader impact. Students will also practice how to collect data, make data-driven decisions, and design data-driven products through group projects as UX designers, researchers, and data scientists. The course will bring in interdisciplinary perspectives with guest speakers from archive science, engineering, and respponsible AI, to provide a holistic view of broader data ecosystems and infrastructures.
Develop prompts for text and image generation through an iterative cycle, making the most of foundation models, including large language models and diffusion models. Overview of the field of prompt engineering, including historical development, ethical dilemmas, and the creation of chatbots.
The current Web has experienced tremendous changes to connect data, people, and knowledge. There are a couple of exciting efforts trying to bring the Web to its full potential. The Semantic Web is one of them which is heavily embedded in the Artificial Intelligence area with the long-term goal to enhance the human and machine interaction by representing data semantics, integrating data silos, and enabling intelligent search and discovery. This course aims to provide the basic overview of the Semantic Web in general, and data semantics in particular, and how they can be applied to enhance data integration and knowledge inference. Ontology is the backbone of the Semantic Web. It models the semantics of data and represents them in markup languages proposed by the World Wide Web Consortium (W3C). W3C plays a significant role in directing major efforts at specifying, developing, and deploying standards for sharing information. Semantically enriched data paves the crucial way to facilitate the Web functionality and interoperability. This course contains three parts: Semantic Web language, RDF graph database (i.e., RDF triple store), and its applications. The fundamental part of the course is the Semantic Web languages. It starts from XML and goes further to RDF and OWL. The RDF graph database part introduces different APIs of Jena and its reasoners. The application part showcases current trends on semantic applications. Prerequisites Basic knowledge of HTML and XML is desired. Course Objectives This course aims to develop a critical appreciation of semantic technologies as they are currently being developed. At the end of this course, students should be able to: • sketch the overall architecture of the Semantic Web. • identify the major technologies of the Semantic Web and explain their roles. • illustrate the design principles of the Semantic Web by applying the technologies. • understand certain limitations of the Semantic Web technologies, and be aware of the kinds of services it can and cannot deliver. Course aims are achieved through: • Lectures covers basic knowledge of the Semantic Web • Projects applying semantic technologies to concrete problems of information delivery and use • Assignments of practicing and utilizing key semantic technologies
This course will cover fundamental concepts in Machine Learning (ML). The course will provide conceptual and practical knowledge on a wide range of modern machine learning algorithms; including supervised learning (multiple linear regression, logistic regression, neural networks, and decision trees), unsupervised learning (clustering, dimensionality reduction, recommender systems), reinforcement learning & deep learning models (CNN, RNN, Autoencoders & Transformers) and also introduce the importance of Prompt Engineering and Retrieval Augmented Generation. The goal is for students to be comfortable and confident in machine learning concepts and have the ablity to build machine learning model solution to challenging real-world problems. If you’re looking to break into AI or build a career in machine learning, this is a great place to start.
Natural Language Processing (NLP) is concerned with interactions between computers and humans through the medium of human languages. It involves analyzing, understanding, and generating human language, making it possible for machines to interpret and respond to human speech and text. NLP is currently making significant contributions to modern technological advancements and serves as the backbone of crucial applications such as Gen AI, Conversational AI, Question Answering, Human Language Translation, Summarization, Sentiment and Emotion Analysis, Search and Recommendation, and Information Extraction in various domains such as healthcare, finance, legal, libraries and education and beyond. The proposed graduate-level course aims to cover fundamental concepts in Natural Language Processing / Computational Linguistics and how they are used to solve real-world problems. Classes in each week will be divided into two segments: (a) Theory and Methods, a concise description of an NLP concept, and (b) Practicum, a hands-on session on applying the theory to a real-world task on publicly available multilingual text datasets. We will use Python for programming along with popular libraries for text processing such as NLTK, SpaCy and HuggingFace's transformers. By the end of the course, the goals for the students are to: 1. Understand the process of garnering and pre-processing a large amount of multilingual textual data from various domains and sources. Characterize the processes to store, load, pre-process multilingual data and apply language processing operations such as normalization, tokenization, lemmatization, chunking and machine readable representation (vector) extraction. 2. Train machine learning algorithms for natural language understanding and generation and evaluate their performance. 3. Learn to extract information from unstructured text and represent them in the form of knowledge graphs 4. Learn to use existing knowledge graphs, ontologies and lexical knowledge networks for predictive analysis on text 5. Learn about popular NLP applications and tasks and the process of building such applications 6. Propose a novel product/research-focused idea (this will be an iterative process), design and execute experiments, and present the findings and demos to a suitable audience (in this case, the class).
Introduction to combining human and machine intelligence to benefit people and society. Explore cutting-edge research on a number of subjects related to human-AI interaction, including the psychological and societal impacts of AI as well as design guidelines and methods for human-centered AI.
INF 385C: Human-Computer Interaction
This course introduces students to human-computer interaction theories and design processes. The emphasis is on applied user experience (UX) design. However, the course starts by discussing fundamental aspects of human perception and cognition and linking them with design principles. The course presents an iterative evaluation-centered UX lifecycle and introduces students to a broader notion of user experience, including usability, usefulness, and emotional impact. The UX lifecycle should be viewed as template intended to be instantiated in many different ways to match the constraints of a particular development project. The UX lifecycle activities we cover include contextual inquiry and analysis, requirements extraction, design-informing models, design thinking, ideation, sketching, conceptual design, and formative evaluation.
INF 385E: Information Architecture and Design
This course explores the fundamental principles and practical applications of Information Architecture (IA). Drawing from the seminal work "Information Architecture: For the Web and Beyond" by Louis Rosenfeld, Peter Morville, and Jorge Arango, students will delve into the essential concepts, methodologies, and best practices shaping the organization and presentation of information in digital environments. Simply, this course addresses how to make content organized and findable based on human understanding. Throughout the course, students will examine the critical role of IA in enhancing user experience, facilitating navigation, and optimizing content discoverability. Topics covered include information organization, navigation design, metadata implementation, taxonomy development, and user-centered design principles. Through a combination of theoretical discussions, case studies, hands-on exercises, and a real project with a real client and real world constraints, students will gain proficiency in designing effective IA solutions tailored to diverse user needs and contexts. Emphasis will be placed on understanding user behavior, conducting user research, and iteratively refining IA structures to align with evolving user requirements and organizational goals. Course Objectives: Gain a comprehensive understanding of Information Architecture principles and methodologies. Learn how to analyze and evaluate existing IA structures in digital environments. Develop proficiency in designing and implementing effective IA solutions for websites and digital products. Explore techniques for conducting user research and applying user-centered design principles to IA. Understand the role of IA in enhancing usability, findability, and overall user experience. Acquire practical skills in wireframing, prototyping, and usability testing within an IA context. Explore emerging trends and technologies shaping the field of Information Architecture.
INF 385P: Usability
This course will give students a foundational introduction to user experience (also known as UX, CX, HCI) and introduce some of the core UX research methods in use today, as well as applying these methods to a product to create a final presentation that can hopefully be used in their portfolio/job seeking adventures. Accordingly, the class will cover 5 major areas: 1. Have an in-depth understanding of some primary UX methods relevant to product development (e.g. Heuristic evaluation, Moderated User testing, UX Benchmarking). 2. Understand the principles of other important UX tools/methods (e.g. Information architecture tests (card-sorts), RITE testing, Competitive Analysis, Thematic coding of qualitative data, etc.). 3. Have a working understanding of the most frequently used UX methods at each point of the development lifecycle, with a specific focus on which methods are best suited to evaluative research. 4. Learn the scientific underpinnings of the various methodologies, including the specific advantages and disadvantages of each. 5. The “real world” application of these skills to industry-paced projects
A practical introduction and guide for using statistics to solve quantitative problems in user research. Many designers and user researchers view usability and user research as qualitative activities, which do not use formulas and numbers. However, usability practitioners and user researchers are increasingly expected to quantify the benefits of their efforts. The impact of good and bad designs can be quantified in terms of user performance, task completion rates and times, perceived user satisfaction. The course will address questions frequently faced by user researchers, such as, how to compare usability of products for A/B testing and competitive analysis, how to measure the interaction behavior and attitudes of users, how to estimate the number of users needed for usability testing. The course will introduce students to a foundation for statistical theories and the best practices needed to apply them. It will cover descriptive statistics, confidence intervals, standardized usability questionnaires, correlation, regression, and analysis of variance. It will also address how to effectively communicate the quantitative results.
As an industry practitioner with over a dozen years of product management experience and a dozen years of experience as a UX professional, I'm really looking forward to teaching a course that melds these best of both worlds. This course will focus on the fundamentals of product management and the tools and techniques employed by product managers. Students will learn about the corporate product phase gates and all the cross-functional teams with whom product managers engage. The product journey will be examined exploring: 1) how successful products are conceived; 2) how they intercept and are matched with appropriate technologies at the right time; 3) how their markets are analyzed; 4) how their volumes, revenues and profits are forecast yielding their business cases; and 5) how their value propositions are communicated to corporate executives to be formally approved and added to a company’s product roadmap. Furthermore, software and hardware product development processes will be investigated with an emphasis on how UX professionals can help streamline these processes and deliver user experiences that delight customers. This will have the effect of strengthening the product’s business case and ultimately the product’s return on investment (ROI), providing an evangelization opportunity for the product, the company, the product manager, and the UX professional.
This course introduces the theory and practice of inclusive design principles for developing accessible technology. Inclusive design focuses on understanding the diversity of human characteristics (e.g., age, gender, race/ethnicity, disability, etc.) and applying a human-centered approach in designing technology to satisfy user requirements. Students will learn to use inclusive design processes to recognize user characteristics, discover user needs, produce design solutions, and develop prototypes during this course. Topics include, but are not limited to, inclusive design, ability-based design, disability-related terminology, and assistive technologies. Students will be required to engage in class discussions, complete in-class and homework assignments, give oral presentations, work in small groups, and complete a semester project. This course assumes students will have prior knowledge or experience in user experience (UX) design and/or human-computer interaction. No prior programming experience is required.
In this course, students will learn about the graphic designs role in UX design roles using industry-standard tools, Figma and Adobe Illustrator. This course is meant to engage and push students to think creatively to design and create portfolio-worthy polished designs. Students will learn to craft visually engaging and user-friendly digital experiences. By learning and understanding graphic design principles, including typography, color theory, and layout design, students will develop proficiency in designing and prototyping for a variety of experiences. These skills will be displayed through design exercises and projects.
Students will learn to produce prototypes of information artifacts such as websites or apps, usually using Figma. The prototypes will be completed in groups. Students will also keep a sketchbook throughout the semester and will complete sketching exercises. No previous sketching experience is required. Students will learn the difference between lofi and hifi prototypes and complete examples of both. Lectures will describe prototyping in different forms and will also describe activities that support prototyping.
This team-oriented project course will explore several issues surrounding the design and production of usable and elegant interactive experiences. Students will be introduced to topics including the iterative design process, physical and digital prototyping, and user testing. Project work will allow students to demonstrate mastery of the methods discussed in class through the creation and evaluation of screen-based and physical interfaces. Nor formal programming experience is necessary or expected as students are encouraged to leverage existing skills to develop visualizations and prototypes. For projects in the digital domain, experience with Figma, HTML5, Axure, Invision or the like is helpful, but not required.