HW1 Response

Coding

How long did you spend on this assignment?

I spent roughly 5-6 hours on this assignment.

Where did you spend the most time?

I spent the most time on fixing configurations and figuring out TypeScript in general.

What did you struggle with the most? What would’ve improved your experience on this assignment?

I struggled a lot with trying to learn and apply TypeScript at the same time. I believe that I would’ve been more ready for this assignment had I watched a YouTube tutorial on the basics of TypeScript first.

TypeScript

What are some of the issues TypeScript helped you prevent? What are some of the holes in the type system?

TypeScript caught issues like referencing removed symbols, passing strings instead of numbers for certain parameters, and errors between expected database row shapes and API response types.

What kinds of values did you struggle to type correctly? Are there any TypeScript topics that are still confusing you?

I had trouble typing request parameters and database results because values coming from Express and SQLite don’t have guaranteed types. Some TypeScript topics that confuse me still are how to properly type database query results and type Express request and response objects.

Testing

What was your experience writing tests? How did they affect your development process?

I think writing tests was definitely boring, but I can see that it is helpful. Writing these tests made me more confident in my code.

Did your tests help you find any bugs? If so, which ones?

My tests helped me find bugs by revealing cases where the server returned incorrect HTTP status codes for certain error conditions, which I then corrected to match the expected API behavior.

How would you structure your testing differently in the future? What did you learn while testing?

In the future, I would structure my tests to cover edge cases earlier instead of adding them later. While testing, I learned that writing tests during implementation helps catch logic and error handling mistakes quicker.

LLMs

Did you use LLMs to help you write your code? If yes, explain how you used them.

I occasionally did use LLMs. I used them to auto complete a lot of simple syntax.

If you used LLMs, reflect on how they changed your experience of coding.

The LLMs were honestly more annoying than helpful, since they often autofill code that I do not want, and make implementation slower. I don’t think they affected anything I learned from this assignment.