Recent Tutoring Session Reviews
"First, we went over some introductory object-oriented programming in the context of a series of classes dealing with the properties of shapes. We practiced cross-class method calls, class extension, inherited methods, and initializing an extended class using super calls. We also accessed inherited methods via super. Scope was a recurring theme of this lab as well; scope is defined by brackets in Java and all objects declared in one scope cease to exist at the end of that scope. Attention to scope is very critical to the careful management of variables and methods that exist with similar names across multiple classes. We also discussed the nature of Scanner a little more deeply; it is simple a class that scans things and its constructor must be fed a thing to be scanned. Often, we call new Scanner (System.in) to take input from the console window (JGrasp I/O). We also saw how output can be modified within the system to cause the system to write directly to files and how files could be used to decide whether we should delete a file before we write into that file location. We also discussed the difference between syntax errors (bad grammar) and exceptions (bad logic) and I provided a useful resource for becoming acquainted with the wide variety of exceptions in Java. I suggested several tricks to learning this material (and any material) more effectively, such as to mentally associate the material with various enthusiastic feelings and attempt to incorporate as many senses as possible (sight, sound, smell, taste, touch, etc.). I also suggested music as a possible trigger for remembering test material. I explained that listening to complex instrumental music improves reasoning ability and that listening to non-distracting music while studying and again before testing will improve recall of studied material."
"We covered: interfaces, abstract classes, and inheritance. We looked at the subtle differences between abstract classes and interfaces and Bicycle (Base class) and Specialized Bicycle example codes. Assignment problems on this material for the student to complete for next session."
"This session was singly focused on the algorithm being used for an upcoming assignment for the student. The professor has asked them to write a program that provides the minimal number of steps for changing one given string into another given string. For some time, we worked through scenarios that would pertain to this-trying to tease out the algorithm from specific cases. We then worked on a recursive algorithm that would potentially capture most such cases. By the end of the session, we had the basics of a non-optimized algorithm that would probe for matching parts in sentences. The student will then have to optimize this and add the logic that uses this information to build the description of changes to be made for such a transformation to be explained as a series of string manipulation steps."