Oregon State University|blogs.oregonstate.edu

Category: Assignment Prompts

Lessons from building the Crowd-Sourced Travel Planner

  March 7th, 2025

Greetings,

As our Crowd-Sourced Travel Planner app continues to take shape, I’ve been reflecting on the challenges, successes, and lessons learned throughout the project. This has been an exciting yet demanding experience, and now that we’re further into development, I can see how much we’ve grown as a team.

Tackling the Most Difficult Challenge

One of the biggest challenges I faced personally was navigating Git and version control within a team environment. While I had used Git before, coordinating with multiple developers introduced complexities I hadn’t dealt with in solo projects. Merging, branch management, and ensuring a smooth workflow were all things I had to learn on the fly. Over time, I became more comfortable by reading documentation, watching tutorials, and simply getting hands-on experience. I still have more to learn, but I finally feel like I’m wrapping my head around it.

Why This Project?

I chose to work on this app because I love to travel, and I thought a social-media-style travel planning app would be a fantastic idea. Not everyone enjoys or excels at planning vacations, so having a platform where users can share ideas, build off each other’s experiences, and streamline their trips felt like something that could genuinely make travel more accessible and exciting. It’s rewarding to think that what we’re building could help people discover new places and experiences they might not have considered otherwise.

What Would I Do Differently?

If I could do one thing differently, it would be improving communication. While we work well together as a team, I think more frequent and structured discussions could have helped us stay even more engaged. If we had treated this more like a passion project rather than just an assignment, I believe it would have made the process even more enjoyable and collaborative.

Managing the Project

Overall, I think our project has been managed fairly well, but there’s always room for improvement. We’ve had clear deliverables, but some aspects could have been better planned out, especially in terms of breaking tasks into smaller, more manageable pieces. Our use of Trello has helped keep things organized, even if it’s not my favorite tool compared to Monday.com. Better communication would have helped ensure everyone was on the same page at all times, which is something I’ll keep in mind for future projects.

Initial Doubts and Where I Stand Now

At the start, I had some doubts about our ability to pull everything together smoothly. We had a strong idea, but execution always presents challenges. Now, seeing the app come together, I feel far more confident in our abilities. We’ve built something tangible, and that’s incredibly satisfying.

Who Will Use This App?

This app is designed for travelers of all experience levels. Whether someone is an experienced adventurer or planning their first big trip, having a platform for discovering and organizing travel ideas can make the process easier and more fun. The hope is that it will inspire more people to explore the world and share their insights with others.

Five Things I’ve Learned from This Project

  1. The importance of effective version control and Git best practices.
  2. How crucial communication is in a collaborative project.
  3. The value of breaking tasks down into smaller, more manageable pieces.
  4. How different tools can impact workflow—Trello is useful, but not my favorite.
  5. That even small progress adds up—consistent effort makes a huge difference.

Life Hacks for Managing Work and School

Balancing life, work, school, and this project has been a challenge, but I’ve found that time-blocking and prioritization are essential. I also keep a “lessons learned” journal, which helps me reflect on what’s working and what needs improvement. Staying flexible while maintaining structure is the key.

Looking Forward

I’m excited to see the final version of our app take shape. While there are things I’d tweak if given another chance, I’m proud of what we’ve accomplished. I hope to continue working on this in the future and maybe turning it into something great. This project has reinforced my passion for building applications that have a real-world impact, and I hope to carry these lessons into future work.

Cheers,
Trent

Read the post...


Gaining Momentum with Our Crowd-Sourced Travel Planner Project

  February 7th, 2025

Greetings,

By now, our team is deep into the development process of our Crowd-Sourced Travel Planner app. While we’re all handling different aspects of the project, the tools and technologies we’ve chosen are shaping how smoothly things come together. This blog is about a few of the technologies I’ve been using for my development and how they’ve impacted my workflow so far.


