Coursework
Fall 2022
- CSE 210: Principles of Software Engineering
- General principles in modern software engineering. Both theoretical and practical topics are covered. Theoretical topics include proofs of correctness, programming language semantics, and theory of testing. Practical topics include structured programming, modularization techniques, design of languages for reliable programming, and software tools.
- CSE 291: Usability of Programming Languages
- Apply qualitative and quantitative research methods to obtain insights about programming language design choices. Critically analyze design questions in the context of languages and programming systems. Read and interpret research papers in the area of usability of programming languages, and summarize major findings to date.
Winter 2023
- CSE 202: Algorithm Design and Analysis
- Learning techniques for the design and analysis of algorithms. Divide-and-conquer, dynamic programming, data structures, graph search, algebraic problems randomized algorithms, lower bounds, probabilistic analysis, parallel algorithms.
- CSE 291: Antisocial Computing
- Explored many of the problems of social media: disinformation, bias, extremism, surveillance, among others. Students will learn 1) how design choices (in interfaces and algorithms) can impact the function and style of online communities, 2) how aspects of human psychology drive the problems that arise, and 3) understand how these same topics have been explored in art, fiction, and film. Using these theoretical understandings, students will explore how to design better social computing systems.
Spring 2023
- CSE 237D: Design Automation and Prototyping for Embedded Systems
- System representation and modeling. Abstract and language models. Simulation as a modeling activity. Computational and hw/sw system prototypes. System analysis using models. Constraint and interface modeling. Behavioral compilation and synthesis.
- CSE 291: Introduction to Computer Education Research
- In the course, we engaged in cutting-edge research methodologies, delving into topics such as inclusive pedagogy and innovative approaches to improve student learning and retention in computing. Through hands-on projects and collaborative discussions, we explored solutions to pressing challenges facing computing education, enhancing our ability to tackle real-world problems in the field.techniques.
Fall 2023
- CSE 227: Computer Security
- Security and threat models, risk analysis, authentication and authorization, auditing, operating systems security, access control mechanisms, protection mechanisms, distributed systems/network security, security architecture, electronic commerce security mechanisms, security evaluation.
- CSE 229C: Seminar in Computer Security
- Discussion on problems of current research interest in computer systems. Possible areas of focus include distributed computing, computational grid, operating systems, fault-tolerant computing, storage systems, system services for the World Wide Web. Topics to be presented by faculty and students under faculty direction.
- CSE 500: Teaching Assistantship
- Assisted in learning proper teaching methods through supervision of work by faculty, handling discussions, and preparing examinations.
- CSE 599: Teaching Methods in Computer Science
- Focused on training in teaching methods specifically tailored to computer science, examining both theoretical and practical communication and teaching techniques.
Winter 2024
- CSE 291: Cybercrime: From Pre-Internet to the Modern Era
- Throughout the course, we delved into the intricate history and dynamic evolution of cybercrime, analyzing diverse sources such as academic papers, government reports, and contemporary journalism. By examining shifts in technical methods, business strategies, victim demographics, and societal responses, we gained insights into the complex interplay between technology, economics, and social factors driving the evolution of cybercriminal activities over the past three decades. This multidimensional exploration equips us to anticipate future trends and develop proactive strategies to combat cyber threats effectively.
- CSE 293: Research Project
- Facilitated individual or group project study under faculty guidance, allowing exploration of subjects beyond the standard curriculum.
- CSE 500: Teaching Assistantship
- Assisted in learning proper teaching methods through supervision of work by faculty, handling discussions, and preparing examinations.
Spring 2024
- CSE 291: LLMs, AI-Generated Programs, and HCI
- Developed advanced research skills in programming languages, human-computer interaction, and large language models. Collaborating on team projects and integrating AI and LLM-based features. Gained practical experience in analyzing complex research papers, identifying gaps, and proposing innovative solutions, enriching my understanding of modern computing’s interdisciplinary landscape.
- GSR: Graduate Student Researcher
- Graduate Student Researcher for the Android security project.
Each term’s courses and activities are designed to build a comprehensive understanding and practical skills in advanced computer science and engineering topics, preparing for a successful career in academia or industry.