Skip to content
@1995parham-teaching

Parham & Elaheh · Teaching Materials

Open course material and hands-on projects — C, Python, Go, networking, Kubernetes, and LLMs.

A Panda and a nut who teach

A Panda and a nut who teach — C, Python, Go, networking, Kubernetes and LLMs

Internet Engineering lecture stars Go lecture stars Information Security lecture stars k1s stars

Introduction

Course material, lecture slides, hands-on projects, and exams — from C and Python fundamentals through Go, networking, Kubernetes, and LLMs. Everything here is open: take it, teach with it, or learn from it.

Parham teaches programming, backend, and infrastructure. Elaheh works on machine learning and data science.

Most repositories carry a hands-on project, not just slides — they show how we approached a well-known problem. Try your own solution first, then compare. Programming has no one-size-fits-all rulebook, so where our approach differs from yours, use whatever serves you and your team better — and open an issue to tell us about it. Questions, corrections, and contributions are all welcome.

Start here

If you want to learn… Start with
Programming, from zero c-lecturego-lecture
Go, from zero go-lecturestudents-fall-2023
Building a real backend fandogh
Python python101Python201
Kubernetes k1s
Web & internet engineering ie-lecture
Information security is-lecture
LLMs, as a non-AI developer llm101

Go

  • go-lecture — introduction to Go, also used in the Internet Engineering course
  • fandogh — backend demonstration in Go with JWT, MongoDB, and friends
  • tinyurl — a URL shortener that walks through the key concepts of Go
  • song_cloud — a minimal SoundCloud, built for having fun with databases
  • gorm-sample — the GORM object-relational mapper by example
  • record-appender — read a log file, append the records into PostgreSQL
  • say-hello — React, Fiber, and an API, just for saying hello
  • cloud-fall-2022 — a Go review run with the Snapp! cloud team

The students series

A RESTful server in Go, written live during class — database, configuration, logging, and testing, added session by session. Each term starts fresh, so pick the most recent one.

Earlier terms (archived)

Python

  • python101 — an introduction to Python
  • Python201 — advanced Python, including functional programming
  • python-assignments — assignments accompanying the python101 course
  • fruits-api — a small containerized API with FastAPI and SQLite

Networking and distributed systems

  • socket.py — socket programming in Python, sized for one or two hands-on sessions
  • P2P — a peer-to-peer network for file distribution
  • ion-sample — WebRTC with Pion's ion-sfu

Infrastructure and cloud

  • k1s — learn how to use Kubernetes
  • IaC — an introduction to infrastructure as code
  • argofun — practices worth reviewing when using ArgoCD

AI and data

Course lectures

The four decks taught as university courses. Each is a full term of slides, kept in step with the assignments and exams beside it.

  • c-lecture — Fundamentals of Computer and Programming, an introduction to programming in C. Beamer slides, fourteen lectures
  • go-lecture — introduction to Go, also the sample code for the Go lecture of the Internet Engineering course
  • ie-lecture — Internet Engineering, from back-end to front-end web development. reveal.js slides
  • is-lecture — Introduction to Information Security: cryptography, access control, and system, web and network defence

The exercises and papers that go with them:

  • ie-assignmets — Internet Engineering assignments
  • ie-exam — Internet Engineering midterm and final questions
  • git-exercise — the first Git assignment of the AUT course

Miscellaneous

  • interviews — using code to remember the awesome moments of our lives

Archive

Retired material. Still readable, no longer maintained — the language basics have moved on, but the exercises hold up.

C programming
Courses and exams
Tools and one-offs
  • dallal — writing a message broker in Python over TCP
  • IoTIPv6 — the Internet of Things and IPv6 presentation
  • gitlab-ci — how to keep GitLab CI easy to use
  • harpocrates — mailing student grades privately from a CSV file
  • ellang — the Elahe language, from the Fall 2020 compiler course

The other half

Everything here was prepared for someone else to follow — courses, lectures, and exercises with a beginning and an end. The scratchpads where we work things out for ourselves, one technology at a time, live in 1995parham-learning. That one is the workbench. This one is curated.


the two of us, teaching

Found a mistake, or solved something a nicer way? Open an issue on the repository — we would like to see it.

Pinned Loading

  1. fandogh fandogh Public

    Backend implementation demonstration in go with JWT, MongoDB, etc.

    Go 21 2

  2. go-lecture go-lecture Public

    Introduction to Go 👋 also used in IE Course

    Go 29 2

  3. socket.py socket.py Public

    Introduction to socket programming with python - use for one or two hands on session in computer networking course

    TeX 4

  4. dallal dallal Public archive

    How to write a message broker in Python, TCP

    Python 3 1

  5. song_cloud song_cloud Public

    Minimal Soundcloud just for having fun with databases

    Go 4 2

  6. k1s k1s Public

    Learn how to use Kubernetes

    Go 19 1

Repositories

Showing 10 of 47 repositories

Top languages

Loading…

Most used topics

Loading…