Course Overview
Course Description
A hands-on introduction to conceptual foundations and practical tool development for applied text analytics and natural language processing. Students will learn how to transform unstructured text into structured data, extract and visualize meaningful patterns, and communicate insights effectively. Students will work with real-world datasets such as news articles, social media posts, and policy documents. Students will leverage Python to develop reproducible workflows for tasks including classification, clustering, and question answering over document collections.
Skill-based prerequisite: Basic familiarity with Python.
Course Content
This course covers reproducible preparation and management of text data; tokenization and embeddings; transformer language models; text classification, clustering, and topic modeling; prompt engineering and text generation; semantic search and retrieval-augmented generation; evaluation and responsible use of language models; and introductory model adaptation and fine-tuning. Students will apply these concepts through short Python labs and an end-to-end text-analysis project.
Learning Outcomes
Upon completion of this course, students will be able to:
- Describe foundational concepts in text modeling, such as how bidirectional encoder models process language to capture meaning and context.
- Manage raw text data by applying appropriate preprocessing techniques, such as collection, cleaning, and organizing, to prepare it for analysis.
- Design implementable end-to-end Python pipelines that support tasks such as classification, clustering, and question answering.
- Assess the quality of text analysis results, including their limitations and implications for decision-making.
- Communicate verbally and visually through clear, concise, and interactive visualizations of text analysis.
Textbooks
No textbook is required.
Optional Text
Hands-On Large Language Models: Language Understanding and Generation by Jay Alammar and Maarten Grootendorst. First edition, O’Reilly Media, 2024. ISBN: 978-1-098-15095-2.
Students who want a copy can view or purchase the book from O’Reilly (opens in a new tab).
Tools
A laptop is recommended. Course labs and reproducible text-analysis workflows use the following tools:
- Python (opens in a new tab) for text processing, analysis, and application development.
- Google Colab (opens in a new tab) for hands-on coding labs.
- GitHub (opens in a new tab) for accessing course repositories, managing version-controlled assignment work, and submitting repository-based assignments.
- Hugging Face (opens in a new tab) for language models and related text-analysis workflows.
Technical and Digital Information Literacy Skills/Requirements
- Use basic Python to work with text data and complete guided coding activities.
- Download and use publicly available online data.
- Use Google Drive.
- Use GitHub to access course materials, create and maintain assignment repositories, and submit repository links as directed.
- Scan QR codes using a smartphone.
- Conduct online research using search engines and library databases. Visit Distance Learning Services at NC State Libraries (opens in a new tab) for more information.
- Use online research tools such as Google Scholar, including appropriate search criteria, keywords, and filters.
Grading & Feedback
Grading Components & Weighting
Student performance will be evaluated using the following components:
| Component | Percentage of Final Grade |
|---|---|
| Hands-on Labs | 40% |
| Project | 50% |
| Engagement | 10% |
Final Grade Breakdown
Final course scores correspond to the following letter grades:
| Low | Letter | High | Low | Letter | High |
|---|---|---|---|---|---|
| 99 ≤ | A+ | ≤ 100 | 73 ≤ | C | < 77 |
| 93 ≤ | A | < 99 | 70 ≤ | C- | < 73 |
| 90 ≤ | A- | < 93 | 67 ≤ | D+ | < 70 |
| 87 ≤ | B+ | < 90 | 63 ≤ | D | < 67 |
| 83 ≤ | B | < 87 | 60 ≤ | D- | < 63 |
| 80 ≤ | B- | < 83 | 0 ≤ | F | < 60 |
| 77 ≤ | C+ | < 80 |
Assignment Submission & Feedback
Submit assignments through the designated links under the corresponding assignment tabs. Assignments submitted by email will not be graded. Grades and feedback will be returned through Canvas.
Late Assignments
Late assignments will be accepted with a 25% deduction for each day submitted late.
Credit-Only (S/U) Grading
For students taking the course for credit only, work equivalent to C- or better earns an S (Satisfactory); work below C- earns a U (Unsatisfactory). See the Credit-Only Courses regulation (opens in a new tab).
Auditing
Auditing is approved on a case-by-case basis. Contact the instructor for approval and consult the Audit regulation (opens in a new tab) for requirements and forms.
Course Policies & Procedures
Inclusion Statement
It is my intent that students from all diverse backgrounds and perspectives be well-served by this course. I aim to create an inclusive environment where students’ learning needs are met, and the diversity of experiences, identities, and viewpoints enriches our shared learning. I strive to present materials and activities that acknowledge and respect differences in gender identity, sexual orientation, disability, age, socioeconomic status, ethnicity, race, religion, culture, and perspective. Your feedback on enhancing the inclusivity and effectiveness of the course is welcome. If you have suggestions for improving your experience or that of your peers, please feel free to reach out. I also have made an effort to avoid scheduling major deadlines during significant religious holidays. If any deadline conflicts with your religious observances, please contact me at serena_kim@ncsu.edu so we can make appropriate adjustments.
Student Rules of Conduct
Students and faculty share responsibility for maintaining an appropriate and respectful learning environment. NC State REG 11.35.05 Code of Student Conduct (opens in a new tab) sets expectations for behavior in both virtual and physical classrooms, as well as consequences for violations. While diverse viewpoints and interpretations of course content are welcome, any behavior that disrupts others’ ability to learn and succeed will be addressed. Students are expected to adhere to the following rules of conduct to maintain a productive and respectful learning environment:
- Respect and Inclusion: Treat all members of the class—peers, instructors, and guests—with respect. Discrimination, harassment, or inappropriate behavior of any kind is strictly prohibited. This includes professional courtesy and sensitivity toward individuals and topics involving race, color, national origin, gender identity, sexual orientation, disability, age, socioeconomic status, ethnicity, religion, culture, perspective, or other background characteristics.
- Engage Constructively: Contribute to class discussions and group work in a positive and respectful manner. Allow others the opportunity to share their perspectives without interruption or judgment.
- Maintain Academic Integrity: Follow NC State’s policies on academic integrity. Plagiarism, cheating, or unauthorized collaboration on assignments is not allowed.
- Be Prepared and Focused: Complete all assigned readings, tasks, and exercises before class. During sessions, silence personal devices, avoid distractions, and stay engaged. Activities such as phone calls, use of headphones, persistent talking, whispering, and web surfing unrelated to the course are prohibited.
- Communicate Professionally: Use respectful, professional language in all communications, including emails, discussions, and written assignments.
- Respect Class Time and Privacy: Arrive on time for all meetings and inform the instructor in advance if you need to arrive late or leave early. Do not record or share course content, discussions, or other students’ work without explicit permission from the instructor and all involved parties.
- Use Course Tools Appropriately: Use course-related digital platforms solely for their intended educational purposes.
Incomplete Grades and Withdrawals
Information on incomplete grades can be found in REG 02.50.03 – Grades and Grade Point Average (opens in a new tab). If you encounter a serious disruption to your work not caused by you and you would have otherwise successfully completed the course, contact your instructor as soon as you can to discuss the possibility of earning an incomplete in the course for the semester, including an agreement on when the remaining work must be done in order to change the grade to the appropriate letter grade. If you must withdraw from a course or from the university due to hardship beyond your control, see the Withdrawal Process and Timeline (opens in a new tab) for information and instructions.
Artificial Intelligence (AI) Policy
Using AI as a Learning Aid
Generative and agentic artificial intelligence (AI) tools are optional learning aids in this course. These tools include chatbots, code assistants, spreadsheet copilots, automatic-analysis tools, and generative features embedded in other software. Students are not required to use an AI assistant, will not be disadvantaged for choosing not to use one, and can complete every assignment without one.
When an assignment requires students to run, evaluate, or adapt AI models as part of the course content, that required activity is distinct from using an AI assistant to produce the student’s work. Conventional calculators, statistical software, and execution of student-written code are also not considered AI assistance. Assignment-specific instructions may impose stricter conditions than this policy.
Permitted Assistance
- Concept Learning: AI may explain concepts, terminology, error messages, or course-related ideas and provide additional examples.
- Analytical Brainstorming: AI may suggest research questions, variables, models, statistical tests, diagnostics, alternative interpretations, or study limitations. Students must evaluate these suggestions and make the final analytical decisions.
- AI-Assisted Code Generation: Unless an assignment is designated for independent coding, students may use AI to generate starter code, functions, alternative implementations, or an initial draft of a larger workflow. Before submitting it, students must inspect the code; verify packages, data transformations, model assumptions, evaluation metrics, and results; test it with appropriate examples and edge cases; document substantive AI assistance; and be able to explain, reproduce, debug, and modify every submitted portion without AI.
- Editing Mechanics: AI may identify and correct grammar, spelling, punctuation, and typographical errors in text the student has already written. Assistance must remain limited to correcting errors rather than rewriting, expanding, or reorganizing the content.
- Formatting: AI may help format student-created tables or organize verified references in a consistent citation style, provided it does not add, remove, invent, or substantively change information.
Prohibited Assistance
- Unverified or Unowned Code: Students may not submit AI-generated code solely because it runs, or code they have not critically reviewed and cannot explain, test, reproduce, debug, or modify. Code that executes without an error is not necessarily correct or appropriate for the task.
- Drafting or Rewriting: AI may not draft, expand, substantially rewrite, or reorganize reports, analytical explanations, presentation content, posters, or speaker notes.
- Unverified Analysis: AI may propose analytical workflows or code, but students may not accept a black-box analysis or final output without executing, inspecting, and validating the workflow. Final interpretations, conclusions, and recommendations must reflect the student’s own reasoning.
- Fabricated or Nonreproducible Figures: AI may generate visualization code, but the final figure must be produced from the underlying data, checked for accuracy and potentially misleading design choices, and reproducible through submitted code. Image-generation tools may not create a figure that purports to represent data.
- Fabricating Evidence: AI may not be used to generate or alter citations, sources, quotations, data, observations, survey responses, participants, or research findings. AI output is not an authoritative source.
- Independent Assessments: AI may not be used on quizzes or any other assessment designated for independent work.
Data, Privacy, and Course Materials
Do not enter identifiable, confidential, respondent-level, or otherwise restricted data into an AI tool unless the instructor explicitly authorizes both the tool and the proposed data use. Raw survey responses, another student’s work, and restricted course materials may not be uploaded to public or personal AI accounts. When university data are involved, students must use an appropriately authorized account and follow NC State’s approved-tool and data-classification requirements (opens in a new tab).
Responsibility and Evidence of Learning
Students are responsible for every element they submit, regardless of whether AI provided assistance. AI recommendations are suggestions, not answers. Students must verify factual claims using authoritative sources and reproduce numerical results in Python, R, Excel, Stata, or another approved analytical program. Submitted figures must be reproducible through the underlying data and the student’s code or formulas.
Code evaluation: Code will be evaluated not only on whether it runs, but also on its reproducibility, validation, error analysis, appropriateness for the task, and the student’s ability to justify the resulting workflow.
Students must be prepared to explain their code, formulas, analytical choices, results, writing, and visualizations; describe how AI contributed and how its output was tested and validated; identify and modify AI-assisted portions of their work; and answer brief questions or demonstrate part of their workflow when requested. For group work, every member must understand and be able to explain the group’s use of AI.
Submitted notebooks, scripts, spreadsheet formulas, drafts, version history, presentations, and brief oral explanations may be considered alongside any demonstration when assessing understanding and authorship.
AI-Use Statement
Unless an assignment explicitly provides an exemption, include a brief AI-use statement identifying: (1) the tool used; (2) the purpose for which it was used; (3) the code, content, or workflow produced or modified with its help; (4) the tests, revisions, or corrections performed; and (5) how the output was validated. Students should retain relevant AI conversations and earlier versions of their work in case clarification is needed, but a complete transcript of every prompt is not required.
Routine built-in spelling or grammar flags that do not rewrite sentences and non-generative formatting features do not require disclosure. If no generative or agentic AI assistant was used, state: “No generative or agentic AI assistant was used in completing this assignment.”
Academic Integrity
Using AI outside the boundaries established by this policy or an assignment’s instructions may constitute unauthorized assistance, falsification, misuse of academic materials, or plagiarism under NC State’s academic-integrity policies. Suspected misuse will be addressed through the university’s established academic-integrity and student-discipline procedures.
University Policies
Academic Integrity and Honesty
Students are required to comply with the university policy on academic integrity found in the Code of Student Conduct 11.35.01, sections 8 and 9 (opens in a new tab). Therefore, students are required to uphold the Pack Pledge: “I have neither given nor received unauthorized aid on this test or assignment.” Violations of academic integrity will be handled in accordance with the Student Discipline Procedures (opens in a new tab). Please refer to the Academic Integrity overview (opens in a new tab) for a detailed explanation of the university’s policies and common understandings related to them.
Student Privacy
Originality-checking software: Software such as Turnitin may be used in this course to detect the originality of student submissions.
Class recording statement: In-class sessions are recorded in such a way that might also record students in this course. These recordings will not be used beyond the current semester or in any other setting outside the course.
Class privacy statement: This course requires online exchanges among students and the instructor, but not with persons outside the course. Students may be required to disclose personally identifiable information to other students in the course through electronic tools such as email or web postings where relevant to the course. Examples include online discussions of class topics and posting student coursework. All students are expected to respect each other’s privacy by not sharing or using such information outside the course.
Other Policies
Students are responsible for reviewing the NC State University Policies, Rules, and Regulations (PRRs) that pertain to their course rights and responsibilities:
Course Evaluations
ClassEval is the end-of-semester survey for students to evaluate instruction in all university classes. The survey is administered online and includes 12 closed-ended questions and three open-ended questions. Deans, department heads, and instructors may add a limited number of their own questions to these 15 common-core questions.
Each semester, students’ responses are compiled into a ClassEval report for every instructor and class. Instructors use the evaluations to improve instruction and include them in their promotion and tenure dossiers, while department heads use them in annual reviews. The reports are included in instructors’ personnel files and are considered confidential.
Online class evaluations are available during the last two weeks of the semester for full-semester courses and the last week of shorter sessions. Students will receive an email directing them to a website to complete class evaluations. Evaluations become unavailable at 8:00 a.m. on the first day of finals. See more information about ClassEval (opens in a new tab).
- ClassEval website (opens in a new tab)
- ClassEval Help Desk: classeval@ncsu.edu
Student Resources
Academic and Student Support
Academic and Student Affairs (opens in a new tab) maintains a website with links for student support on campus, including academic support, community support, health and wellness, financial hardship or insecurity, and more. Visit Find Help on Campus (opens in a new tab).
Disability Resources
Reasonable accommodations will be made for students with verifiable disabilities. To take advantage of available accommodations, students must register with the Disability Resource Office (DRO) (opens in a new tab). For more information on NC State’s policy on working with students with disabilities, see the DRO Policies, Rules and Regulations (opens in a new tab) and REG 02.20.01 – Academic Accommodations for Students with Disabilities (opens in a new tab). Please contact the instructor at serena_kim@ncsu.edu to submit an accommodation letter within the first three weeks of the semester.
Safe at State
At NC State, we take the health and safety of students, faculty, and staff seriously. The Office of Equal Opportunity (opens in a new tab) supports the university community by providing services and resources to guide individuals in obtaining the help they need. See the Safe at State webpage (opens in a new tab) for resources.
Supporting Fellow Students in Distress
As members of the NC State Wolfpack community, we each share a personal responsibility to express concern for one another and to ensure that this classroom and the campus as a whole remain healthy and safe environments for learning. Occasionally, you may come across a fellow classmate whose personal behavior concerns or worries you, either for the classmate’s well-being or your own. If you feel this way, please report the behavior through the NC State CARES website (opens in a new tab). Although you can report anonymously, it is preferred that you share your contact information so the team can follow up with you personally.