Lecture Videos








Blog Posts
Vision Transformers: A Friendly Introduction
By: Yash Ejjagiri
This blog introduces Vision Transformers (ViTs), which apply transformer models from natural language processing to image classification tasks. Unlike CNNs that focus on local features, ViTs divide images into patches and use self-attention to capture global context. The article explains the ViT architecture step by step, compares it with CNNs, and covers popular variants like DeiT, Swin, and BEiT that improve data efficiency and scalability. It also includes PyTorch examples for fine-tuning and training ViTs, showing how they can be applied effectively in real-world computer vision projects.
View on Medium🚀Getting Started with Go (Golang): A Beginner-Friendly Guide for CS Freshmen
By: Davis Zhang
This blog is a beginner-friendly guide to learning Go (Golang), a programming language known for its simplicity, speed, and support for concurrency. It explains why Go is great for CS freshmen, covering its clean syntax, strong typing, and built-in garbage collection. The article walks through setting up the environment, writing a basic “Hello, World!” program, and introduces core concepts like variables, functions, loops, slices, and maps. It also highlights Go’s powerful concurrency features using goroutines and channels, making it ideal for scalable systems like those taught in CS 425 (Distributed Systems).
View on MediumLayers in Keras: An Introduction to Computer Vision
By: Prasheetha Bairwa
This blog introduces the basics of using Keras and Convolutional Neural Networks (CNNs) for computer vision tasks like image classification. It explains how layers such as convolutional, activation, pooling, and dense layers work together in the Sequential API to extract features and make predictions. The author walks through both binary and multi-class classification examples using Keras, highlighting key differences in output layers and loss functions. Overall, the guide is beginner-friendly and demonstrates how to build and customize models effectively for visual data.
View on MediumFrom Idea to App: The Iterative Process of Coding with Language Models
By: Raaghav Pillai
This blog explains how to build software using large language models like GPT-4 through an iterative process called prompt engineering. Instead of expecting perfect code from a single prompt, the author highlights the importance of treating the AI as a collaborative coding partner, refining and improving the code step by step. A case study of a weather alert app shows how each prompt builds on the last to create a functional tool. The post also shares useful prompting techniques and best practices to help developers get clearer and more reliable code.
View on MediumWeb Scrapers
By: Roma Chandra, Janice Mei
This blog introduces web scraping as a method to collect and organize data from websites using tools like Python and BeautifulSoup. It walks through the basic steps of sending requests, parsing HTML, extracting data, and storing it, with a simple example of scraping blog headlines. The post also highlights practical uses of web scraping such as market research, news tracking, and competitor analysis. Lastly, it covers important ethical and technical considerations like respecting site terms, avoiding server overload, and handling security measures like CAPTCHAs and honeypot traps.
View on MediumBuilding Your First Chatbot with OpenAI API, A Simple Guide For Beginners
By: Sriram Natarajan
This blog provides a step-by-step tutorial for building a simple, custom chatbot using OpenAI’s API in Python. It walks through generating an API key, setting up a virtual environment, and installing the necessary packages. The chatbot’s behavior is defined using a system message, and it runs in a loop that accepts user input, generates replies using the OpenAI API, and maintains message history for better context. Error handling is built in with try and except blocks, and the blog emphasizes writing clean, well-commented code while encouraging readers to tailor the bot’s tone and functionality to their needs.
View on MediumWhy Use Large Language Models in Robots?
By: Esha Mujumdar
This blog explains how large language models like ChatGPT have transformed robots from rigid, scripted responders into dynamic conversational partners. By using GPT-3.5 in a NAO robot, researchers at UChicago explored how language tone affected group dynamics in human-robot interaction. The system allowed for flexible, natural dialogue but faced challenges like latency and tone control. Looking ahead, robots will likely use multimodal AI, combining language with vision and movement to create even more human-like interactions.
View on MediumIntroduction to Web Scraping
By: Keshat Mehra
This blog introduces web scraping as an automated method to extract data from websites, aimed at CS 124 Honors students exploring data collection. It explains how scraping works using HTML structure and tools like BeautifulSoup, Scrapy, and Selenium, with code examples to illustrate the process. The post also covers practical applications such as market research and content aggregation, along with ethical and legal considerations like respecting robots.txt files. Lastly, it offers tips on handling challenges such as anti-scraping measures and layout changes, plus resources for further learning.
View on MediumBuilding a Simple Rule-Based Chatbot for Beginners
By: Prachod Kakatur
The blog is a beginner’s guide to building a simple rule-based chatbot using Python. It explains the basics of chatbots, how they work, and walks through creating one using a dictionary of responses and a loop for user interaction. The post encourages experimenting with added features like jokes or showing the current time. It also links to resources for deeper learning.
View on MediumResource Vault
The CS124 Honors resource vault is a Notion page created to keep track of useful external resources that Project Managers and their students have accumulated in various subtopics over the semesters. This Notion page is publicly accessible here.