CA State Science Fair 2018

This isn’t about W and J.  W didn’t compete, and J didn’t qualify for CA.

It’s about me and a remarkable young man I met at the CA State Science Fair this year.

I’ve been judging at the CA State Science Fair for 6 years, including this year.  I’ve started volunteering to chair judging panels now, so my name is on some list of judging chairs, and this year, I was asked to chair the panel for Mathematical Sciences, Junior Division.  I told Gerrie Peters, who organizes the physical sciences categories, that I was looking forward to something different, beyond my usual physics and experimental focus.

The old Mathematics and Software category had grown too large in recent years, so last year it was split into Mathematical Sciences (MA) and Computational Systems and Analysis (CX), and the previous chair went with CX, while I was asked to chair MA.  Unfortunately, last year, there were still far more students in CX than in MA, and this year, the organizers attempted to rebalance the load by moving students working on neural networks and machine learning into MA, if their projects had a focus on theory rather than data.  However, the divisions weren’t always clear cut, some students asked to be reassigned back to CX, and all those requests were denied.  We chairs (in the Junior and Senior MA categories) were asked to accommodate the neural network or machine learning students, which I thought meant we had to expand judging beyond pure mathematics.  I informed my fellow judges by e-mail.

About four or five of our students (out of nine in total) stated in their abstracts that they used neural networks or machine learning in their projects, which was a bit of a relief to me, since I had dabbled extensively in neural networks as a hobby during my grad student years.  I had been worried that I’d be judging only pure mathematics, and although I’m no slouch when it comes to math, it’s not my specialty.  I’ve learned over the years that different sciences have different vocabularies, e.g. when astronomers talk about Be stars, they’re not talking about stars made of beryllium (which I — a physicist — thought for a split second (but only a split second because I know that Be is the rarest light element)) but rather stars in class B, subclass e (e for “emission”, referring to specific emission lines, usually one or more Balmer emission  lines).  The different scientific vocabularies are not a problem for me, but it does mean I have to learn the language, which means a little extra time and effort.  But with neural networks, at least I was on familiar ground.  Also, with only 9 students, we judges would have plenty of time to conduct interviews.

(Anthony and Phil were two of my co-judges, both from Aerospace.  I think Phil is in cybersecurity, and I’m not sure about Anthony, but I think he’s a manager.  Tom, our other co-judge, is an engineer at a company I don’t remember, but he hasa strong interest in pure math.)

So, after meeting and getting to know each other, briefly, and after introducing ourselves to the students yesterday, we started our interviews at 8:30 AM.  I got through 6 interviews by 10:30 AM, which was our break time.  While I was impressed by one or two students, including a student who did a mathematical “proof” (really a demonstration) of Pappus’ Theorem using circle inversion and a Javascript program, as well as a student who used a neural network (as well as other methods, including logistic regression) to study the progression of Alzheimers’ through a 7 year database of Alzheimers patients (in order to predict Alzheimers progression and allow for earlier treatment), the thing I noticed about almost all of the neural network projects is that the students treated neural networks as a black box.  In fact, I think only one or two wrote their own neural network code, while most downloaded NN code or used NN code built into some Python libraries.  In my opinion, NN code isn’t hard to write — just formulate the mathematics as linear algebra and write simple code to do the multiplication and back-propagation.  In IDL, it takes less than a page of code; in Python, it might take a page, maybe less.  And even if the student doesn’t write the code himself or herself, I think it’s important that he or she knows what’s going on under the hood.  If a student uses a big software package, like GEANT or GALPROP or any number of biophysics packages, then it’s okay not to know the underlying code or mechanisms, because the packages are simply far too big and complicated.  But NN’s are simple, so they should know.  (The student who did the Alzheimers project did seem to know his stuff for NN’s, at least better than the other students.)

As we were going on break, Phil caught me and said “I think I’ve got a problem with project 7.  That one is way over my head.”  I hadn’t seen #7 yet, but I told him I’d see #7 next, and we could discuss it at the break and during lunch.

During the break, Tom — who had interviewed #7 before the break and agreed he was impressive — mentioned that #7’s abstract had caught his attention the day before, and he had done some reading on the subject — visibility graphs and visibility graph analysis, particularly rectangle visibility graphs.  He agreed to describe the subject and the project to us before we left break, and we left late, at 11:10 AM.

I interviewed student #7 first, after the break, and I was immediately overwhelmed.  As expected, I had difficulty with the language of the graphs.  Graph elements that he called  “vertices” and “edges” I might have called nodes and lines (or connections). I later verified that he was using the proper nomenclature for the field.  I had some ongoing confusion about graphs vs. visibility graphs vs. representation graphs, but I got the gist of the underlying mechanisms.  Then he started describing things like n-dimensional hypercube representation graphs and so on, and again, while I was familiar with the words, I kept having to ask him to describe how he was using the words.  One huge portion of his display was a proof of something, and I wasn’t clear what was proved and said that I simply didn’t have time to verify his proof line by line.  I asked, and he assured me that he had shown his proof to his mentor at MIT and that his mentor had confirmed that the proof was valid.  Later, he explained a formula for minimal embedding dimensions for rectangle k-visibility graphs.  Maybe that was the goal of his proof; it was definitely the focus of his project.  (Tom had described k-visibility to us during the break, so I wasn’t completely at sea — Tom’s 10 minute description was invaluable).  The student showed how the formula applied to some sample graphs he had on his display.  Finally, he talked about how Gray Code applied to his visibility graphs.

