Wednesday, December 17, 2025

CST438 - Week 7

Well, that's the end of week 7, and pretty soon this class will be wrapping up with the final exam in week 8. This week, we focused on development processes, in particular Agile and Waterfall.

So far in this class, we've been using an Agile process, which is essentially iterative and evolving. Work is divided into short iterations, about one week for our project. Each iteration involves a meeting, and requirements continue to evolve as we work on the project and discuss progress.

A Waterfall process is different in that it is extensively documented at every stage before development begins. Changes cannot be made on the spot, like in Agile. 

Tuesday, December 9, 2025

CST438 - Week 6

With the end of week 6, my group's project is coming together after working on our system tests. I think working on system tests is a very valuable skill to learn, and working on that for our project has been a valuable experience.

At one point, I ran into an issue where my two databases were not communicating properly. I initially thought it was a problem with the Chrome Driver, but it turned out to be an issue with the schema in my Gradebook repo not having an auto-increment for the primary key. Once that was resolved, it was relatively smooth sailing for the rest of the test implementation.

Tuesday, December 2, 2025

CST438 - Week 5

This week we continued work on our group project, focusing on implementing the frontend to communicate with our backend. The frontend development tasks were relatively straightforward, and our project management process has been going well; everyone is following the correct workflow to create, review, and merge pull requests.

Outside of the project, we also had a fairly long chapter to read on large tests in Software Engineering at Google. I admit I wasn't very familiar with testing beyond unit tests, and I'm still not perfect at writing them to achieve full coverage. While unit tests are great for verifying individual pieces of code, such as functions, large tests are important for ensuring that the entire system works correctly across many scenarios.

Tuesday, November 25, 2025

CST438 - Week 4

This week, we started work on a group project that involves familiarizing ourselves with a partially completed codebase and then implementing the rest.

We also read Chapter 9 of "Software Engineering at Google" on Code Review. Although we have only read a few chapters so far, the most interesting thing I learned was that Google's codebase experiences close to 25 million lines of change every week. I found it interesting how they manage such a massive volume of changes.

Overall, it was a good week. The project was a bit challenging, as it took some time to set everything up and get familiar with parts of the codebase.

Tuesday, November 18, 2025

CST438 - Week 3

This week, we focused on the basics and importance of Git for managing code, as well as how it functions in a team environment with multiple developers pushing changes to a single repository.

There are a lot of great features of Git, such as simplifying code publishing and updates, enabling the creation of separate working branches, and merging those branches into the main branch.

One issue with Git's merge feature is that it does not flag a conflict if the same line of code was not edited in a different branch. For example, if Developer 1 updates a variable from X to Y, and Developer 2 did not make changes to that line in their branch, there would be no merge conflict. However, the change itself would give an error for Developer 2's code if they tried to use the X variable.

Tuesday, November 11, 2025

CST438 - Week 2

This week in my Software Engineering class, we were introduced to using React for web development and completed a lab to accompany the lectures. The lab itself wasn't too difficult, but since I had never worked with React before, I ran into some complications at the start.

In terms of the strengths and weaknesses of React, I've only scratched the surface so far, but it seems there's a bit more setup involved and a steeper learning curve. I'll definitely need to read more and watch some videos to gain a better overall understanding.

On the positive side, I really like how React manages UI elements and JS in a single file, making everything easier to maintain and test. The React website also provides plenty of helpful resources and information.

Tuesday, November 4, 2025

CST438 - Week 1

What did you expect a course in Software Engineering would cover?

It's only week one, but what we have covered so far aligns with my expectations. My initial thought was that the course would go beyond just programming, including working in a team, exploring different software development life cycles, learning about design and testing, and understanding best practices to ensure code maintainability.


After completing week 1, how has your opinion changed?

My opinion has not changed. We have only scratched the surface this week, but the overall content of the class seems to be what I expected.

CST489/499 - Week 16

This marks the end of my journey in the CSUMB CS Online program. I will officially graduate and receive my bachelor's degree in Computer...