High-tech Entrepreneurship and Operation (EEE5031) is a graduate elective at NTU GIIEE taught by Prof. Chung-Yang (Ric) Huang, exploring the entrepreneurial journey and business operations in high-tech industries, covering venture ideation, business models, team building, fundraising, and growth strategies with both theory and practical cases.
Courses
Special Topics on Quantum Design Automation (EEE5065) is a graduate elective at NTU GIIEE introducing the core technologies of Quantum Design Automation (QDA), exploring how electronic design automation (EDA) methods extend to quantum circuit synthesis, mapping, optimization, and verification. Co-taught by Prof. Chung-Yang (Ric) Huang with Profs. Shih-Hao Hung, Chien-Mo Li, and Jie-Hong Roland Jiang.
SoC Verification (EEE5023) is a graduate elective at NTU GIIEE introducing formal verification techniques for system-on-chip designs. The course covers formal modeling and property specification, Binary Decision Diagrams (BDDs), Boolean satisfiability (SAT) solving, model checking and reachability analysis, and practical applications of formal methods in logic synthesis and optimization.
Course Contents
- Class Intro / Intro to Design Verification
- Formal Modeling and Property Specification
- Introduction to BDD
- Advanced BDD Techniques
- BDD-Based Verification
- Introduction to SAT
- Advanced SAT Techniques
- Bounded Model Checking
- Unbounded Model Checking
- Property Directed Reachability
- SAT-Assisted Synthesis
- From SAT to Optimization
- Liveness Property Checking
- Satisfiability Modulo Theories
- Final Project
Web Programming (EE3035) introduces the design and implementation of modern full-stack web applications. The course covers front-end development with React.js, back-end services, databases, and deployment, and is taught through lectures together with hands-on online hackathons and a final project.
Course Contents
- Class Introduction / Introduction to Web Programming
- Web Application with JavaScript
- Class in JavaScript + Intro. to React.js
- More on React.js
- Advanced Topics on React.js
- Introduction to Backend
- Online Hackathon #1
- More on Backend + Database
- Full Stack Web Applications
- Online Hackathon #2
- GraphQL
- Things You Need to Know about Production
- Online Hackathon #3
- Final Project
In this class, you will learn the practical issues and gain the real experiences in implementing various data structures with C++ on Linux workstations.
Course Contents
- Data Structure in Programming: Why is data structure (implementation) so important?
- Programming on Linux Workstations: A peek in the real engineering world
- C++ Advanced Features Review: When can/should I use them?
- What is a Good Program? A software engineering point of view
- Computational Complexity: Time and space tradeoffs
- Memory Management: How to gain 30% performance improvement easily
- Dynamic Array vs. Linked List: Which one is better?
- Tree: How to search data faster than linear time?
- Graph and Circuit: From CS to EE Applications
- Heap, Set and Map: How to store sorted data?
- Cache vs. Hash: Virtual memory in your program
- Bit Vector and Matrix: All about numerical operations
- Putting What You Learn Together: Implementing an advanced data structure (e.g. BDD)