Categories
Capstone

Blog Post #3: Progress

Time for the third post of this capstone blog! Just for a small recap from last post, my team had finalized the ideas we had for our project, had worked out the details of how we wanted to modularize the project, what technologies we wanted to use, and I went in depth on how I felt about our plans for the backend API of our project.

We’ve been working a lot more independently since the last post. We had one meeting with our sponsor, and from then on we’ve all been trying to grind out the individual parts of our project. With that being the case, I want to use this post to discuss the following two topics (provided by our friends over at the canvas assignment page):

  1. How is the journey so far?
  2. How well is your team following your original Team Standards?
  3. Do you feel your project is on track to succeed? If not, what do you plan to do to get back on track?

With my group working more independently recently, I’ve had some time to do on my own thing and work in my own way. I think by taking the time now to reflect on these three topics, I’ll be able to get a good sense of how I feel I’ve been working so far, and how I want to continue to move forward within the context of this project.

How is the journey so far?

Overall, I’d say the journey is going pretty well, but looking back I think we for sure had a slow start. I like that we took extra time to plan at the beginning to the term, because it gave us all a really solid foundation to work with when we started to work independently. At the same time, I feel like because we spent so long planning, the amount of actual work we have done on the project is a bit behind where I would want it to be at this point.

I’m finding myself unsatisfied with how much work I’ve done, but I also want to acknowledge the work I have done. I think I have a tendency to code in a way that makes me spend hours upon hours coding over a few days rather than a few hours coding over many days. For a lot of school assignments in the past, this style of coding would be fine (at the very least it’s gotten me this far), but for a project where we pretty much have 10 weeks to do one assignment, saving it all for the last week is unrealistic.

I think moving forward, my goal is to focus on balancing my other classes with the capstone course, and finding time to code every day during the week rather than saving it for one or two days throughout the week. This way, I’ll have more consistent updates for my teammates, and I also think I’ll feel more satisfaction with the amount of work that’s slowly being completed.

How well is your team following your original Team Standards?

My team has been great to work with. I’ve been in tons of projects where I’m the only one doing work, or the only one communicating, and this isn’t one of those groups. We’ve had basically daily communication over discord about the project. From little updates or asking for help, there hasn’t been any hesitation from my teammates or myself, and it’s been really nice.

This doesn’t mean that we’ve been following our team standards to their exact specifications though. We’ve gotten a lot more relaxed about our weekly meetings, and I think that’s in large part due to the fact that we communicate so much. We don’t need to have long drawn out meetings for things we’ve been messaging about on discord already, and it’s much better for us to continue to work on the project and meet our own goals rather than spend extra time in meetings that don’t really advance the project.

The lack of meetings has caused me a little anxiety, just because I don’t have a clear, structured discussion about where we are with our project consistently. I think I need to kind of relax and have faith that our project is going well, because when I look at it objectively it is going well. It’s just not in a way that I did my projects throughout school, so I feel like I need to adjust my mentality in this area.

Do you feel your project is on track to succeed? If not, what do you plan to do to get back on track?

I do think our project is on track to succeed, but I also think we need to put some extra work in to get it to where I wanted it to be at this point. My real goal is to have a working site with multiple pages by when the next progress report is due. That specific date is May 8th. A stretch goal is to actually have a working site on some level done by tomorrow, so that we can show our sponsor where we’re at and give her a cool demonstration of her vision coming to life.

For that to happen, I have to finish coding by the afternoon tomorrow. I know earlier I said I wasn’t gonna just grind out long hours of coding, and really try to put the work in consistently over multiple days, but I also have the rest of today free to code, so I think this is a good opportunity to do some of the catching up I was talking about. I’m going to end the post here so I can hopefully have a great site to show our sponsor tomorrow! (I promise I’ll be more disciplined in my coding after today!)

Thank you very much for taking the time to read this post, and hopefully I’ll see you in the next one!

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!