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:

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:

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 diagnosis10%Individual
Assignment 2 — Prompt system design and test suite12%Individual
Assignment 3 — Engineering decision portfolio10%Individual
Self-paced Module Question Set12%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 video5%Team
Total100%

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.

Following are a list of cases where we consider as violations of our Generative AI Policy:

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.