Skip navigation.

Online Education News

Watch this Ted Talk called What We're Learning From Online Education

What's MOOC? Read the New York Times article, Instruction for Masses Knocks Down Campus Walls. Find out which Northwestern faculty members are involved in Udemy's Faculty Project here.

Check out courses that Northwestern plans to offer online through Coursera.

Web-CAT hosts a set of automated testing and grading software and related resource to support computer science learning.

Tech Tips

Need a transparent image or animated gif? Check out this Tekzilla video.

Convert files with


Many Polygons Project

ManyPolygons is a Java program that uses the ACM/Stanford turtle library to draw a grid of spiraling polygons.

This program was developed for instructional use in a course on Java programming and computer graphics. It employs turtle geometry and trigonometry to explore the geometry of regular polygons. In addition to employing formulas for the radius, the side length, and the apothem, it includes code for finding the aspect ratio of this polygon's bounding rectangle. This aspect ratio is used to organize polygons in a grid pattern and resize the drawing area. The program also uses trig to calculate angles and line lengths for drawing a spiral of polygons. Menus allow users to change the number of rows and columns in a grid of polygons, the number of sides in the polygons, and the number of polygons in a concentric spiral of polygons. A slider allows users to change the starting point of concentric polygons in each spiral.

This work is based on a simpler, non-interactive program, a "chessboard of squares" that contains spiraling squares in a square grid. The "chessboard of squares" problem is proposed as an exercise in Chapter 1 of "Computer Graphics for Java Programmers" by Lee Ammeraal and Kang Zhang. Ammeraal and Zhang propose drawing the chessboard with cartesian coordinates rather than turtle graphics.

The code written by me in the com.tjleone.polygons package is licensed under a GNU General Public License. This code relies on an acm library which is licensed under the ACM Java Task Force Software Licensing Agreement. Source code is available at

The educational part of this app is in the actual building of it, but if you'd like to check out the app without compiling it from source code, you can download a Pretty Polygons.msi for Windows or for mac.

Downloading Safely

Preparing software for distribution can be a very expensive proposition for independent software developers.

Fortunately, there are other ways that end users can have confidence in software they download from the internet.

The Google for malware

To make sure the software is safe, you can use, the "Google for malware". There's a nice writeup of VirusTotal in FastCompany. You can copy the link to Pretty Polygons.msi for Windows or for mac and check them for malware before you even dowload them.

Digital Signatures

I've purchased a Code Signing Certificate from Sectigo and added a digital signature to the files so you know the file is from "Anthony John Leone" (I come from three generations of Anothys—they called my grampa Anthony, my dad Tony, and me TJ, for Tony John).

Personal reputation

You can also check my bonafides.

If you're satisfied that my software is safe, you can bypass warnings you get when you install it.

The Windows installer was built with Advanced Installer.



Geometry Resources for 6 and up