Capstone SWOT Analysis

This course has been one of the most useful and practical that I’ve taken at OSU. In this post, I’ll use a SWOT Analysis – which covers Strengths, Weaknesses, Opportunities, and Threats – to discuss some of my thoughts on my class experience.

Strengths

This course allows students to work in what has been the largest group project I’ve participated in so far. In my database class – we were paired in groups of two. If you had a bad partner – 50% of your group was in effect not carrying the work. In larger groups – there is less risk of a bad group member in this sense and safer in my opinion. There are also advantages of being able to see code and the output of your peers, learning from others have have done internships and picking up some of their habits.

Weaknesses

There is the risk of choosing a bad project or being paired in a bad group. I haven’t had any poor experiences in my group so far but I was concerned about this going into the class. I also feel that it could be easy to become lost in the codebase if certain group members are familiar with technology which other members have no experience in.

Opportunities

There could be opportunities to better share work between groups. So far – I have no idea what other groups are working on or technologies, or how my group compares. Instead of writing an ethics post about AI – I wish we could have posted about our projects and choices we’ve made.

Threats

From the above opportunities section, there is a risk of violating an NDA if sharing a project with other groups which might limit this. There are also threats perhaps to sponsors if students write poor code that eventually ends up in actual products/systems – which could pose security risks. But these could be mitigated by a sponsor being sure to accurately review any code students produce.

CS 467 – Blog Post #2 

My favorite technology used in my Capstone project so far has to be mapbox-gl. It’s an API for Javascript where gl stands for graphics library, similar to OpenGL. It has been fairly easy to get it set up in our project, and we plan to use it to plot fire stations and their various coverage areas around cities.

The technology is used to display 2D and 3D maps with vector graphics in the browser client side. It is completely free in our use case, though with more users it eventually would have a monthly cost. It could be slightly easier to implement as there was some pain in finding out how to add layers and plot geoJSON data on the map. Some more sample projects might be added to their GitHub for users to get started.

I feel though it is definitely a reminder of how in programming one shouldn’t repeat work unless needed, and how things can build on one another. There are countless applications that need maps, and this one has likely had thousands of hours of development time that our capstone project and its sponsor can take advantage of – without needing to reinventing the wheel and implement maps from scratch ourselves.

In terms of AI, we are not using it specifically in our project. I have personally used ChatGPT for help in coding a specific section or advice on how to approach something. This can have the advantage of being able to rapidly prototype something. I have also noticed that it sources its answers from stackoverflow, so it is akin to being able to look at multiple stackoverflow posts at once.

The disadvantage of course is that it can often be incorrect, and this can have the cost of becoming reliant on the tool, as opposed to learning how to read documentation by one self. I do believe that is had made me a better programmer in that is is just another tool that can be used as a resource while programming, in addition to using official documentation.

Our application’s API could potentially use AI to make recommendations on where to place a fire station. Currently, I believe it will just use some form of Djikstra’s algorithm or built in mapbox-gl function to calculate distances from a fire station.

How I Discovered Programming

Hello everyone! I’m Michael Iwanek, currently in CS 467 – Capstone as my last class in the OSU Computer Science Program. This is my first post required for that class.

My first exposure to programming in an academic setting was a computer class in my Accounting program – making HTML sites. We made some extremely simple pages completely in Notepad – and I was under the impression all programmers coded in Notepad or the command prompt, which I was very uninterested in. I may have been exposed to some very basic HTML or JavaScript before then but nothing that grabbed my attention.

After graduating – I worked as a tax accountant/ CPA for a year and a half. In that role, I used Excel in workbooks to analyze financial data – often involving formulas with IF statements or other Excel tools to do so. What I didn’t understand at the time was that functions like VLOOKUP below were really indexing into an array, and that there was an entire world of IDEs, debugging, and tools hidden beyond the Excel formula window.

Quick Tip for Navigating Formula References with the Go To Window - Excel  Campus

I eventually left that role for one with fewer hours but where tasks were done every month instead of yearly. It was there I self taught myself VBA to automate all the reports I had to download and format in Excel every month. I was shocked that if I worked hard enough to write a program and iron out the bugs, it could do work that would take me hours faster than any person could ever do – and do it perfectly. I was completely hooked and automated parts of my job whenever I could. Creating custom dashboards in Excel that would open internet explorer to download files, insert formulas, and other tasks.

I eventually stumbled upon this program at OSU as a way to transition to a software engineer. About two years later, I am now a full stack software engineer intern at Pacific Northwest National Laboratory. Instead of Excel, I now work in Visual Studio code (in dark mode which is amazing) – Visual Studio, pgAdmin, Docker, and a plethora of other tools. I am constantly learning and being challenged every day – and am extremely grateful that this post-bacc program allowed me to make this transition.

I’m very excited to wrap up this program with the capstone class and go out strong with a project I can meaningfully contribute to.