Description: This course bridges fundamental software engineering practices with modern generative AI technologies. It begins with systems and environments, including Linux command-line proficiency, remote development, and an introduction to "vibe coding" for rapid prototyping. Essential software development tools are then covered: version control with Git, debugging, profiling, and build automation. The middle portion builds a deep understanding of generative AI, from core concepts and neural networks to attention mechanisms and Transformer models. The final segment is hands-on and LLM-focused, students learn to harness large language model APIs, build a chatbot from scratch, use AI for slide design, and even reproduce a research paper with AI agent assistance. The course culminates in a student-driven final project presentation.
Description: Object-oriented programming (OOP) is one of the popular programming paradigms in modern software development. OOP is well-suited for large and complex programs, as it focuses on the objects that developers want to manipulate rather than the logic required to manipulate them. OOP has been an incredible success because of features like encapsulation, abstraction, inheritance, polymorphism, etc. This course is designed to help students learn the JAVA programming language and obtain OOP skills that are both required to solve sophisticated problems in the real world.
Description: This course will provide coverage of the basic hardware and software platforms for sensor networks and will address in detail several algorithmic techniques for data routing, querying processing, and topology management.
Fundamentals of Software Technology (2025-2026 Spring (春))
Wireless Ad hoc Networks
Detection and Estimation in Communication
Wireless Sensor Networks (2024-2025 Spring (春))
Object Oriented Programming (2024-2025 Spring (春))