Understanding LLM fundamentals — tokenization, embedding, attention, and text generation with concrete examples