Today is the last day of school. My Java students are scrambling to turn in their final. I gave each of them a unique project to solve and code.

- Solve a quadratic. Input a, b,c. Output solutions either real or imaginary. Plot the parabola on an xy axis.
- Given two sides and the included angle of a triangle find the other angles and sides. Draw the triangle. Color the triangle.
- Input the lengths of the sides of a rectangle. Draw the rectangle and diagonals. Color each of the 4 sectors formed with a different color.
- Input the number of sides and length of the side of a regular polygon. Output the circumference and the area. Draw the polygon. Color the polygon.
- Input three vectors (length and angle for each so six total inputs). Draw the vectors connected. Draw the fourth vector to make an enclosed figure.
- Input the radii of two circles. Draw the circles tangent to each other. Color the circles two different colors.

Initially these look fairly simple. But we did almost no graphical exercises in class so the students had to do a lot of Googling and trial and error. They also have to figure out the math before they code. Sort of like how it happens in the real world. I gave the students their assignment 2 weeks before today. I informed them that if they try to do the program only during class time or procrastinate until the final day they would not be done. I required they show me their progress at the end of each class period. My idea of progress and their idea of progress did not match but I am a bit of a “sink or swim” teacher. So today is the last day. Small progress steps and procrastination have won the battle. They are presently in the other room trying to do six hours of work in two. So far two of the six students have turned something that rates a decent grade. Is it too much for juniors to understand procrastination kills? I figure they have to learn some time. It is amazing how much they are getting done in panic mode. Some of their best work of the semester.

Some lessons learned on my part.

- Require a more detailed progress report on the math they need to do for each assignment. The students working on #2 and #5 did not know how to convert distance and angle to Cartesian coordinates and they did not demonstrate this inability until today. They had the math, they just could not apply it.
- Build a grading rubric for each individual assignment. I had a rubric that I gave to the students but it was general. The assignments were different enough I needed to break it down a bit more. My expectations were different from their understanding. Not unexpected but I can clarify this next time.
- The students found at least four ways to draw a line on a graphics frame. Pick one I like and do a lecture on that method. I was very impressed how one of the students (#4) got his lines to draw the polygon. It was the hard way but it worked.
- Do not do graphics and GUI stuff in Java. These types of assignments are so much easier in other languages. Ones that like graphic screens and GUIs. Visual Basic likes doing things like this.
- Some kids can work in panic mode. Others collapse and give up. I was amazed none collapsed and gave up. Even my worst student came up with something worth grading.
- I did only two of the six assignments myself. With the others I saw the solution so did not code them up. I should have coded them up just so I could answer questions better for the students. Maybe I could have eliminated the multiple paths for graphing that they came up with. Of course I now know those paths exist for Java where I did not before.
- I would call this final a success even with the difficulties. The amount of digging the students did while in a full panic was amazing.
- Do not lose this assignment sheet. These will work for the Python class in the Fall. I might also try them in Visual Basic in the Python class just so they see a different IDE/language.

I just noticed I have six students registered for Python next Fall. I can roll these over to that class. This all gives me something to work on in the summer. Oh goodie.

## Leave a Reply