Oregon State University|blogs.oregonstate.edu

Midterm update

  November 13th, 2024


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



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



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



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?