Course Offerings
INF 380P: Introduction to Programming
The class focuses on developing problem solving skills using Python as a programming language. Starting from procedural function development, we also explore object-oriented techniques, and discuss simple data structures that are often used in software development. The students usually do a few programming assignments, take a midterm, and submit a final project.
INF 382C: Understanding and Serving Users
What does it really mean to be user-centered? How do we practice user-centered design in a professional and methodical manner? What research findings can we rely on to help us improve user experiences? This is a readings/discussion course that examines in depth what we know about people (that is, what does scientific research actually tell us) and how can we apply this knowledge in the real-world of experience design. We examine human psychology, from physical ergonomics to cultural dispositions, stopping off on cognition and social analyses en route, so as to have a holistic, robust perspective on what it means to understand users. The readings are complemented with an examination of methods e.g., what is a cognitive walkthrough and how do you do it reliably? what are the limitations of heuristic evaluations? The goal is to give you a solid grounding in the practices of user-centered thinking, regardless of your area of application, and prepare you for professional level contributions in the user-experience world. There is no teamwork, all students deliver individual term papers and design critique diaries. There are also no pre-requisites -- technical or theoretical, the class is open to all.
INF 383H: Introduction to Digital Humanities
This course is a hands-on introduction to Digital Humanities, which may be defined as using digital technologies to investigate questions traditional to the humanities or to ask humanities-oriented questions about the digital. What are these questions? As usual, it depends, depends on the scholar’s theoretical orientation, methods, and resources at hand (including not only primary source materials, but time, skill, and support). This course is relevant to literary scholars, historians, media scholars, information scholars, and all those who are interested in how humanists engage in cultural studies. It will include learning to evaluate DH questions and DH projects through project-based exercises in creating and interpreting digital humanities resources and tools and a close (and critical) look at the infrastructural, institutional, and political issues involved in interrogating “the digital” in the humanities. As we look at the concepts, methods, theories, and resources of DH through the perspective of practice, we will consider how computational methods are being used to further humanities research but also, more importantly, how our understanding of computing technologies is deepened by humanities research. No prerequisites are required for this course.
INF 385M: Database Management
Database is the foundation of Data Science. It provides the unique design to store, retrieve, and manage data. Data become the essential gas to power the generative AI. How to model data, encode context, enforce business rules, and achieve efficiency are critical for database design. This course provides the introductory understanding of relational database design with the focus on three parts. The first part is centered around the database design lifecycle by introducing business rules, ER diagram, normalization, and UML chart. The second part talks about database query language SQL by explaining concepts and providing examples. The third part gives you the forward introduction of XML database which is the commonly used NoSQL database. The learning content will be delivered in the variety of exercises including lectures, tutorials, class activities, individual assignments, group assignments, and group projects. This course empathizes peer learning, hands-on practices, forward exploring, and risk taking.
This course is tailored for graduate students in Information Science who wish to deepen their understanding and skills in JavaScript, a cornerstone technology of the web. The course bridges theoretical concepts with practical application, preparing students to tackle complex problems in data processing, visualization, and web development within the realm of Information Science. The course incorporates multiple ways of learning including: readings, lectures, class discussion, in-class pair programming exercises, and project-base learning. Upon completion of this course, students will: • Gain an in-depth understanding of JavaScript's core concepts, including ES6+ features, asynchronous programming, and the event loop. • Learn to efficiently manipulate and process data using JavaScript, leveraging its interaction with APIs, and other web technologies. • Develop skills in creating interactive and dynamic data visualizations using packages such as D3.js or and other JavaScript-based visualization tools. • Understand the principles of web security, performance optimization, and best practices in JavaScript coding standards.
This class explores various data science models, both traditional and the state of the art techniques. The course is designed to provide mathematical and computational basis such as Linear Algebra, Optimization techniques, and probabilistic modeling for different types of machine learning models. The goal of the class is provide a foundational basis for data science techniques. The class focuses on PSETs and a final data science project.
Infrastructure is all around us, even (or perhaps especially) where we do not actively consider or account for it. In this course, students will learn how knowledge infrastructures such as repositories, classification systems, databases, networks, standards, and/or metadata both shape and are shaped by governmental policy, institutional decision making, technical advances, and professional and personal value systems. We consider how infrastructure matters in professional, personal, and political life, and employ infrastructure as a lens to evaluate and understand the legal, ethical, and policy consequences of knowledge work, data science, and information management. In this course, students will employ an infrastructural perspective to evaluate programs, systems, policies, and/or organizations. We will explore the consequences and societal impact of knowledge work at both global and local scales, and consider how infrastructure might be built or refined to support societal or organizational goals such as social justice, privacy, innovation, health, or security. This is primarily a discussion-oriented course, with assessment primarily coming through a multi-stage, semester-long, project oriented around a program evaluation.
Ethnographic research has found application and acceptance across various academic disciplines as well as industries. This course aims to introduce fundamental tenets of ethnographic methodology for investigating sociotechnical systems. Its foundation rests on interdisciplinary perspectives and anthropological insights, while simultaneously aligning with contemporary advancements such as design and speculative ethnography. The role of the future has perpetually held a central position in the utilization and shaping of technologies and information systems. A recurring narrative involves positioning a specific technology or system as "revolutionary" or "the future of" a certain domain. Adopting an ethnographic approach, this course seeks to critically examine sociotechnical imaginaries. Its objective is to glean insights from diverse communities, offering guidance in the construction of futures that are more inclusive, equitable, and diverse.
In this course, we will work to understand and address the challenges of misinformation, disinformation, and strategic manipulation in online environments. First, we will work to develop a deep understanding of the problem space. We will read and discuss existing research (both historical and contemporary) on how and why misinformation and disinformation spread. Next, we will explore the process, both personal and interpersonal, by which these issues can be approached and addressed in our own lives. This will involve reflecting on our own presuppositions, beliefs, and biases about information; and doing a project in which we apply the principles of Human-Centered Design to investigate different design directions for addressing misleading information. Students will gain important contextual knowledge and hands-on design experience that they can take into future professional domains (from education to policy to technology), where they can contribute to building more trustworthy information systems.
Data storytelling is more than sharing data—at its most simple, it’s about designing charts and tables that make sense to the people who will be using them and help those people make better, faster decisions. While making a chart is as easy as a few clicks, doing it well requires much more. There is a science to how our eyes and minds process information as well as an art to making good graphic design choices. This comes together in an effective data presentation when the work is readable, usable, and above all actionable—not just aesthetically pleasing (though we’ll certainly address that too). As information professionals, we are well-positioned to understand and design for the needs of our users, to interrogate our data sources thoughtfully, and to ask future-thinking questions. This course will also draw on elements from cognitive psychology, user experience, data journalism, graphic design, business, and more. This multidisciplinary approach will take us on a grand tour that will touch on many aspects of data analysis and will serve as an excellent introduction to other data-oriented courses in the iSchool master’s program.
Accessible UX provides students working (or planning to work) in any area of UX, Digital Product Management, or Development with key skills and insights into the current accessibility landscape, in addition to specific guidelines and WCAG conformance specifications. The course is divided into foundational and tactical modules. The first half of the course provides a comprehensive overview of Accessibility and its importance. The second half of the course involves evaluating real-world applications and websites per the WCAG guidelines, producing Accessibility reports, planning studies (with persons with disabilities), and designing for accessibility. Course Goals 1. Become proficient in recognizing accessibility issues in key domains 2. Understand successful team and organizational behaviors in Accessibility 3. Learn how Accessible UX and Development is accomplished 4. Evaluate Web and App experiences using the WCAG framework from W3.org/WAI
Processes, techniques, and technologies that generate inscriptions (ready-to-take data), especially from or about people(s) or culture(s). Contexts, consequences, and history of datafication practices. Purposive intervention with datafication processes, practices, and artifacts.
In this class, we will explore different strategies for including games in collections across libraries, archives, and museums using case studies of specific institutions. We will also address unique qualities of digital and board games that make them challenging to existing practice in the field. Students will have hands-on experience with games through the semester.
Learning key data wrangling maneuvers in abstract and implementations in SQL, Excel, R Tidyverse, and Python Pandas. Maneuvers in data transformations include Nest, Pivot, Mutate (inc. separate/unite), Group/Summarize and Rectangling. Projects include working with "wild caught" data datasets (usually CSV or JSON) and computational notebook environments (e.g., iPython, Jupyter, Rmarkdown, Quarto). Fall 2024 has changes from previous syllabus now that we have Database Design and Introduction to Programming. Nonetheless, the previous syllabus is still useful as it links to course materials that show the teaching approach and type of assignments. http://howisonlab.github.io/datawrangling/#Schedule_of_classes
INF 385T.12: Special Topics in Information Science: Ethics of AI
Artificial intelligence (AI) is both a product of and a major influence on society. As AI plays an increasingly important role in society, it is critical to understand both the ethical factors that influence the design of AI and the ethical dimensions of the impacts of AI in society. The goal of this course is to prepare students for the important ethical responsibilities that come with developing systems that may have consequential, even life-and-death, consequences. Students first learn about both the history of ethics and the history of AI, to understand the basis for contemporary, global ethical perspectives (including non-Western and feminist perspectives) and the factors that have influenced the design, development, and deployment of AI-based systems. Students then explore the societal dimensions of the ethics and values of AI. Finally, students explore the technical dimensions of the ethics and values of AI, including design considerations such as fairness, accountability, transparency, power, and agency. Students who perform well in this class will be positioned to take on a leadership role within their organizations and will be able to help guide and steer the design, development, and deployment of AI-based systems in ways that benefit users, other stakeholders, their organizations, and society. The knowledge and skill gained through this course will benefit students throughout their careers, and society as a whole will benefit from ensuring that studenrs are prepared to consider the important ethical dimensions of their work.
Exhibits are a powerful way for libraries, archives, museums, and cultural institutions to engage the public with their collections. This course offers students the opportunity to plan and install an exhibit, focusing on objectives such as: crafting a narrative around physical objects; drafting exhibit text; accommodating media preservation issues; building basic display supports; and publicizing the exhibit. Students will learn about the historical origins of modern-day exhibit practices and will visit and evaluate current exhibits on campus and in the Austin area.
Cross-listing of P A 385D, hosted by the LBJ School of Public Affairs. Examine key topics in the management and leadership of arts and cultural organizations, with particular attention to how arts organizations engage (or fail to engage) external constituencies, and the significance of private and public policies. While commercial forms will be considered for purposes of comparison, our primary focus will be on nonprofit organizations. Examples of topics include mission management, organizational leadership, the role of boards of directors, funding strategies, audience engagement, community engagement and relationships, arts advocacy, and policies that create challenges and opportunities for arts organizations and participation. The class will employ exercises and cases to translate broad themes to practical issues in arts management and community engagement. Guest speakers will periodically join us to share their experiences. Relevant to students planning to work in, with, or through nonprofit arts and cultural organizations.
This course examines the U.S. communication policy in light of domestic and international structural, economic and technological changes. We will investigate how notions of control, access and expression have changed during the 20th and the 21st centuries, examining communication policies and regulation against a backdrop of technological innovation. The definitions and controversies around what constitutes the public interest intersect with policies for specific media systems including broadcasting, cablecasting, the Internet and social media, among others. The cultural ramifications of communication systems in terms of their impacts on people and on speech are a related domain we will address. At the current moment, issues around privacy, large tech companies and their role in contemporary life, the limits and authority of regulation, and of course social media,AI and ‘big data’ dominate many political and research agendas. Our goal will be to understand the backgrounds and foundations that bring us to these concerns and to frame them in critical ways.
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.