· What did you like the least about the class?
I thought the lectures could be tedious and pointless sometimes when we were focusing on very obscure Python details. While it is useful to learn some of the strange quirks of Python, I found that we spent too many days focusing on this instead of ideas that could more directly contribute to our understanding of software engineering.
· What did you like the most about the class?
I really enjoyed the Refactoring and Extreme Programming readings, I thought both of these provided some valuable insight into software engineering practices and design principals. Also, I thought the entire group project was great! I really enjoyed working with my group and learning about all sorts of new technologies such as React and Docker (new to me, but I know a lot about them now). I also thought that when the lectures weren’t focusing on weird Python details, they were pretty useful and informative.
· What's the most significant thing you learned?
I think all of the technologies I got to learn about were incredibly useful (sorry I can't narrow it down to just one, so Ill just say the most significant thing is the technology in general). My favorite tools I got to use included Postman, Docker, React, unittest, and Flask-RESTful,
· How many hours a week did you spend coding for this class?
On weeks that a project was due, probably about 30 – 40. On other weeks, probably about 5 – 10.
· How many hours a week did you spend reading for this class?
At the start of the semester, I read about 3 hours a week. By the end of the semester, I stopped reading altogether (sorry Professor Downing). I did read all of the Refactoring book though and highly recommend it.
· How many lines of code do you think you wrote?
I definitely wrote over a thousand lines of code for this class. Probably over two-thousand including Collatz and the data scraper we created for IDB.
· What required tool did you not know and now find very useful?
I really enjoy using Postman for API testing. This tool made it super easy to know if our API had any issues and helped us narrow down exactly which parts of the API were having problems.
· What's the most useful Web dev tool that your group used that was not required?
We used a library called Fuse.js which made searching our data incredibly simple and functional. It allows for fuzzy search and weighting of specific attributes so we were able to tweak our search to return the optimal (most relevant) results in most cases. The downside to using this library tough is that it means you have to do searching on your front-end, which requires you give all your data to your front-end and then search. If you have a lot of data (we did not) this might not be a practical solution. However, you could still take advantage of Fuse.js on searching small subsets of your data if you want to use it alongside a more robust back-end searching tool.
· If you could change one thing about the course, what would it be?
I would prefer that more lectures be dedicated to software engineering design principles or tools (like Docker) which could directly help us in our software engineering careers. Right now there are too many lectures dedicated to small random Python facts. Besides that, I really love this course and highly recommend it to almost everyone in UTCS 😊.