課程名稱 Course Title |
(中文) AI實務專題
(英文) Ai Practice Topic |
開課單位 Departments |
資訊工程學系 |
課程代碼 Course No. |
I4210 |
授課教師 Instructor |
宋建龍 |
學分數 Credit |
3.0 |
必/選修 core required/optional |
選修 |
開課年級 Level |
大四 |
| 先修科目或先備能力(Course Pre-requisites): |
課程概述與目標(Course Overview and Goals):Students will gain both the foundational knowledge and the hands-on skills needed to design and implement embedded AI systems using the NVIDIA Jetson platform. Through lectures, labs, and a semester-long capstone project, they will:
• Understand the principles and challenges of embedded systems design, including performance, resource constraints, and reliability.
• Gain practical experience with computer vision, deep learning, sensor integration, cloud connectivity, and user interface design.
• Apply modern practices in testing, validation, power optimization, and security for embedded devices.
• Collaborate in teams to define, design, build, and present a complete embedded AI system.
By the end of the semester, students will have produced a portfolio-ready project that demonstrates their ability to solve real-world problems in robotics, IoT, and AI at the edge — skills that are highly sought after in industry and research.
This course is designed for upper-division undergraduate students and master’s students in Computer Engineering, Electrical Engineering, Computer Science, or related fields who:
• Have prior experience with programming (Python or C++).
• Possess background knowledge in computer architecture and basic AI or computer vision.
• Are motivated to move from theory into practical system design and prototyping.
Particularly relevant for those preparing for careers or research in embedded systems, robotics, IoT, or edge AI — fields driving growth in autonomous vehicles, industrial automation, healthcare technology, and smart devices. Participants will leave the course with industry-relevant experience and a capstone project they can showcase to employers or graduate programs.
• Class Format
• The class meets synchronously once per week for 3 hours (80 minutes lecture + 100 minutes lab).
• Lectures will be recorded and posted online for later review.
• Lecture notes will also be provided for students to review asynchronously whenever needed.
• Lab instructions and sample code will be provided online each week.
• Attendance and Labs (20% of final grade)
• Each class session includes both lecture and lab activities.
• Attendance and active participation in labs are required and count together as 20% of the grade.
• Students must complete each week’s lab to earn credit.
• If an absence is necessary, valid proof must be submitted. The lab must still be completed independently for credit.
• Exception: If a critical technical issue occurs during class (e.g., Jetson hardware failure, network outage, system crash), students may submit the lab late without penalty once resolved.
• Grading Policy:
o Full Credit (100%) → Attended class and completed lab on time with working code and documentation.
o Partial Credit (50%) → Absent without valid proof, or lab incomplete/late without a valid reason.
o No Credit (0%) → No attendance and no lab submission.
• External hardware is minimal and reused across the semester (breadboard + breakout kit, LEDs, IMU, webcam).
• Homework (30% of final grade)
• Homework is team-based, coding-only, and due by 11:59pm the day before the lecture in the assigned week.
• No starter code will be provided.
• AI tools (e.g., ChatGPT, GitHub Copilot) are highly encouraged, but all submissions must:
o Be clearly documented (purpose, parameters, return values, usage examples).
o Follow object-oriented design principles when using Python or C++ (e.g., encapsulation, reusable classes, modular design).
• Grading Policy:
o Points will be deducted if instructions are not followed, even if the code runs correctly.
o If two or more teams submit nearly identical code, points will be divided among them. In short: don’t cheat.
• Additional Requirement (starting with Homework 5):
o Each submission must include unit test code.
o A test results log or screenshot showing successful execution of the unit tests must also be provided.
• Midterm Project Proposal (20% of final grade, + up to 10% extra credit)
• Teams submit a detailed written project proposal (5–8 pages) in Week 9.
• Must include: introduction, background, system design, hardware/software requirements, implementation plan, testing plan, risks, and expected outcomes.
• Project Directions:
o The instructor will provide a list of suggested project directions that are designed to be feasible within the semester and with the available hardware kit.
o Teams may choose one of these suggested directions, or propose their own original idea.
o If proposing an original idea, the team must justify feasibility in terms of time (7 weeks), scope (2-person team), and hardware (minimal cost beyond the provided kit).
• Scope Rules:
o Projects must be feasible within 7 weeks for a 2-person team.
o Hardware must be limited to the provided kit (breadboard, breakout kit, LEDs, IMU, webcam), with only minor low-cost additions if absolutely necessary.
o Projects cannot simply repeat a lab or homework. They may build on them, but must add new functionality, integration, or a real-world use case.
o Overly ambitious or expensive projects will not be approved.
• Extra Credit:
o Proposing and carrying out a well-justified original project idea (rather than selecting from the suggested directions) may earn the team up to +10% extra credit toward the midterm grade.
• Counts as the midterm exam. No presentation required.
• Final Project Deliverable and Presentation (30% of final grade)
• In Week 16, each team gives a 15-minute presentation and live demo of their final project.
• Deliverables include:
o Complete, well-documented code with unit tests.
o A short technical report (8–12 pages).
• Projects are graded on functionality, creativity, documentation, teamwork, and adherence to scope.
• Counts as the final exam.
• Teamwork
• Teams of 2 are required (3 only with instructor approval).
• All members are expected to contribute equally.
• Teams are encouraged to use collaboration tools (e.g., GitHub, Slack/Discord, Google Docs).
• Professional Conduct
• Academic integrity is required. Collaboration is allowed only within teams; code sharing across teams is prohibited.
• Students must maintain respectful and professional communication in all online settings.
• Instructor Availability
• In addition to regular office hours, students are welcome to contact the instructor as needed for questions, guidance, or troubleshooting.
• Communication should be respectful and professional. Responses will typically be given within a reasonable timeframe.
|
| 教科書(Textbook) |
|
|
| 課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
| 1 | Course Introduction; Embedded Systems Basics; Jetson Setup |
Lab: Connect LED(s) to Jetson GPIO using a breakout kit.
Program different blinking patterns (e.g., synced with music beat or CPU load).
Hardware: Breadboard + GPIO breakout kit (40-pin ribbon cable + T-adapter) + jumper wires + 2–3 LEDs + resistors.
Other: Team brainstorming; no homework. |
Course Introduction; Embedded Systems Basics; Jetson Setup |
|
|
|
| 2 | Linux Systems and Sensor Interfaces |
Lab: Connect an IMU sensor to Jetson; write code to read its values (e.g., acceleration, rotation).
Hardware: IMU sensor (MPU6050) + breadboard (reuse kit).
Project: Teams of 2 formed (3 with approval).
Homework 1: Write a program to read sensor data and log results. Due: by 11:59pm the day before Week 4 lecture. |
Linux Systems and Sensor Interfaces |
|
|
|
| 3 | Computer Vision Fundamentals |
Lab: Connect a webcam to Jetson; capture video; apply simple image filters (blur, edge detection, color change).
Hardware: USB webcam (UVC compliant, Logitech C270 recommended).
Other: No homework. |
Computer Vision Fundamentals |
|
|
|
| 4 | Deep Learning and Model Optimization |
Lab: Run a pre-trained image classification model on Jetson; compare how fast it runs using different settings (full precision, half precision, quantized).
Hardware: Jetson GPU only.
Homework 2: Write code that runs a pre-trained model and compares speed under two settings. Due: by 11:59pm the day before Week 6 lecture. |
Deep Learning and Model Optimization |
|
|
|
| 5 | Communication Protocols and Cloud Connectivity |
Lab: Connect Jetson to a cloud server using MQTT or REST; send live sensor or camera data and view it remotely.
Hardware: School-provided network/server; reuse USB webcam.
Other: No homework. |
Communication Protocols and Cloud Connectivity |
|
|
|
| 6 | Edge AI Applications: Real-Time Object Detection |
Lab: Run a ready-made object detection model on Jetson. Use the webcam to detect everyday objects (e.g., person, bottle, chair) in real time.
Hardware: USB webcam.
Homework 3: Run the detection model with two settings (full precision and half precision). Compare how fast it runs. Due: by 11:59pm the day before Week 8 lecture. |
Edge AI Applications: Real-Time Object Detection |
|
|
|
| 7 | Advanced Vision Systems |
Lab: Use Jetson to detect movement in a camera feed. If available, test with two webcams to compare single vs multi-camera setups.
Hardware: 1–2 USB webcams.
Other: No homework. |
Advanced Vision Systems |
|
|
|
| 8 | Testing and Validation |
Lab: Work with a buggy vision program. Find and fix errors, then write a small test to check if it works correctly.
Hardware: USB webcam.
Homework 4: Write a short program that automatically checks whether your detection or tracking code works. Due: by 11:59pm the day before Week 10 lecture. |
Testing and Validation |
|
|
|
| 9 | Sensor Fusion and Data Processing |
Lab: Combine webcam video and IMU sensor readings to track movement more accurately.
Hardware: USB webcam + IMU sensor.
Project: Submit detailed written proposal (5–8 pages). Must go beyond labs/homework. Extra credit (+10%) for original feasible ideas.
Other: No homework. |
Sensor Fusion and Data Processing |
|
|
|
| 10 | User Interfaces and Dashboards |
Lab: Build a simple dashboard (desktop, phone, or web) that shows Jetson’s live data (e.g., camera feed + sensor values).
Hardware: Laptop/phone + network (school-provided).
Homework 5: Dashboard with ≥2 live streams. Must include unit test code + test results. Due: by 11:59pm the day before Week 12 lecture. |
User Interfaces and Dashboards |
|
|
|
| 11 | Power Management and Deployment |
Lab: Measure how much power Jetson uses when running different workloads. Try a few simple optimizations and compare results.
Hardware: Jetson onboard monitors (optional USB power meter provided by school).
Other: No homework. |
Power Management and Deployment |
|
|
|
| 12 | Security and Privacy in Embedded Systems |
Lab: Encrypt sensor data before sending it to the cloud. Simulate an attacker trying to read the unencrypted data.
Hardware: None beyond Jetson + IMU + network.
Homework 6: Write code that encrypts and decrypts a live data stream. Must include unit test code + test results. Due: by 11:59pm the day before Week 14 lecture. |
Security and Privacy in Embedded Systems |
|
|
|
| 13 | Project Debugging and Integration Workshop |
Lab: Guided debugging session for team projects. Instructor and TA provide hands-on support for integration issues.
Hardware: Project-specific.
Other: No homework. |
Project Debugging and Integration Workshop |
|
|
|
| 14 | Manufacturing and Scaling |
Lab: Project milestone check-in — each team presents current progress and challenges. Receive instructor/peer feedback.
Hardware: Project-specific.
Homework 7: Write automated tests for one module of your project. Must include unit test code + test results. Due: by 11:59pm the day before Week 15 lecture. |
Manufacturing and Scaling |
|
|
|
| 15 | Advanced Topics and Industry Applications |
Lab: Teams work on final integration and practice presentations.
Hardware: Project-specific.
Other: No homework. |
Advanced Topics and Industry Applications |
|
|
|
| 16 | Final Project Presentations and Reflection |
Lab: Each team presents and demonstrates their final project (10–12 minutes). Class discussion on lessons learned and connections to real-world applications.
Hardware: Project-specific.
Other: No homework; optional 1-page personal reflection. |
Final Project Presentations and Reflection |
|
|
|
|