# Syllabus: AINS6007 Applied AI Programming with Python

## Catalog Description

Develops maintainable Python AI applications with testing, APIs, interfaces, packaging, and deployment.

## Course Structure

Each week includes readings, a lecture/slide sequence, an executable lab, and an applied deliverable. Students maintain a reproducible project record and submit work through the LMS or GitHub workflow selected by the instructor.

## Weekly Schedule

| Week | Topic | Essential Question | Deliverable |
|------|-------|--------------------|-------------|
| 1 | Python project structure for AI | What makes AI code maintainable beyond a notebook? | Lab notebook + assignment brief |
| 2 | Data handling with Python libraries | How do Python tools support reproducible data work? | Lab notebook + assignment brief |
| 3 | Model APIs and reusable components | How should model code expose clear interfaces? | Lab notebook + assignment brief |
| 4 | Testing and continuous integration | How do we catch AI application failures early? | Lab notebook + assignment brief |
| 5 | Application backends and model services | How does model logic become a service? | Lab notebook + assignment brief |
| 6 | User interfaces and workflow integration | How do users interact with AI outputs in context? | Lab notebook + assignment brief |
| 7 | Packaging, environments, and deployment | How do environments stay reproducible across machines? | Lab notebook + assignment brief |
| 8 | End-to-end AI application | What evidence shows the application works as a system? | Lab notebook + assignment brief |

## Assessment

| Component | Weight |
|-----------|--------|
| Weekly labs and notebooks | 30% |
| Applied assignments | 35% |
| Participation and technical critique | 15% |
| Final synthesis portfolio | 20% |

## Graduate Expectations

Submissions must show technical reasoning, evidence awareness, clear limitations, and responsible use of AI assistance. Code and analysis should be reproducible enough for instructor review.
