UK CS499 Project with Delta V Innovations
Running word count: 2,046 (including meeting blog posts)
I am a senior at the University of Kentucky studying Computer Science and minoring in Mathematics. I plan to graduate in December 2020. My main interests in the Computer Science field is Web Development, and I have 3 years of professional experience in this field so far. I am also looking into branching out into other fields. I have been working at Computer Services Inc. doing Web Development since the summer after my freshman year.
Delta V Innovations asked us to create an application that could take in a Crash Data Report (CDR), in the form of a PDF, and extract the information in it and run calculations on that data. A Crash Data Report contains information about a crash between 1 or more vehicles. The report has information such as whether or not the driver’s seatbelt was on, velocity of the car over the last 5 seconds before the crash and the next 5 seconds immediately after, whether or not the airbag was deployed, whether or not the brakes were used, etc. As you can see, they are going to be pretty lengthy. The reports also vary significantly by manufacturer. It is only required by law that the manufacturers have a way to collect this information, but now how to organize the Crash Data Report. Currently, they have to input all this data and run the calculations by hand, which takes a lot of time and is prone to user error. They are looking for as little user input as possible as well as a fast run time. The only user input that should be needed is to specify the PDF to be extracted and other information about the vehicles involved in the crash.
As the project has moved forward, I chose to tackle the task of extracting the data from the Crash Data Reports. I believe it was Tyler that first mentions Tabula.py to us. After a quick search, I too, thought that this library would be perfect. In the Tabula.py library there is a method “read_pdf()” that will simply extract all tables from a PDf and return the data as a list of DataFrames, which is an object from the pandas library. Each DataFrame in the list will contain all of the information in one table of the PDF and thus the entire list has all the information from the PDF. However, when it comes to filtering out this data to the rest of the application, it gets a little tricky becuase the pandas library is very picky. In one case, I realized that the DataFrame.filer method will not be able to find data labelled “Time” if the data in the table is labelled “time”. The difference in capitalization here makes all the difference.
So, we have finished the project with 753 lines of code, 34 unit tests and 114 story points over 3 sprints.
I registered for my classes next semester which will be my last semester at UK. It’s really exciting to finally graduate and at the same time a bit scary to realize that everything is going to change. I’m hoping that there will be a job for me at CSI when December rolls around, but with the Coronavirus, it might be a bit of a stretch if things don’t start getting better soon. I think the 20th makes about a month since I’ve left the house to actually go anywhere besides on a walk.
The past few weeks have been strange since the outbreak of the coronavirus in the U.S. and our daily lives have changed significantly. As of right now, all of our classes have moved online and even my intern-position at CSI has moved to VPN only. Amongst everything that is going on I try to stay positive and find time to go outside and get some fresh air whenever I can. Today the team is merging their code from Sprint 2 together, but I am behind on writing my test cases because I have a Calculus 4 Quiz today and Test tomorrow. But honestly, if I managed my time better, I should have had my code done by today.
The team met today to work on and discuss the Project Plan assignment due tomorrow. I wrote the Target Environments section, Risk Management and set the priorities for each functional and non-functional requirement. Overall, I think this team has a lot of potential and I am excited to see what we end up with this semester.
2/6/2020 Went over project notes and description. Worked on list of questions for meeting with Mike later today.
subscribe via RSS