Teaching
Comp Sci 540: Introduction to Artificial Intelligence
TA Semesters: Fall 2022; Spring 2023
Supervisor: Prof. Fred Sala
Principles of knowledge-based search techniques, automatic deduction, knowledge representation using predicate logic, machine learning, probabilistic reasoning. Applications in tasks such as problem solving, data mining, game playing, natural language understanding, computer vision, speech recognition, and robotics.
Center for Academic Excellence
Fall 2021, Spring 2022
The CAE Peer Mentoring Program supports the transition and retention of first-year students at UW–Madison. Upper-level undergraduates work with first-year students as they transition from high school to college by role-modeling leadership and academic and social skills. New students benefit from the experiences and campus strategies of older, more experienced, Peer Mentors. The first-year transition to college is a big step; with CAE Peer Mentors, first-year students make social and academic connections that ease the important adjustment to college life.
Comp Sci 400: Programming III
TA Semesters: Spring 2022
The third course in our programming fundamentals sequence. It presumes that students understand and use functional and object-oriented design and abstract data types as needed. This course introduces balanced search trees, graphs, graph traversal algorithms, hash tables and sets, and complexity analysis and about classes of problems that require each data type. Students are required to design and implement using high quality professional code, a medium sized program, that demonstrates knowledge and use of latest language features, tools, and conventions. Additional topics introduced will include as needed for projects: inheritance and polymorphism; anonymous inner classes, lambda functions, performance analysis to discover and optimize critical code blocks. Students learn about industry standards for code development. Students will design and implement a medium size project with a more advanced user-interface design, such as a web or mobile application with a GUI and event- driven implementation; use of version-control software.
Comp Sci 300: Programming II
TA Semesters: Spring 2022
ntroduction to Object-Oriented Programming using classes and objects to solve more complex problems. Introduces array-based and linked data structures: including lists, stacks, and queues. Programming assignments require writing and developing multi-class (file) programs using interfaces, generics, and exception handling to solve challenging real world problems. Topics reviewed include reading/writing data and objects from/to files and exception handling, and command line arguments. Topics introduced: object-oriented design; class vs. object; create and define interfaces and iterators; searching and sorting; abstract data types (List,Stack,Queue,PriorityQueue(Heap),Binary Search Tree); generic interfaces (parametric polymorphism); how to design and write test methods and classes; array based vs. linked node implementations; introduction to complexity analysis; recursion.