Posts

Showing posts from March, 2025

CST438: Week 3 Journal

React stands out among front-end development frameworks I've used, such as Angular and Vue, primarily due to its component-based architecture, which promotes reusability and separation of concerns. I appreciate React's virtual DOM, which enhances performance by minimizing direct manipulation of the actual DOM and allows for efficient updates. Additionally, its extensive ecosystem, including libraries like Redux and React Router, facilitates state management and routing, making it easy to build complex applications. However, one downside I observe is the steep learning curve associated with concepts like hooks and context API, which can be daunting for newcomers. Moreover, the rapid pace of updates and changes can sometimes lead to a lack of standardized practices within the community, which may confuse developers who rely on specific patterns. Overall, React's flexibility and powerful features make it a compelling choice for modern web applications, despite some challenges.

CST438: Week 2 Journal

A Mock is a simulated object that mimics the behavior of real objects in a controlled way, primarily used in unit testing to isolate the code being tested from external dependencies like databases or APIs. Mocks are useful because they allow developers to specify how these objects behave, enabling focused testing of the code's logic without interference from real external factors. This control enhances test performance by avoiding time-consuming operations, simplifies testing by making it easier to simulate various conditions, and provides verification of how dependencies are interacted with. Ultimately, mocks facilitate better testing practices, leading to more reliable and maintainable code.

CST 438 Journal 1

When I first thought about a course in Software Engineering, I expected it to cover key topics like software development methodologies, project management, coding best practices, and perhaps some introduction to software architecture. I anticipated a focus on programming languages and tools, as well as hands-on projects that would help solidify my understanding of how software is built from the ground up. After completing week 1, my perspective has broadened significantly. I've realized that the course not only addresses the technical aspects but also emphasizes the importance of communication, teamwork, and problem-solving skills in the software development process. The initial week’s lessons introduced me to concepts like Agile methodologies and the software development lifecycle, which I hadn’t fully appreciated before. This has heightened my interest and made me aware of how critical these areas are for successfully delivering software projects. Overall, I feel more engaged and...