Syllabus
CSIC30216 · Fall 2026
Course Description
This course trains students to work as software engineers in a world where AI agents are active participants in the development process. The central question is not how to use AI tools, but how to specify intent, evaluate AI trajectories, and know when to take back control — whether you are writing a prompt, designing a RAG pipeline, or directing a multi-step agent.
Topics include prompt engineering, prompt reliability and testing, retrieval-augmented generation, tool use and function calling, agentic system design, AI-assisted code evaluation and debugging, software engineering practices for AI workflows, ethics and professional responsibility.
Learning Objectives
By the end of this course, students will be able to:
- Specify intent precisely enough for an AI coding agent to execute it reliably
- Evaluate AI-generated code, prompts, and agent trajectories critically, and identify where they fail
- Design, test, and iterate on prompt systems using structured techniques and automated evaluation
- Build and reason about tool-using agents and retrieval-augmented generation (RAG) pipelines
- Apply software engineering practices — PR review, decision logs, documentation — to AI-integrated projects
- Exercise professional judgment about when to trust, override, or reject AI output
Prerequisites
This course requires basic familiarity with computer science and experience with programming. Prior experience with machine learning, AI, or AI-assisted programming is not required.
Although this course focuses on AI-assisted programming, please note that the course does not teach basic programming skills. We focused specifically on how AI could be incorporated into the software engineering practices.
Course Format
Each week has three components:
- Lecture + Lab (120 min, Mondays): The class meets one time each week for lecture and lab. There will be approximately 60 minutes of lecture followed by 60 minutes of lab in the same session. No separate lab section. The in-class lab practice will be individual or group-based, with people engaging with exercises around the weekly course materials or other relevant topics around the topical focus of the week. Students will make a lab submission after the session, and will receive a binary grade (completed/incompleted) afterwards.
- Self-paced module (~60 min): Each weekm there will be a short video and assigned reading or media material to be completed during the week after class. Each module deepens the week's lecture content. After finishing the reading, students will be required to respond to a provided question set on the week's module, grade will be binary (completed/incompleted)
Communication
For questions, please email the course staffs through the course mailing list on the home page. Allow up to 48 hours for an email response on weekdays.
When you do send an email, please prioritize sending it to the staff mailing list rather than emailing us directly. Doing so will ensure the message does not get lost and help us stay informed. Please note that some questions may be deferred over email and will be addressed in the next class session.
General announcements are posted on the home page and the course platform (https://e3p.nycu.edu.tw/course/view.php?id=27454) .
Required Text and Videos
There is no required textbook. Each week's self-paced module — linked from the Calendar — assigns the required reading or video for that week. Additional recommended readings are listed on the Resources page.
Assignment Submission
Assignments are submitted via E3, unless an assignment's instructions say otherwise.
Assignment Due Dates
Unless otherwise specified, all assignments are due "at the end of the day" on whatever date is listed on the calendar. In practice, we will implement this on E3 as 11:59pm Taiwan Standard Time (GMT+8) that day. See Late Work below for the late submission policy.
Assessment
Grades will be calculated as follows:
| Component | Weight | Notes |
|---|---|---|
| Assignment 1 — Technique practice and prompt diagnosis | 10% | Individual |
| Assignment 2 — Prompt system design and test suite | 12% | Individual |
| Assignment 3 — Engineering decision portfolio | 10% | Individual |
| Self-paced Module Question Set | 12% | Individual, async after Week 16 |
| Check-in surveys (4 surveys) | 4% | Individual, graded on completion |
| Labs — all other graded weeks (1% × 13) | 11% | Individual |
| Peer evaluation (once, at CP3) | 2% | Team (done individually) |
| Lab — Week 3 (repository setup + team norms) | 2% | Team |
| Checkpoint 1 (CP1) | 5% | Team |
| Checkpoint 2 (CP2) | 15% | Team |
| Checkpoint 3 (CP3) | 12% | Team |
| Lightning talk + poster + 5-min video | 5% | Team |
| Total | 100% |
Areas may be curved to ensure grades align with student successes toward learning objectives. We expect any curve would be "up" rather than "down". Grades follow the official NYCU policies (e.g., scoring B- and above are passing grades for graduate students, and C- for undergraduate students).
Late Work
Late individual assignments will be assessed a 10% penalty for each 24-hour period after the due date. Assignments more than three days late will not be accepted without advance permission.
No late submissions for team checkpoints — these have downstream dependencies (peer review, instructor feedback) that cannot be rescheduled.
Re-grading
Regrades for an assignment can be submitted by emailing me up to 48 hours after a grade is posted. Regrade requests should articulate, in a paragraph or less, what points are being requested and why the grade should be higher according to the rubric. This could be that the grade was mis-entered, did not realize that a student's work matched the rubric, or that the student provided a correct response which was not on the rubric.
Our experience is that about 10% of grades result in a grade change and a lower percentage have any effect on overall grades. In a large class such as this one, regrade requests can create substantial additional work for the course staff. We are likely to delay responding to any regrade requests until the end of the quarter and may only address those which could impact a student's final grade.
The Prompt Engineering Log
Students maintain an individual running record of significant AI interactions across the semester. An entry records: what you asked the model to do, what it produced, what you decided and why, and what the interaction tells you about the gap between intent and output.
The log is not submitted directly — it is the evidence base for Assignment 5 and the reflection essay. Students who maintain it consistently arrive at both with specific, grounded material to draw from.
Collaboration Policy
Individual assignments must be completed individually. You may discuss concepts with classmates but the prompts you submit, the outputs you record, and the analysis you write must be your own work.
The final project is a team effort. Collaboration expectations within the team are governed by the code steward framework described in the Project page.
AI Use Policy
As this course covers topics including using Generative AI Models in programming and software development, usage of generative AI in stated lab exercises, assignments, and project checkpoints is essential in this course. However, we would also like to state what we explicitly welcome and prohibit in this course.
- We require understanding and the ability to explain all submitted code and documents at a reasonably high level.
- We require you to represent your work and your submissions with thorough transparency and proper attributions.
- We require you to follow the specific policy for using the Generative AI model that will be noted in each assignment.
- We do not take negligence or uncertainty as an excuse for violation. If you are in doubt, ask the course staff if something is acceptable.
- We encourage usage of AI for learning, and believe that using AI could in some ways benefit learners in engaging with course concepts and help address challenging topics.
Following are a list of cases where we consider as violations of our Generative AI Policy:
- Submitting code you don't understand at a reasonable level
- Copying from others (human or AI) without attribution
- Misrepresenting your use of AI tools
- Using any prohibited tools or resources on labs or assignments
- Any other form of deliberate dishonesty or misrepresentation
Academic Integrity
All work is subject to the university's academic integrity policy. Submitting another student's work as your own, fabricating prompt outputs, or misrepresenting AI-generated content as human analysis constitutes a violation.
Accommodations
If you think you need accommodations for a documented disability, religious observance, or other circumstance should contact the instructor as early in the semester as possible so appropriate arrangements can be made. Some aspects of the course including assignments, in-class activities, and teaching style may be modified to facilitate your participation and progress.
Acknowledgement
The course's structure and materials draws on ideas from AI-assisted software engineering practice, research, and prior course offerings, specifically the following courses: CS 7180 (Northeastern), 15-113 (CMU), 17-630 (CMU), TECHIE 1121 (Cornell), CS146S (Stanford). Generative AI was used for revising the course material across different components and the overall course planning.