Tom’s tutorial during the break had been limited — by necessity — to two dimensional examples, but it allowed me to understand the underlying focus of the student #7’s presentation.  What really impressed, though, was that he generalized from 2 dimensional, low-k cases to n-dimensions and any k.  I was in over my head, but assuming he wasn’t blowing smoke, I had to be impressed.

All in all, while I had spent 15+ minutes interviewing each of the other students, I spent about 25 minutes with this one, grappling with what he was telling me.  (In contrast, student #9 did a project on testing whether very, very large numbers are primes, using a probabilistic calculation (rather than a much slower, though more accurate, deterministic calculation).  She was very articulate and enthusiastic, and her presentation was clear and extremely well done.  Her presentation was engaging, just challenging enough to be interesting without being overwhelming and intimidating, as #7 was.  I later told the other judges that, as impressed as I was by the others, she was the only student I actually had fun talking to.  I could have spent another 10-20 minutes with her, beyond my regular time.)

After I dismissed the students at 12:30 PM, the end of interviews, I joined my co-judges for lunch in our assigned meeting room.  It was pretty clear we were giving #7 first place; it wasn’t even debated.  Our second and third place students were #1 (Alzheimers progress prediction using neural networks) and #9 (Fermat vs. Brute force algorithm to determine primality), but we discussed for about 10-15 minutes which would get which.  Both had great strengths, and both had (minor) weaknesses.  In the end, we gave second place to the girl determining primality, on the basis of the strength of her presentation, although the boy who applied NN’s to Alzheimers patient data was somewhat more impressive in his data analysis and might have more real-world impact.  But it was very close.  We also decided not to award 4th place (since we had so few students) or Honorable Mention, but we chose one project for 4th place just in case it was required by the fair.  When I turned in our final results at 1:30 PM, I was told that a 4th place finisher was required, so I wrote in #6, the girl who had demonstrated Pappus’ Theorem with Javascript code.

Before we turned in results, though, we had to decide on which of us would represent our winner for consideration for Project of the Year, Junior Division.  Project of the Year is selected as the best project in the fair (separately between Junior and Senior divisions), selected from the first place finishers in each category.  That meant our Mathematical Sciences winner (#7) would be competing against winners from other categories, like atmospheric science, biological sciences, physics and astronomy, applied mechanics and structures, etc.  There are 23 junior division categories, which meant our one guy would have to compete against 22 other winners.

Not only that, but the student wouldn’t be presenting his project.  Instead, the judging panels from each category would have to send a representative to the Project of the Year meeting to present the winner to the other PoY representative judges.  Then, over the course of a couple of hours, the PoY judges would debate among themselves which was the best of all projects, and votes would be taken until a final winner was selected.

I was the panel chair last year for Applied Mechanics and Structures, and since nobody else was available, I also presented our winner (which I don’t remember) for Project of the Year.  I quite enjoyed doing so, and I really enjoyed hearing about other winning projects from other categories.  Last year, I think we voted the Microbiology (Medical) winner as PoY.

This year, I had cleared my schedule to be PoY representative if nobody else could do it, but I strongly encouraged our other judges to give it a try, given how much I enjoyed it last year.  Anthony had an afternoon meeting to get to.  Tom had an appointment in the afternoon, but he said he postponed it.  Phil was available.

I said that, while I was willing to do it, I didn’t think I’d be able to do him justice and give our winner a proper presentation at the meeting.  Since Tom had given us a tutorial during our mid-morning break, we finally decided that he’d do it.  However, since he hadn’t presented for PoY before, he asked me what he’d need to do.  I told him that they’d have a photo of the project board, projected on the wall, and I told him to expect to take maybe 3-5 minutes to give a summary of the project to the other judges.  He asked if he could draw on a whiteboard, and I said they’d probably have one.  If he could give the same kind of tutorial to the other judges as he gave us, he could really make the case.

Mainly, I told him that I really believed in the project and that I thought it deserved PoY, or at least deserved to be in the running.  I said that if a kid had built a rocket ready to go to Mars, then I’d give PoY to that kid instead, but otherwise, I thought ours was deserving.  I told Tom to emphasize that the project was a pure mathematics research project and that,  although most of the other categories are experimental or applied, I wanted Tom to argue that the purely theoretical focus of our winner should not be held against the student.  I told Tom that, although it’s not my field, I thought the research went beyond undergraduate level and instead seemed like graduate level research.

We said our farewells to Anthony and Phil, and Tom and I walked over to where the PoY Junior Division meeting was going to be held.  I turned in our results in an office nearby (adding in our 4th place finisher), and I left.  I bought some souvenirs from the fair, ran into Phil outside and chatted with him and a friend of his, and then I went to the King Tut exhibit.  I bought some more souvenirs there, too.

That evening, as I sat in W’s piano lesson, I checked on the web and found that our Mathematical Sciences First Place Winner had also been awarded Project of the Year!  I immediately checked my e-mail and found a note from Tom, "Our man Espen Slettnes, #J1507 was awarded the Project of the Year award for the junior division.”  Phil even sent a photo.

I immediately e-mailed Tom and Phil to thank them for the news and photo.


Congratulations to Espen Slettnes, First Place Winner in Mathematical Sciences, Junior Division, of the California Science Fair 2018 and Winner for Project of the Year (Junior Division)!

© Allan Labrador 2015