I turned in my time sheet, billing 24 hours for this week. Josh and I got checked off on Project 6 in Embedded Microcontroller Lab, where we interfaced a rotary pulse generator (RPG) with a stepper motor. Integrated ClassFactory with the autograding software, and learned about Java ClassLoaders and class linkages in the process. After much work, I was finally able to invoke constructors for abstract classes in different directories.
If you think education is expensive, try ignorance
It was quite possibly the longest CS1322 recitation ever, clocked at nearly two hours and twenty minutes. We had to cover what felt like a textbook worth of topics in one class, among them: polymorphism, inheritance, dynamic binding, abstract classes and interfaces, constructor chaining, and method overloading. The students also have a test next week.
It was a pretty uneventful day. The usual ProgDev meeting in the evening, where we discussed potential assignments for the future, and allocated work to the various TAs for the autograding software. Spent all of my free time throughout the day programming. Fixed a large number of bugs in ClassFactory.
It’s a success! I’ve written a ClassFactory class that uses the Jakarta’s Byte Code Engineering Library (BCEL) to modify abstract classes at run-time so that they are instantiable. I also learned a lot in the process. For example, I’ve learnt that the abstract keyword is primarily enforced at compile-time, and that it’s possible to generate incomplete classes and have Java execute them anyway. It’s a very exciting accomplishment.
At night, I graded student’s tests. I’ll be billing lots of hours this week.
Adam, Nicky, and I ate lunch at Applebee’s, where I enjoyed a bourbon street steak. Shortly after, I left for the College of Computing to work on the next autograder for CS1322. I tried to find a way to compile java source to byte-code completely in memory, that is, without having to load or write any files to disk. I was only partly successful. I still can’t load a Class without first generating a .class file on disk. I’m also having to use Sun specific Java methods to get this to work at all, which is less than optimal.
Several headaches later, I decided to go home. There, I updated my Windows XP installation and installed StepMania. I also installed Visual Studio .NET Enterprise on the Windows 2000 virtual machine.