CST438 - Week 8
- YZ

- Oct 19, 2021
- 2 min read
This was the last week of the Software Engineering course! To wrap up the class, our final quiz included questions with material from all of the previous modules. Our last assignment is to write in our learning journal about the top 5 things we learned in this course and why.
5 Most Important Things I Learned in CST438
1. The Agile and Plan and Document (Waterfall) Approaches

Learning about these two approaches was very valuable because I feel that this will be information I will need to know in my future career. I will be able to join a team utilizing either one of these methods and understand how the development process will proceed. Additionally, when making my own decisions for a project, I can weigh the pros and cons of these two methodologies to choose which route to take. I feel that I have a solid understanding of their similarities and differences and will definitely use this knowledge in the future.
2. User Stories
I really enjoyed learning about user stories. They are a great way to stay focused on the clients and users and what they are looking for in the project. Also, it's a nice way to break down all of the different features and organize and prioritize them. I like working on Pivotal Tracker which introduced me to one platform that incorporates user stories and organizes and tracks each story. I feel that this is a great tool to know about it and I may use it in the future to track projects. My team for the capstone course is already setting up a joint project on a similar platform.

3. REST and RabbitMQ
When developing a complete project, knowing about different ways programs can communicate is vital. Learning about synchronous and asynchronous messages and implementing them between the gradebook and registration services was very interesting and useful. I think this is a great skill to have for a well-rounded programmer.
4. Tests
This class was the first time I wrote complete tests for my programs. Obviously, testing is extremely important and necessary in the software engineering process. As our textbook, Software Engineering at Google, writes about the Beyonce Rule: "If you liked it then you should have put a test on it." I think the process of writing a test, watching the test run on the browser, and pinpointing where the test failed in order to fix it was very valuable. When my Selenium test ran with no errors, it was a great feeling knowing that I was able to utilize the tools to test out my code and make sure it would run smoothly under various conditions.

5. Spring and React
I had never worked with Spring or React before this class, so the experience I gained gave me a good basic understanding of both of these. I feel that it is likely that I will use both of these in my future. In fact, for the capstone, my team is planning to use React for our front-end. In general, learning about and utilizing new libraries does a good job of honing my skills.


Comments