A prompt is not a search query. It is a set of instructions that shapes how a language model behaves — what it produces, in what form, and even who asks the questions. This tutorial teaches sixteen named, reusable techniques for writing those instructions, drawn from the research literature and extended with the practical habits that make them work. Most of this tutorial is based on "A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT" by Jules White from Vanderbilt University. This is a link to that paper:
https://www.dre.vanderbilt.edu/~schmidt/PDF/prompt-patterns.pdf
Eleven sections. No prior experience assumed, and none of the examples require programming — any conversational model will do.
Contents
Twenty-three slides covering the same ground as the tutorial in a form you can work through in one sitting, or present to a group. Each pattern gets a slide: what it is, when to reach for it, and a prompt you can copy. Use it as a refresher once you have read the tutorial, or as the fast route through if you would rather see the patterns before the reasoning behind them.
Musk, Gates, and an engineer's own AI-built projects
Elon Musk says AI will surpass human software development capabilities within eighteen months. Bill Gates argues governments must prepare for AI to displace large numbers of workers. These are two halves of one question: how quickly AI can replace human cognitive labor, and what happens to a society if it does.
Twelve sections, built on five systems I finished alone in eighteen months — including the one that failed, and why it failed.
Short Version
The whole argument in two pages: what the five projects showed, why software is exposed before other trades, and the question the Musk-Gates argument keeps crowding out. It states the conclusions without the evidence behind them — enough to decide whether the full paper is worth your time, and enough to hand to someone who will not read twelve sections.

Five projects built in collaboration with AI, each one showing how the tools accelerate the design and implementation of real systems. They span Android app development, computer architecture, FPGA design, schematic capture, and hardware description languages.
1. abDraw: Schematic Capture for Digital Designs
abDraw is a schematic capture tool for electrical block diagrams, written in Python. Symbols carry named pins that stay wired through every move, an orthogonal auto-router keeps connections readable as a sheet fills up, and buses, multi-sheet designs and netlist export take a drawing from sketch to documentation. PNG and PDF export produce figures usable in reports and on this site.
The tool exists because the commercial equivalents cost more than a retired engineer will spend, and drawing block diagrams by hand in a general-purpose drawing program loses the one thing that matters: the connections.
Tools:
PyCharm 2025.1.1
Claude
2. abVisualRTL: Visual FSM to HDL
abVisualRTL turns a drawn finite-state machine into synthesizable hardware. You place states, transitions and conditions on a canvas; the tool generates SystemVerilog or VHDL from the same diagram, with Moore and Mealy outputs, automatic state encoding, and a live HDL preview that updates as you draw.
State machines are where FPGA designs are won or lost, and the usual workflow — draw the diagram to think, then hand-translate it into HDL, then keep the two in step — wastes effort and invites mistakes. Here the diagram is the source.
Tools:
PyCharm 2025.1.1
Claude
3. B_Bot: BLE Android Control Application
I developed a custom Android application to wirelessly control the B-Bot rover via Bluetooth Low Energy (BLE). Using a combination of Android Studio and Google's Gemini Pro, I accelerated the development lifecycle.
Tools:
Android Studio 2024.3.1
Gemini
4. abCore16: Custom 16-bit Microprocessor and Ecosystem
The abCore16 project is a complete 16-bit microprocessor and its ecosystem. The microprocessor HDL was written in SystemVerilog. The microprocessor's ecosystem was written entirely in Python. It features a custom CPU architecture and a comprehensive software development toolchain built within a PyCharm environment.
The ecosystem enables software development for the abCore16 CPU through two distinct compilation paths:
The toolchain provides a seamless workflow from high-level code to execution:
The project serves as a practical, hands-on platform for exploring and implementing concepts in computer architecture and compiler design.
Tools:
PyCharm 2025.1.1
Gemini, ChatGPT
5. abUART: FPGA-Based UART and Testbench in SystemVerilog
Yes, Gemini can generate Hardware Description Language (HDL) code for FPGA implementation. Currently, there is a huge demand for FPGA developers so the ability to design systems for FPGA implementation is a practical as well as incredibly useful skill.
I designed, implemented, and verified a Universal Asynchronous Receiver/Transmitter (UART) module for FPGAs using SystemVerilog. The UART was verified in Vivado’s simulation environment. The design was taken from design entry all the way to bitfile generation for a Digilent Arty S7-50 FPGA development board.
Tools:
AMD (Xilinx) Vivado 2024.2
Gemini

Drawing tool for electrical block diagrams.

State machine diagrams to synthesizable RTL.

Android app development.

abCore16 16-bit microprocessor development.

abUart FPGA development.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.