This week I learned the basics of React, including what a component is and how it works. A React component is a function that returns UI elements. I also learned about hooks like useState for managing state and useEffect for running code when the page loads, such as fetching data. One important thing I learned is that using useEffect((_ => {}, []) runs only once when the component first renders. In my opinion, React has many strengths. It makes it easier to build interactive user interfaces using reusable components. It also helps organize code better and makes updates efficient because of its state management. However, React also has some weaknesses. It can be confusing at first, especially with hooks and state updates. There are also many concepts to learn, and sometimes it feels complex for small projects. Overall, React is powerful but has a learning curve, especially for beginners like me.
Before taking this course, I expected Software Engineering to focus mostly on coding and learning how to connect multiple software systems while applying algorithms through programming. I also hoped to learn about different tools and software that could be useful for future projects and my career as a developer. After completing week 1, my opinion changed a little. I realized that Software Engineering is not only about writing code, but also about designing systems that are maintainable and sustainable over time. The course also focuses on planning, testing strategies, version control, and collaboration in larger teams. It helped me understand that building software involves many engineering decisions, trade-offs, and long-term thinking, not just programming. x