Skip to content

Instantly share code, notes, and snippets.

@tlkahn
Created January 18, 2025 02:08
Show Gist options
  • Save tlkahn/e2ee9daff232d6e2b98568919dc9f0f7 to your computer and use it in GitHub Desktop.
Save tlkahn/e2ee9daff232d6e2b98568919dc9f0f7 to your computer and use it in GitHub Desktop.
CMU-advanced-nlp-schedule.py
from icalendar import Calendar, Event
from datetime import datetime, timedelta
cal = Calendar()
cal.add("prodid", "-//My Calendar//mxm.dk//")
cal.add("version", "2.0")
classes = [
(
1,
"2025-01-14",
"Lecture",
"Intro and Basics",
"slides: [https://cmu-l3.github.io/anlp-spring2025/static_files/anlp-s2025-01-intro.pdf], code: [https://github.com/cmu-l3/anlp-spring2025-code/tree/main/01_intro], Cho 2015 (Ch. 1)",
),
(
2,
"2025-01-16",
"Lecture",
"Intro and Basics",
"slides: [https://cmu-l3.github.io/anlp-spring2025/static_files/anlp-s2025-02-wordrep-textclass.pdf], code: [https://github.com/cmu-l3/anlp-spring2025-code/tree/main/02_wordrep_classification], Cho 2015 (Ch. 2, 3), Karpathy 2024",
),
(
3,
"2025-01-21",
"Lecture",
"Intro and Basics",
"Cho 2015 (Ch. 5 up to 5.4.2), Bengio et al 2003, Glorot & Bengio 2010, Kingma & Ba 2015",
),
(
4,
"2025-01-23",
"Lecture",
"Intro and Basics",
"Cho 2015 (Ch. 4, 5.5-5.6, 6), Mikolov et al 2010, Cho et al 2014, Weber 2017, Bahdanau et al 2015",
),
(5, "2025-01-28", "Lecture", "Building Blocks", "Attention and Transformers"),
(5, "2025-01-28", "Recitation", "Building Blocks", "Annotated Transformer"),
(6, "2025-01-30", "Lecture", "Building Blocks", "Pretraining"),
(
7,
"2025-02-04",
"Lecture",
"Building Blocks",
"Decoding and Generation Algorithms",
),
(7, "2025-02-04", "Recitation", "Building Blocks", "HuggingFace Transformers"),
(
8,
"2025-02-06",
"Lecture",
"Building Blocks",
"In-Context Learning and Prompting",
),
(8, "2025-02-06", "Recitation", "Building Blocks", "LiteLLM and LLM APIs"),
(9, "2025-02-11", "Lecture", "Building Blocks", "Supervised Fine-Tuning"),
(10, "2025-02-13", "Lecture", "Building Blocks", "Retrieval and RAG"),
(10, "2025-02-13", "Recitation", "Building Blocks", "LangChain/LlamaIndex"),
(11, "2025-02-18", "Lecture", "Building Blocks", "Reinforcement Learning"),
(12, "2025-02-20", "Lecture", "Building Blocks", "Evaluating Language Generators"),
(
13,
"2025-02-25",
"Lecture",
"Building Blocks",
"Experimental Design and Human Annotation",
),
(
14,
"2025-02-27",
"Lecture",
"Advanced Topics",
"Distillation, Quantization, and Pruning",
),
(15, "2025-03-04", "Break", "No Class", "Spring Break"),
(16, "2025-03-06", "Break", "No Class", "Spring Break"),
(
17,
"2025-03-11",
"Lecture",
"Advanced Topics",
"Ensembling, Merging, and Mixture of Experts",
),
(
18,
"2025-03-13",
"Lecture",
"Advanced Topics",
"Advanced Pretraining: Parallelism and Advanced Techniques",
),
(19, "2025-03-18", "Lecture", "Course Project", "Project Discussion"),
(
20,
"2025-03-20",
"Lecture",
"Advanced Topics",
"Advanced Post Training: RLHF Alternatives",
),
(20, "2025-03-20", "Recitation", "Advanced Topics", "OpenRLHF"),
(21, "2025-03-25", "Lecture", "Advanced Topics", "Meta-Generation Algorithms"),
(22, "2025-03-27", "Lecture", "Advanced Topics", "Speeding Up Inference"),
(22, "2025-03-27", "Recitation", "Advanced Topics", "vLLM / SGLang"),
(23, "2025-04-01", "Lecture", "Advanced Topics", "Long Sequence Models"),
(24, "2025-04-03", "Break", "No Class", "Spring Carnival"),
(25, "2025-04-08", "Lecture", "Applications and Society", "Multimodal models"),
(26, "2025-04-10", "Lecture", "Applications and Society", "Multilingual NLP"),
(27, "2025-04-15", "Lecture", "Applications and Society", "Agents"),
(
28,
"2025-04-17",
"Lecture",
"Applications and Society",
"Safety and Security: Bias, Fairness, and Privacy",
),
(29, "2025-04-22", "Lecture", "Course Project", "Posters"),
(30, "2025-04-24", "Lecture", "Course Project", "Posters"),
]
for class_num, date_str, class_type, topic, resources in classes:
date_obj = datetime.strptime(date_str, "%Y-%m-%d")
event = Event()
event.add("summary", f"Class {class_num}: {topic}")
event.add("dtstart", date_obj)
event.add("dtend", date_obj + timedelta(hours=1))
event.add("description", f"Type: {class_type}\nResources: {resources}")
cal.add_component(event)
f = open("class_schedule.ics", "wb")
f.write(cal.to_ical())
f.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment