Marcos Nespolo
6 min read

ACAT — my first project, 14 years later

A 2011 trigonometry solver in C# that I built for IFPR's first Science Fair, won 1st place in the Innovation category, and got me into a research group I had no business being in. The .exe still runs.

C#Windows FormsFirst projectIFPR

In 2011 I was in my first year of high school at IFPR. We were learning C in class — printf, scanf, loops, the usual. The first IFPR Science Fair was coming up and I wanted to compete. I knew exactly one thing about how my project needed to look: not a console window asking for numbers.

A black terminal next to other students' posters and Arduino projects? You could feel how that pitch ends before you start it.

So I went looking for something that could draw a window. I'd never heard of GUI frameworks. I found C# and Windows Forms in a forum post, and over a few weekends taught myself enough to build the thing I had in mind: a trigonometry helper that didn't just give the answer, it walked through the steps.

I called it ACAT.

What ACAT does

The app has five tabs in a left-hand menu — three are calculators, two are the parts I actually cared about.

Triangle solver

This was the centrepiece. You fill in whatever you know about a triangle — two sides, an angle, whatever — and ACAT decides which law to apply (law of sines, right-triangle ratios, or law of cosines) and fills in the rest.

Triangle solver

The cheat sheet at the bottom of the screen wasn't just decoration. I wanted students looking at the screen to see which tool was being used on their input, not just the answer. The triangle drawing rescales as the sides change. (For 14-year-old me, getting that to redraw without flickering was the hardest part of the project.)

Bhaskara — step by step

The other one I cared about. You enter A, B, C from a quadratic Ax² + Bx + C = 0, and ACAT shows the entire derivation:

Bhaskara step by step

A = 2
B = 3
C = -1

Δ = b² − ( 4 · a · c )
Δ = 3² − ( 4 · 2 · -1 )
Δ = 9 − ( 4 · -2 )
Δ = 9 + 8
Δ = 17

X¹ = ( -b + √Δ ) / 2 · a
X¹ = ( -3.00 + √17.00 ) / 2.00 · 2.00
X¹ = ( -3.00 + 4.12 ) / 4.00
X¹ = 1.12 / 4.00
X¹ = 0.28

Showing the work mattered. A black box that prints x = 0.28, x = -1.78 isn't a teaching tool — it's a worse calculator.

The other three tabs

Three more calculators round out the app:

  • Area — square (b × h), triangle (b × h / 2), circle (π · r²).
  • Volume — cube, sphere, cone, cylinder, with the formula shown next to the result.
  • Angle table — pre-computed sin/cos/tan from 1° to 360°.

Area calculator

Volume calculator

Angle table

These are honest 14-year-old code. They work. They're not why anyone remembered the project.

The science fair

I competed against students from upper years of high school and from the university programmes. ACAT won 1st place in the Innovation category.

The thing that landed wasn't the math — every project there had math. It was that a first-year high-school student had taught himself a language outside the curriculum to solve a presentation problem. Everyone teaching the workshop had assumed C was the constraint. I'd treated C as the input and gone looking for the right tool.

That instinct is the one thing I'd take from this project into every project since.

What came next: AVIAO

Because of ACAT, the math professor — who had a side interest in programming and AI — invited me to a research group called AVIAO (Ambiente Virtual Inteligente de Aprendizagem Orientada — Intelligent Virtual Environment for Oriented Learning). I'll write a separate post about AVIAO; it deserves one. The short version: it's where I first met the idea that software could teach, not just compute.

Run it

The .exe still launches on Windows. It's unsigned (it's from 2011 — and I'm not paying for an Authenticode cert for a 14-year-old project), so SmartScreen will warn. Source isn't on GitHub: this predates my Git habits by years.

Download ACAT.exe · Windows · ~1 MB

If you'd rather just look at it, the screenshots above are the whole product. There isn't a hidden cool feature.

Why I'm posting this in 2026

A 2011 Windows Forms calculator isn't going to impress anyone in 2026. That's not the point. The point is the part I keep coming back to: identify the actual constraint, then go learn whatever fills the gap. In 2011 the constraint was "console doesn't sell at a fair." In 2026 the constraint is something else. The move is the same.

Plus I have the .exe sitting in a folder. It's been long enough that sharing it is just nostalgia, not posturing.