Categories
Capstone

Blog Post #2: Planning

Welcome back to the second post of this capstone blog. To recap from last time, the project my team is working on is creating a web app for a climate change board game. Since the last post, a lot has happened behind the scenes getting ready for the project. This included four major meetings, alongside some asynchronous chats about the project.

The four meetings (with a fifth one happening in two days time from the time of this post) included an initial meeting with the team to set expectations, a meeting with our projects sponsor, and two more meetings discussing our vision for what our sponsor wants, as well as develop our initial project plan. What we got out of all these meetings was a solid idea of what technologies we want to use for our project. It’s these technologies that I want to discuss in this post.

Much like the last time, I’ll be breaking the post into sections based off of the questions I chose to answer from the assignment page for this post. Those questions are as follows.

  1. Why did you and your team choose the technologies you did?
  2. What do you like or dislike about your server/backend system/API?
  3. What do you like or dislike about your design modularity? Does it enable each of your to work independently?

I think that by breaking the post into these three sections, it will give you a good idea of how the past few weeks have gone for me in terms of planning, as well as my feelings in regards to the next steps of the project.

Why did you and your team choose the technologies you did?

For this project, we plan to construct an HTML web app that can be used by our projects sponsor and her students to study for their midterm exams of the class SUS 101 at Oregon State. We could have chosen to make a mobile app, but since none of our group has experience in mobile app development, we decided that we wanted to use and improve upon the skills we already have in web development.

For the backend of the site, we plan to use a Flask framework with Python3. We could have gone with Javascript and Node.js but our team unanimously agreed that since we’ve used Python throughout the program, and it’s what we’re most comfortable with, that’s what we would want to use. We want to be able to deliver our projects sponsor the highest quality product we can, so we wanted to use technologies we already had experience with.

The exception to that rule is with how we plan to host our website. The site will be hosted through Google Cloud, which is actually something I’m learning about in my cloud development course this term. Since it’s what I’m learning and have the most experience in the group with, we decided that this was going to be part of the project that I’m going to be in charge of.

What do you like or dislike about your server/backend system/API?

When it comes to using the Google Cloud servers, I’m nervous but also excited to show what I can do and how fast I can implement what I learn. From what I’ve used of them so far, I think they’re fairly manageable when it comes to making a website live, and it’s also fairly easy to implement. I think the harder part will be for me to learn how to implement games into the website. It’s not something I’ve ever done before, but I like that we’re going to be using Python to code since it’s a language I’m very familiar with. Flask is also something I have a few classes worth of experience with now, and I’m continuing to use it in my cloud development course this term, so I’m excited to use it in a more open ended environment.

What do you like or dislike about your design modularity? Does it enable each of your to work independently?

Overall I feel pretty good about the design modularity of our project. We broke up the project into three major parts

  1. The front end HTML/CSS
  2. The Backend Python/Flask
  3. The Google Cloud server connection

Each of us has decided which part we want to be the lead on after discussing each of our strengths and weaknesses, so I think we’re all happy with what we’re the lead on. The nice part about how we have it set up is that even though one of us is the lead for a particular section, that doesn’t mean we can’t help the other’s with their parts. It helps with planning out what needs to be done by when, but it also allows the flexibility to ask for help or to schedule time to assist our teammates. By having one of us be the lead for each section of our project, it also allows us to practice modularizing our own part in the way that works best for us which I think is also a nice bit of added flaxibility.

Overall I think the amount of planning we put into the project is going to pay off as we get started on actually coding it. I want to have one more meeting with our sponsor to make sure we have their requirements met, but after that I think we’ve set ourselves up for a successful rest of the term. I think the technologies we decided to use allow for all of us to have a sense of comfort and confidence going into the project, while also allowing us to continue to develop our skills as we get ready to enter into the workforce.

Thanks for reading and I hope to see you in the next post!

Categories
Capstone

Blog Post #1: A Brief Introduction

Welcome to the first post of my capstone blog! My name is Asa Crimin and I am very excited to start the final chapter of my journey here at Oregon State. The goal of this whole blog is to document the process of creating this capstone project from start to finish. I think that the first step of doing that for me is to do some reflection as to how I got here, and to think about what I want to get our of this capstone project.

