Finished more school work late into the night. Rather than discussing that, I'll note that earlier today I had to finish marking structure charts. Students coded a programme and had to submit a paper chart of their code's structure, very similar to a call graph. Rather than laboriously comparing the contents of their source code with their diagrams, I decided to use CodeViz to generate actual call graphs for me. There are several other pieces of code I could use, like cplot and gprof, but I wanted static analysis of the source code, and I didn't want to have to alter their make files or override them. CodeViz let me just point my PATH at its copy of gcc and then call two easy commands to generate PNGs.
This worked out very well for me. I was able to easily spot inaccuracies in their structure charts. Sadly, this probably worked out worse for the students I TA, since this allowed me to easily spot inaccuracies in their structure charts.
The lesson is that being lazy such that you want to automate as much as possible to minimise actual work drives innovation and discovery. There's a cost to learning new tools and processes, but it's always wonderful when they prove useful again in the future.
Could they have used this to generate (and submit) their own graphs of code? Is that even legal?
ReplyDeleteHeheheh, necessity is the mother of invention, but laziness perhaps the absentee papa, who shows up with a twinkle in his eye, then relaxes in the sun.
The thing is, looking for an automaton probably didn't occur to anyone at this grade level. It certainly didn't occur to me when I was in 2750. Perhaps you could bell the marks a bit to compensate for your increased accuracy?
ReplyDeleteI don't think it should have been that difficult for them to have come up with accurate charts since most only had the 10 functions. Besides, I marked a couple by hand and it just meant taking longer but still finding as many errors.
ReplyDeleteLiv, they could have at least verified their work with one if they were so inclined. Ed suggests they might not think about that at this level, but I remember enough people trying to find tools to solve their problems way back when :)
ReplyDelete