Python

SOC 501: Computational Social Science: Introduction to Methods, Approaches, and Theories

This graduate course will train you in the methods, conceptual approaches, and theories of computational social science. It is set up to welcome people from many different backgrounds, particularly those with or without prior exposure to programming, statistics, or the social sciences. You will learn how to design research projects and answer research questions motivated and situated in social sciences discourses and theories. The course will survey canonical and cutting-edge methods and techniques. This includes methodological approaches in Big Data analysis, data visualization, social network analysis, agent-based modeling, and natural language processing. You will learn to identify and develop variables, mechanisms, and theoretical framing grounded and motivated within the social sciences. We will also address the growing ethical challenges and considerations associated with computational social science methods and approaches.

LING 539: Statistical natural language processing

This course introduces the key concepts underlying statistical natural language processing. Students will learn a variety of techniques for the computational modeling of natural language, including: n-gram models, smoothing, Hidden Markov models, Bayesian Inference, Expectation Maximization, Viterbi, Inside-Outside Algorithm for Probabilistic Context-Free Grammars, and higher-order language models. Graduate-level requirements include assignments of greater scope than undergraduate assignments. In addition to being more in-depth, graduate assignments are typically longer and additional readings are required.

Course Credits
3

LING 508: Computational techniques for linguists

Students are introduced to computer programming as it pertains to collecting and analyzing linguistic data. The particular programming language is chosen at the discretion of the instructor. Graduate-level requirements include more challenging exams; 50% greater contribution to their respective group projects; 9 instead of 6 assignment; additional readings from the primary literature.

Course Credits
3

INFO 557: Neural Networks

Neural networks are a branch of machine learning that combines a large number of simple computational units to allow computers to learn from and generalize over complex patterns in data. Students in this course will learn how to train and optimize feed forward, convolutional, and recurrent neural networks for tasks such as text classification, image recognition, and game playing.

Course Credits
3

INFO 555: Applied Natural Language Processing

Most of web data today consists of unstructured text. This course will cover the fundamental knowledge necessary to organize such texts, search them a meaningful way, and extract relevant information from them. This course will teach natural language processing through the design and development of end-to-end natural language understanding applications, including sentiment analysis (e.g., is this review positive or negative?), information extraction (e.g., extracting named entities and their relations from text), and question answering (retrieving exact answers to natural language questions such as "What is the capital of France" from large document collections). We will use several natural language processing toolkits, such as NLTK and Stanford's CoreNLP. The main programming language used in the course will be Python, but code written in Java or Scala will be accepted as well. Graduate-level requirements include implementing more complex, state-of-the-art algorithms for the three proposed projects. This will require additional reading of conference papers and journal articles.

Course Credits
3

INFO 529 Applied Cyberinfrastructure Concepts

Students will learn from experts from projects that have developed widely adopted foundational Cyberinfrastrcutrue resources, followed by hands-on laboratory exercises focused around those resources. Students will use these resources and gain practical experience from laboratory exercises for a final project using a data set and meeting requirements provided by domain scientists. Students will be provided access to computer resources at: UA campus clusters, iPlant Collaborative and at NSF XSEDE. Students will also learn to write a proposal for obtaining future allocation to large scale national resources through XSEDE. Graduate-level requirements include reading a paper related to cyberinfrastructure, present it to the class, and lead a discussion on the paper.

Course Credits
3

INFO 510: Bayesian Modeling and Inference

Bayesian modeling and inference is a powerful modern approach to representing the statistics of the world, reasoning about the world in the face of uncertainty, and learning about it from data. It cleanly separates the notions of representation, reasoning, and learning. It provides a principled framework for combining multiple source of information such as prior knowledge about the world with evidence about a particular case in observed data. This course will provide a solid introduction to the methodology and associated techniques, and show how they are applied in diverse domains ranging from computer vision to molecular biology to astronomy. Graduate-level requirements include different exams requiring greater depth of understanding of topics, and will be assigned questions based on graduate-student specific assignments topics.

Course Credits
3