I’ll be breaking this post into three different parts, all guided by the following questions: Why did you choose to go into Computer Science? What do you hope to learn from the course? What do you hope to learn from your project? I’m using these specific questions for two reasons

  1. I need to use these questions for the blog post #1 assignment (shocking I know)
  2. These questions are the best for doing the reflection I want to do, as well as also being the best ways for me to express my mindset going into this project for whoever may end up reading this blog.

You may say “Hey Asa, couldn’t you have broken that up into three reasons instead of two?” and to that I would say, yes I could have, but it’s too late now so lets press forward!

Why did you choose to go into Computer Science?

What a long strange trip it’s been to say the least. It started all the way back in 2015, when I enrolled and got accepted to OSU for my first undergrad degree. My first major at OSU was actually computer science and I was enjoying it initially. However, like many freshman coming to the realization that what I do in college is actually going to have a major impact on the rest of the lives, I began to think about how I wanted to rest of my life to be. I decided then that I wanted my work to be something I was truly passionate about, and since I wasn’t feeling computer science around two terms in, I left the program for a new major.

At this point I was really into fitness so I decided that Kinesiology would be the best option for me to explore that more. During that program I took a course on sports psychology, fell in love with the psychology major, and made a full swap to a pure psychology course load. I would end up graduating in June 2019 with a psychology degree, and would start working at a family medicine clinic in August of that same year. A few months after that COVID hit and we all know what that was like so I’ll spare the details. Long story short, the medical field in a pandemic was not fun, and I left in 2021 to reevaluate my life and what I wanted from it.

After a few months, I found out about this program and had to go back to what I thought in 2019. With newly founded work experience, I asked myself what I wanted from my career. At that moment, I decided the change my beliefs. It didn’t matter if what I was working on was something I was passionate about, I wanted to work a career that would allow me to have the freedom to do things I was passionate about outside of work. With that change in mindset, I decided to enroll in the computer science post-bacc program at Oregon State and change the direction of my career.

I was nervous my feelings about computer science wouldn’t have changed since 2015 when I last studied it, but that turned out to not be the case. Every term in this program, my passion and excitement about computer science and the technology it influences has grown because the more I study, the more I realize I don’t understand and want to learn even more. It’s a vicious and never ending cycle that I’m so happy to be stuck in. Now that I’m at the end of my journey, I’m a little sad that I won’t have the structure of a program like this, but I know I’ll never stop wanting to learn more about this amazing field.

Now that we have my entire computer science history out of the way, lets get into a brief discussion of the capstone course, project, and what it means for me.

What do you hope to learn from the course?

With this being one of my last courses from this program, I want to use it as a test to see how far I’ve come. The capstone is unique in the sense that it’s going to allow me to test all I’ve learned in this program, as well as allow me to test how good I am at learning on my own. There will be aspects to this class that I will likely have never touched in the program, so I’m excited to see how I adapt to them and test how fast I can learn new skills while working on the project.

Beyond that, I’m excited to get more experience working in a group on a software development project. The program does have some classes where group work is required, but not too many with group work on the scale of an entire software development cycle. I think I have a really great group for this project so I hope to be able to take my experience working with them in this class to a career in the near future.

What do you hope to learn from your project?

We just got our project today and I’m super excited to work on it! We are going to create a web or mobile version of a board game that teaches about climate change. I’m very grateful I get to work on a project that addresses a serious issue we face as a society because it motivates me to produce an even better product beyond the base requirements given to us. We first need to troubleshoot the game to make sure it’s fun, then we need to convert it to a website or a phone app. There a two major things I want to learn more about while working on this project, game development and web development/app development. As a self proclaimed gamer, any opportunity to develop a game is one I want to jump on right away. I have experience in web development, but I don’t have any in mobile app development. Our group still needs to discuss which direction we want to take this, but I’d be very happy either improving my web development skills or taking the opportunity to learn some mobile app development!

Overall I’m very excited for this capstone class and project. I feel like this class marks the end of an almost 8 year journey to get to this point. From leaving the major in 2015, to completing it in 2023, I’ve learned a lot about myself and what I want from the career I’m trying to develop. This class and project are an opportunity to put everything I’ve learned to the test, and to learn more along the way. The posts from here will likely be a bit more technical and focused on the project itself, so I’m glad I got to take the time to reflect, remind myself of how far I’ev come, and prepare to get the most out of this capstone alongside my teammates.

See you in the next post!