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.
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
Hands-On Large Language Models by Jay Alammar and Maarten Grootendorst. First edition, published September 2024. ISBN: 978-1-098-15095-2.
This textbook is recommended, but students are not required to purchase it.
Students who want a copy can view or purchase the book from O’Reilly (opens in a new tab).
Tools
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.
- Hugging Face (opens in a new tab) for language models and related text-analysis workflows.
Technical and Digital Information Literacy Skills/Requirements
- Download and use publicly available online data.
- Use Google Drive.
- Scan QR codes using a smartphone.
- Conduct online research using various search engines and library databases. Visit Distance Learning Services at NC State Libraries (opens in a new tab) for more information.
- Use online search tools such as Google Scholar for academic purposes, including applying search criteria, keywords, and filters.
Grading & Feedback
Grading Components & Weighting
Student performance will be evaluated using the following components:
| Component | Percentage of Final Grade |
|---|---|
| Attendance & Participation | 15% |
| Hands-on Labs | 40% |
| Project | 40% |
| Peer Review | 5% |
Final Grade Breakdown
Final course scores correspond to the following letter grades:
| Grade | Final Course Score | Grade | Final Course Score |
|---|---|---|---|
| A+ | 97 ≤ score ≤ 100 | C | 73 ≤ score < 77 |
| A | 93 ≤ score < 97 | C- | 70 ≤ score < 73 |
| A- | 90 ≤ score < 93 | D+ | 67 ≤ score < 70 |
| B+ | 87 ≤ score < 90 | D | 63 ≤ score < 67 |
| B | 83 ≤ score < 87 | D- | 60 ≤ score < 63 |
| B- | 80 ≤ score < 83 | F | 0 ≤ score < 60 |
| C+ | 77 ≤ score < 80 |
Assignment Submission & Feedback
Assignments should be submitted through the designated links provided on the respective assignment pages. Assignments sent by email will not be graded. Students can expect assignments to be graded within six business days.
Attendance & Participation
Attendance represents 15% of the final grade and is recorded through brief, in-class activities administered throughout the semester. To earn full attendance credit, students must complete and submit at least 80% of all activities.
Late Assignments
Late assignments will be accepted with a 10% deduction for each day they are submitted late.
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 tools, such as Google Chat, Moodle, and other 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
Use of Large Language Models
The use of Large Language Models (LLMs) such as ChatGPT, Gemini, Perplexity, NotebookLM, and Claude is permitted in this course under the following policies. However, LLMs may produce content that is incorrect, biased, or misleading. Therefore, it is the student’s responsibility to verify the accuracy and appropriateness of any content generated by an LLM before including it in their assignments.
Allowed Uses
- Code Assistance: LLMs may be used to generate or debug Python and R code, but students are responsible for ensuring the code is correct.
- Brainstorming: LLMs can be used to brainstorm ideas, such as identifying omitted variables in a model, and refine your ideas.
- Table Formatting: LLMs can help combine and format tables. Check the output carefully because LLMs make mistakes.
- Reference Organizing & Formatting: LLMs can be used to organize and format references in a coherent style such as APA, Harvard, or Chicago.
- Text Editing: LLMs can be used to correct spelling, typos, and grammar in already written text. Two explicitly allowed prompts are: “Correct grammar, spelling, and punctuation errors” and “Improve clarity and readability without changing the original content.”
Prohibited Uses
- Drafting Text: LLMs should not be used to draft your writing. You cannot provide a single sentence or short outline and have an LLM generate an entire paragraph or section. You cannot have an LLM draft the explanations or motivations for your analysis and data visualization. All written content must be your own work.
- Generating Figures: LLMs cannot be used to create figures for your assignments.
- Data Analysis: Students may not upload datasets to LLMs for analysis or to generate results automatically.
- Uploading Course Materials: Do not upload course slides, assignments, or instructor-provided datasets to LLM platforms. Doing so may violate intellectual property rights.
- Calculations: LLMs cannot be used to perform calculations. General calculators may be used instead.
Academic Integrity: Students are responsible for ensuring that their work remains original. The use of LLMs must comply with the university’s academic integrity policies. Plagiarism, whether facilitated by an AI tool or any other source, is strictly prohibited. Students must properly cite all sources and ensure their work is the result of their independent effort. Originality-checking software may be used in this course to detect the originality of student submissions.
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.