Posts

  • Class Hierarchy Questions in CS 314

    One of the most difficult aspects of working with code in object-oriented languages like Java is navigating and tracing deep hierarchies of inherited classes. In CS 314 (Data Structures) at the University of Texas at Austin, a large emphasis is placed on this skill as we expect students to learn to work with increasingly complex hierarchies of data structures and the major principles of object-oriented program design. As such, the exams in all semesters include at least one section on handling inheritance and polymorphism; this portion of each exam proves difficult for many students, as the precise rules of inheritance in Java can be difficult to trace through, especially in a time-constrained setting. In this post, I shall walk through one such set of problems from the first exam of the Fall 2019 semester, explaining each method and variable resolution as well as the overall class hierarchy.

  • Getting Started with the Crazyflie 2.0

    If you are reading this, you’re most likely a student in the Information Engineering class at St. Mark’s School of Texas. Welcome! I’m Andrew Smith, Class of 2018; I took Info Engineering during my Senior year, the first year to use the Crazyflie nanoquads. During my tenure in the class, we struggled greatly to get the Crazyflie units off the ground, as the quality of the documentation from Bitcraze is lacklustre at best. However, through copious amounts of research and a fair deal of trial and error, I was able to get my quad into the air and flying complex paths, culminating in a final project to autonomously guide the unit along an arbitrary path with minimal visual semaphore information (code). In this series of posts, I hope to guide you from having a newly-built, lifeless Crazyflie unit to flying paths of your own design in as little time as possible. So, without further ado, let’s get started.

  • Exhibition Schedules: Easily Working with Short Durations in Excel

    As part of our Summer Freestyle figure skating camp, the Allen Community Ice Rink hosts weekly exhibitions to aid skaters in preparing for the experience of performing their programs at competitions. To optimise the running of these exhibitions, we often create schedules in Excel in order to track which skaters should be assigned to which warm-up sessions and whether participants have submitted musical accompaniment for their performances. A key aspect of this scheduling system is timing: we must ensure that no warm-up group is so long that skaters will have to wait for an excessive time before performing their programs, and we must ensure that each exhibition as a whole does not exceed its alotted time slot. In this article, I describe a procedure by which I facilitate working with short durations of time (minutes:seconds), such as figure skating program lengths, in Microsoft Excel.

  • Sorting Freestyle Sign-In Sheets

    This Summer, the Allen Community Ice Rink is experimenting with a new package system for its Freestyle figure skating camp. One of the challenges inherent in this system is tracking the diverse schedules of our patrons — from session registrations to daily sign-ins, a large amount of coördination is required to ensure that patrons’ information is accurately reflected across our discrete data repositories. Furthermore, we must make this information easily accessible to prevent confusion during early morning Freestyle sessions; thus, in this article, you will learn how to optimally sort information on Summer Camp sign-in sheets, shortening the amount of time occupied by each patron.

subscribe via RSS