Posts

Showing posts from August, 2026

CST 438 - Week 8 Learning Journal - Course Overview

  Throughout this course, I learned that software engineering involves much more than just writing code. It also requires planning, testing, teamwork, documentation, and thinking about how software will be maintained and improved over time. The five most important things I learned were working with REST APIs, developing a frontend with React, system testing, using Git in a team environment, and deploying an application to AWS. 1. REST APIs and Backend Development One of the most important things I learned was how REST APIs allow the frontend and backend of an application to communicate. Before this course, I understood the general idea of a backend, but working with REST APIs helped me better understand how an application is divided into different components. I learned how HTTP requests such as GET, POST, PUT, and DELETE can be used to retrieve and modify data. 2. React and Frontend Development Another important skill I learned was developing a frontend using React. React showed me...

CST 438 - Week 7 Learning Journal Agile Process vs Waterfall Process

One thing I learned is that Agile process and Waterfall process take very different approaches to developing software. In a Waterfall process, the project is divided into defined phases such as requirements, design, implementation, testing, deployment, and maintenance. A large amount of planning and documentation is completed before moving on to later phases. For example, an SRS is used to document the requirements before the system is designed and implemented. Agile takes a more iterative approach. Instead of trying to define the entire system at the beginning, the team develops the software in smaller increments or iterations. Requirements can be represented as user stories and prioritized in a backlog. During each iteration, the team selects work, implements it, tests it, and produces a working increment of the software. This makes it easier to respond when requirements or priorities change. I think one of the biggest differences is how the two processes handle change. With Waterfal...

CST 438 - Week 6 Learning Journal - Importance of this Week's Concepts

This week, I learned how to use Selenium for automated testing as part of our group project. Selenium allows developers to automate interactions with web applications, making it easier to test features without having to perform every step manually. I learned how Selenium scripts can simulate user actions such as clicking buttons, filling out forms, and verifying that web pages behave as expected. Working with Selenium also showed me how automated testing improves software quality by catching bugs early and making regression testing faster and more reliable. This chapter introduced the concept of cloud computing and how computing resources such as servers, storage, and networking can be delivered as on-demand services over the internet. I learned about the benefits of cloud-based services, including scalability, flexibility, cost efficiency, and the ability to quickly deploy applications without managing physical hardware. The chapter also explained how organizations use cloud ...