Favorite Technology: VS Code
Without a doubt, my favorite technology has been Visual Studio Code (VS Code). It’s lightweight, fast, and customizable, which makes coding feel a lot less like a chore and more like a creative process. The extensions available, especially for Python and JavaScript, have been incredibly helpful. Features like IntelliSense and the integrated terminal streamline my workflow, allowing me to write, test, and debug code all in one place. I haven’t had to rely on too many other tools for my part of the project yet, but VS Code has been a constant.

Task Management: Trello vs. Monday.com
We’ve been using Trello for task management, and while I didn’t find it difficult to learn, it’s not as intuitive as I would like. Compared to tools like Monday.com, Trello feels a bit clunky in terms of UI and ease of use. That said, I really appreciate having a centralized task management board where the whole team can see what’s in progress, what’s done, and what’s up next. It’s been helpful in keeping everyone on the same page and ensuring tasks don’t fall through the cracks.

Looking Ahead: The Exciting Part
I’m really looking forward to our next sprint when we start integrating our individual components. That’s when we’ll see the first ‘alpha’ version of our app come to life. It’s one thing to work on isolated pieces, but seeing how everything fits together will be exciting—and probably a little nerve-wracking!

Cheers,
Trent

Read the post...


Embracing Clean Code Practices: A Personal Reflection

  January 17th, 2025

Greetings Everyone,

As I continue to grow as a programmer, I’ve been reflecting on how I approach writing and maintaining code. Recently, I came across some insightful articles about clean code and code smells that challenged me to reevaluate my coding habits. Today, I want to share one practice I aim to incorporate more often and one I want to avoid, based on the lessons from these resources.


Cleaning Things Up: Writing Small, Focused Functions (Clean Code)

One thing that stood out to me from DZone’s article on clean code principles and freeCodeCamp’s beginner’s guide is the importance of writing small, focused functions. Functions that do one thing and do it well are not only easier to read, but also simpler to test and debug.

Here’s an example of a refactor I’d like to adopt more often:

Before (A Large, Complex Function):

After (Smaller, Focused Functions):

This approach aligns with the Single Responsibility Principle and makes the code much easier to maintain.


Does Your Code Stink? Stop Ignoring Code Smells

Another eye-opener was understanding the impact of code smells, as discussed in CodeSignal’s guide to identifying code smells and Hithesh Kumar’s insights. Ignoring code smells like long methods, duplicate code, or unnecessary comments can lead to technical debt and make the codebase harder to work with.

For example, consider this snippet:

Code with Smells (Duplicate Code):

This duplication violates the DRY (Don’t Repeat Yourself) principle. Instead, we can refactor:

Refactored Code:

By addressing code smells proactively, I can reduce future headaches and improve the overall quality of my work.


Why These Changes Matter

Writing small, focused functions fosters better collaboration, as teammates can quickly understand and modify the code. Addressing code smells ensures a healthier codebase, saving time and effort in the long run. These habits also reflect professionalism, a critical trait as I transition into the data science field, where clean and maintainable code is essential for reproducibility and scaling.

As I move forward, I’ll strive to implement these practices consistently, logging my progress in my “lessons learned” journal to ensure continuous improvement. If you have any tips or experiences with clean code or tackling code smells, I’d love to hear about them in the comments!

Cheers, Trent

Read the post...


Finishing The Term

  November 30th, 2024

Greetings Everyone,

Life continues to keep me on my toes with work, school, and family responsibilities, but I’m pushing through and learning to adapt to the juggling act. Our class project is progressing, albeit slower than I initially hoped. As a team, we’ve faced some of the typical challenges that come with starting a new initiative—aligning on goals, splitting responsibilities, and keeping momentum going. Despite the slow start, I’m optimistic. We recently decided to narrow down the feature set to focus on creating a strong MVP (Minimum Viable Product). This feels like the right move to ensure we build a solid foundation before tackling our “wish list” items. I’m hopeful that as we continue, our team will hit its stride and work together more seamlessly.

