COURSE DETAIL
This course provides a comprehensive introduction to the modern study of computer algorithms. The course uses Python language as a tool to learn various algorithms in depth. Knowledge in mathematics, especially algebra, is expected and having basic knowledge and experience in Python helps to better understand class content.
COURSE DETAIL
This course introduces the fundamentals of understanding user needs, designing prototypes, and evaluating user interfaces. It explores principles, techniques, and tools to create effective and intuitive interfaces, with a special focus on using AI tools. Students of all levels in design and coding skills are welcome.
COURSE DETAIL
This course explores the theory of automata and formal languages. Topics include: automata theory; finite automata; languages and formal grammars; regular languages; pushdown automata; Turing machine; compilers. Pre-requisites: Programming; Programming Techniques.
COURSE DETAIL
This course covers programming language concepts, not as paradigms but as a set of basic building blocks, by using the Scala programming language to implement interpreters for the concepts.
Students will learn how to learn new languages quickly and how to evaluate various languages and pick the most suitable one for a given task. The course also explores how to know when and how to design language, and how to understand the effects of languages on thought and communication.
COURSE DETAIL
This course offers an introduction to computer science with topics including: basic constructions of structured programming; procedural abstractions; structured data types; text files; use of programming and development environments; documentation, testing, and debugging of programs; lab practice.
COURSE DETAIL
This course offers an introduction to Python programming following the structured and object-oriented paradigms. Topics include: flow diagrams; data, operators, input, and output; flow control--conditionals and loops; simple data structures; functions; object oriented programming; algorithms, recursion, and computational complexity.
COURSE DETAIL
The course introduces the basic concepts of discrete mathematics needed for the study of computer science. Student learn to work with sets, relations, functions, recursive structures, graphs, trees, basic combinatorial principles, discrete probability, finite automata, and regular languages.
COURSE DETAIL
This course is an introduction for undergraduate students who are interested in empirical methods applied to natural language processing. We will emphasize on empirical methods, which mainly refers to data-driven models with ingredient from pattern recognition and machine learning. We will also survey interesting NLP applications, e.g., word segmentation, tagging, parsing, etc., and introduce recent advances in statistical machine translation and information extraction. In this course, students will learn what data-driven methods are, how to utilize those models to build their own systems to analyze massive text data and actually solve a real NLP problem in practice. T
COURSE DETAIL
This course provides a comprehensive perspective on large language models. Specifically, in the first half, it covers the fundamentals of language models, including network structures, training, inference, and evaluation. In the second half, the course focuses on the interpretation of large language models, alignment, and their applications beyond simple text generation. Through this approach, the course equips students with foundational knowledge of the technologies behind large language models, helping them smoothly engage in research or practical applications in this field. Topics include Introduction and basics of large language models, Preprocessing: tokenization and data curation, Pre-training of large language models, Scaling laws and emergent behavior, Alignment: instruction tuning and preference learning, Learning from AI feedback, Decoding algorithms, Reasoning with test-time inference methods, Retrieval-augmented generation, AI agents, and Extension to multi-modality.
Prerequisites: Machine learning, Deep learning
COURSE DETAIL
This is a project-oriented class covering trending and novel Human-Computer Interaction (HCI) research topics. This course focuses on Human-centered AI.
The course surveys recent award-winning HCI papers for insight, with students undergoing through a complete HCI research cycle: Identifying a research question and reviewing related work to exploring solution design spaces; prototyping; conducting user studies, and writing a short paper.
Previous class projects have been published in top HCI conferences (e.g., ACM CHI, UIST, SIGGRAPH, and MobileHCI) and have received multiple Best Paper/Honorable Mention awards.
Pagination
- Previous page
- Page 37
- Next page