CEIT490 DEVELOPING EDUCATIONAL APPLICATIONS USING LARGE LANGUAGE MODELS

Course Code:4300490
METU Credit (Theoretical-Laboratory hours/week):4 (3.00 - 2.00)
ECTS Credit:8.0
Department:Computer Education and Instructional Technology
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:
Offered Semester:Fall and Spring Semesters.

Course Objectives

Large Language Models (LLMs), like GPT-4 or GPT-4o, have become a hot topic in recent times thanks to ChatGPT. They're incredibly powerful tools that have the potential to change the way we work and learn across many areas, including education.  This course will introduce you to the basics of LLMs and show you how to create your own LLM-powered applications using LangChain and StreamLit.

At the end of this course, the student will learn:

  • The core principles behind how LLMs operate,
  • Hugging Face transformers Library,
  • Prompt engineering and fine-tuning techniques
  • The Langchain Python framework,
  • Memory, embeddings, and vector databases, and RAG,
  • LLM agents, and Streamlit.

Course Content

AI in education; natural language processing; transformer architecture; prompting and prompt engineering; pre-training LLMs; fine-tuning LLMs; tokenization; embeddings; performance ealuation; reinforcement learning; LLM applications.


Course Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Understand and interact with large language models (LLMs) using APIs.
  • Work with pre-trained LLMs using the Huggingface transformer library.
  • Run open-source LLMs on their own computers.
  • Use basic prompting techniques to get better results from LLMs.
  • Apply advanced prompting methods for more complex and relevant LLM outputs.
  • Explain how memory, embeddings, and vector databases help LLMs work.
  • Build systems that combine LLM capabilities with external knowledge.
  • Create LLM Agents that can perform tasks or interact with the world.
  • Understand the basics of StreamLit and use it for interactive web apps.
  • Develop AI applications with StreamLit that utilize LLMs.
  • Fine-tune LLMs to make them better at specific tasks.

Program Outcomes Matrix

Level of Contribution
#Program Outcomes0123
1They have the skill and knowledge to use information technologies.
2They use information technology to access information, and they analyze, synthesize, and evaluate knowledge by adapting to new situations.
3They use strategies and techniques based on learning theories and apply them to solve instructional problems in a systemic and systematic way
4They have skill and knowledge in analysis, design, development, implementation and evaluation in instructional design process.
5They implement learning-teaching methods and techniques in computer education.
6They have knowledge, skill and competency about computer hardware, operating systems, computer networks and programming languages.
7They determine measurement and evaluation methods and techniques used in computer education.
8They have the ability to conduct and present results of intra-disciplinary and inter-disciplinary researches in the field of instructional technology.
9They comprehend project management processes and implement and present projects electronically.
10They have critical thinking and problem solving skills.
11They have social communication and cultural exchange skills.
12They have legal knowledge, skills and attitudes required for teaching profession and apply them in the learning environment.

0: No Contribution 1: Little Contribution 2: Partial Contribution 3: Full Contribution