On the career front, I have some exciting news—I have a data scientist job interview this week! Transitioning to a career in data science has been a goal of mine since I began this program, so I’m thrilled to have this opportunity. It’s a bit nerve-wracking to take such a significant step, especially since it represents a complete career shift for me. That said, I’m confident that the skills I’ve built in school, particularly in AI and data modeling, will help me shine. This field offers endless opportunities to combine programming with problem-solving and creativity, which is precisely what drew me to it in the first place.

One thing I’ve come to appreciate during this term is the importance of managing stress and staying organized. Between class projects, assignments, and family life with a newborn, it’s easy to feel overwhelmed. A life hack that has really worked for me is time-blocking my schedule and being realistic about what I can achieve in a day. I’ve also started keeping a “lessons learned” journal for projects—logging what worked, what didn’t, and ideas for improvement. It’s been a simple but effective way to streamline my process and reduce frustration.

When it comes to coursework, I’ve been impressed with the sheer variety of technologies we’re exposed to. This term, I’ve especially enjoyed diving deeper into graphics programming. OpenGL has been a fantastic challenge, and it’s amazing to see how math and code can produce interactive 3D visuals. This is a skill I’d love to leverage in the future, whether for data visualization, game development, or even creative personal projects. The possibilities feel endless, and that’s what keeps me motivated.

As we wrap up the term, I’m looking forward to continuing to develop my technical skills while refining the collaborative aspects of our class project. The slow start has been frustrating at times, but I know this experience will teach me valuable lessons about teamwork and prioritization. And who knows? With my upcoming job interview and a renewed focus on my goals, this might just be the start of something great.

Here’s to finishing strong and embracing the opportunities ahead!

Cheers,
Trent

Read the post...


Midterm update

  November 13th, 2024
Read the post...


Blog Post #1

  September 30th, 2024

Greetings All,

My name is Trenton Schmidt, but Trent will do just fine. I was born and raised in Nebraska, and I currently reside in the capital city of Lincoln, which puts me in CST. I am married, have a relatively newborn girl, and we have a dog and a cat. Currently, I’m working full-time and going to school full-time, so my schedule has been pretty hectic the past two years. Now I added being a full-time parent to the list, so to say the least, now there’s even less free time (if that’s somehow possible).

In my free time before school started, and between terms now, I enjoy working on our house, on our cars and being outdoors. We are avid hikers and enjoy traveling to new places to explore. I also like to game here and there, mostly on the PC. Currently, I’m playing Planet Crafter, thanks to the wife for getting me hooked on that one!

I’ve always gravitated towards computers, and they were my favorite classes growing up. Right out of high school, I attended trade school to become a mechanic in the electromechanical space. Programmable Logic Controllers (PLCs) were where I wanted to spend my time, and my first job out of college was a controls technician. After a career change to a medical maintenance field, I got away from programming and until recently I didn’t realize how much I missed it. This led to me going back to school to pursue my bachelors (and masters) in computer science.

It’s been a great experience so far as a student at OSU, and I’m looking forward to finishing up and getting my first software development job! I currently don’t know what that job looks like, but I am incredibly excited nevertheless. I’ve chosen to do the custom focus path for my degree and I’ve tailored it towards AI and data science. Likewise, I’m also in the Accelerated Masters Platform (AMP) program where I will be getting my masters of engineering, also focusing on AI.

I’ve been enjoying all the exposure to the different programming languages so far in my coursework. It feels like Python is the easiest for me to pick up and come back to when I’ve been learning other languages. That being said, I’ve really enjoyed getting practice at C/C++. Before starting my courses, I had no prior experience, and it feels like knowledge of C/C++ will be a major bonus when starting the job searching after school.

Reflecting on my projects thus far, I think my favorite project(s) so far have been either the website we created as part of Web Development (CS 290) or the Treasure Hunt app we created as part of Mobile Development (CS 492). Perhaps these were my favorite projects because I was able to produce a visual/tangible product that I was able to showcase to others. I suppose this should help with guiding how I might want to apply the AI aspect of my degree to a future job?

Read the post...