Posts

Showing posts from December, 2025

CST 438 - Week 8

 Hey everyone,      One of the most valuable things I learned in this course is the importance of testing and test-driven development. Through unit testing with tools like JUnit and Mockito, I learned how to verify that methods are called correctly and how mocks can isolate components during testing. Writing Selenium tests for React components also showed me how automated testing can catch issues that might not be obvious during manual testing. These concepts helped me understand why testing is critical for building reliable and maintainable software.      Another major takeaway from the course was learning how to build interactive user interfaces using React. Creating components that display data in tables, manage state with hooks like useState , and respond to user actions such as adding or removing items helped me understand how modern front-end applications work. This hands-on experience made concepts like state management, event handling, and com...

CST 438 - Week 6

 Hey everyone, This week in class, we explored two very different ways of approaching software development: the Agile method and the more traditional Plan-and-Document (Waterfall) method. I’ve heard these terms before, but actually comparing them side-by-side—and thinking about how they play out in real projects—helped everything click. Starting Point: How the Two Mindsets Differ One of the biggest differences I noticed is the mindset behind each approach. Waterfall assumes that we can plan almost everything in advance. It feels like writing a detailed roadmap before even starting the engine. Agile, on the other hand, seems to accept that surprises will happen. Instead of a fixed map, Agile works more like a GPS rerouting along the way. Planning: One Big Plan vs. Many Small Plans In Waterfall, planning happens early and intensely . Before any coding starts, you produce big documents—requirements, design diagrams, timelines. It’s clean and structured, but also kind of intimidati...

CST 438 - Week 6

 Hey everyone,      This week gave me a chance to dive into several different aspects of software development, from planning to testing to cloud concepts. During the Iteration 3 planning meeting, I gained a clearer understanding of how teams break down work and set realistic goals for a sprint. Watching the system testing video helped me see how the focus shifts from individual components to verifying that the entire system works as a whole. I also spent time reading about React component reuse, which reinforced the value of building modular, reusable pieces that make applications easier to maintain and scale.      I continued deepening my technical skills through Assignment 4 on system testing, where I applied what I learned to create meaningful end-to-end test scenarios. The SAG 25 reading on Compute as a Service expanded my understanding of cloud computing models, especially how virtual machines and containers provide scalable and flexible compute ...

CST 438 - Week 5

 Hey everyone, This week, I spent most of my time working on the React frontend for Iteration 2. I used the feedback from Assignment 2 to improve my components, clean up my code, and make the interface work more smoothly. As I worked through Assignment 3, I started feeling more confident using React and understanding how data and components connect to each other. We also had our Iteration 2 Planning Meeting, which helped me outline what needed to be done for this part of the project. Breaking the work into smaller tasks made the next steps feel more manageable. It showed me how planning ahead can make the development process easier and more organized. Alongside the coding work, I learned about larger tests by reading Chapter 14 from SAG. I learned the differences between unit tests, integration tests, and system-level tests, and why larger tests are important for finding bugs that happen when different parts of the system interact. Taking the quiz helped me review and remember the ...