Technical Completeness & Correctness
The required workflow is complete, the code runs correctly, and the methods are implemented appropriately for the assigned task.
The hands-on labs are individual computational assignments that ask you to turn course concepts into working text-analysis workflows. Lab 1 focuses on text classification and error analysis. Lab 2 focuses on semantic search, retrieval-augmented generation, and evaluation.
Begin with the provided notebook and dataset or document collection. Complete the work in the notebook or in one or more Python .py files. Submit the required materials as one .zip archive through Canvas; assignments sent by email will not be graded.
The archive must contain:
README.md identifying the primary notebook or script, describing the included files, and providing instructions needed to rerun the analysis. Include required packages and either permitted data or clear links and access instructions..ipynb notebook or one or more .py files. Code must be clean, readable, and runnable. Notebook outputs must be visible; scripts must save the required results..ipynb and .py submissions are equally acceptable and are evaluated under the same rubric. No GitHub repository is required. Do not include restricted or sensitive data in the archive; provide access instructions in README.md instead.| Component | Percent of Final Grade |
|---|---|
| Lab 1: Text Classification and Error Analysis | 20% |
| Lab 2: Semantic Search, RAG, and Evaluation | 20% |
Build a reproducible text-classification workflow using a provided labeled dataset. Examine how tokenization shapes model input, compare a simple baseline with task-specific and zero-shot classification approaches, and use quantitative evaluation and structured error analysis to determine when each approach is useful.
README.md template with concise, evidence-based answers to the assigned questions. A separate report is not required.Build a small retrieval-augmented generation workflow over a provided document collection. Test whether the system retrieves useful evidence and produces answers that remain grounded in that evidence, then improve one design choice and compare the results.
The same four criteria apply to both labs and total 100% of each lab grade.
The required workflow is complete, the code runs correctly, and the methods are implemented appropriately for the assigned task.
Claims about model or system performance are supported with appropriate metrics, comparisons, examples, tables, or visualizations.
Results are interpreted accurately, and the discussion recognizes important errors, uncertainty, limitations, and practical implications.
The README, primary notebook or Python source files, and any supporting files are organized, readable, successfully executed, and documented well enough for another reader to follow and reproduce the work.
The performance band indicates the percentage of points earned within a criterion; the Weight column determines that criterion’s contribution to the lab grade.
| Criterion | Exemplary 95–100% |
Proficient 80–94.9% |
Developing 40–79.9% |
Needs Improvement Below 40% |
Weight |
|---|---|---|---|---|---|
| Technical Completeness & Correctness | All required steps are complete and technically sound. The code runs successfully, and the implementation demonstrates a strong understanding of the assigned workflow. | The required workflow is complete and appropriate overall. Minor code or implementation issues do not materially affect the main results. | Major parts of the workflow are present, but some required steps are incomplete, unclear, or affected by technical errors that limit the analysis. | The workflow is substantially incomplete or incorrect, or major errors prevent the submitted code from producing usable results. | 35% |
| Evaluation & Supporting Evidence | Evaluation choices fit the task, comparisons are informative, and conclusions are supported by convincing metrics, examples, tables, or visualizations. | The evaluation is appropriate and supports the main conclusions, with only minor gaps in metrics, comparisons, examples, or presentation. | Some evaluation evidence is provided, but it is incomplete, weakly connected to the task, or insufficient to support important conclusions. | Evaluation evidence is missing, inappropriate, or misleading, leaving the quality of the results largely unexamined. | 30% |
| Interpretation & Limitations | Interpretations are precise and well supported. Errors, uncertainty, limitations, and practical implications are examined thoughtfully and accurately. | Interpretations are accurate overall, and important limitations are identified, though some errors, uncertainty, or implications could be developed further. | The main results are described, but interpretations are incomplete, overstated, or insufficiently attentive to errors and limitations. | Interpretations are absent or unsupported, and major errors, limitations, or implications are not recognized. | 25% |
| Reproducibility & Presentation | The README provides complete rerun instructions, and the notebook or Python source files are clearly organized, successfully executed, and presented with clean code, relevant results, and all required supporting files. | The README, primary analysis files, and any supporting files are readable and reproducible overall, with only minor issues in organization, documentation, output, data access, or presentation. | The required files are present, but missing output, unclear code, incomplete README instructions, or inadequate data access makes reproduction difficult. | The README or primary .ipynb/.py analysis file is missing, the submission is substantially disorganized or undocumented, or the work cannot be reproduced from the available files. |
10% |