Home

Homework 1 Reflection

  1. Coding
    1. I spent about 6 hours on this assignment. I take long to complete assignments, so I would consider this a pretty short time.
    2. Most of my time was spent figuring out configurations and debugging some TypeScript syntax errors.
    3. I struggled the most with TypeScript. I felt as if I was thrown into the deep end a little bit with this assignment, as we didn't get much of a rundown on the differences between it and JS.
  2. TypeScript
    1. Maybe I didn't do enough code coverage, but I didn't find many bugs. This might be because of the way TS is built. One issue I did consistently run into was related to was using db.get vs db.all. I understand why the specification exists, but when the SQL query includes '*' I would assume it would automatically grab all from the table like the query says.
    2. I'm not too sure what the first question is asking, but I still don't quite understand what "..." before a variable does.
  3. Testing
    1. Personally, I love using Test Driven Development. I used the method to code this assignment, and it made my process for coding a lot faster than if I wasn't writing tests. I find that writing tests first gives me an outline for how I want my code structured and what aspects of code I need to expand on. In regard to website development, this did change my process, as I normally don't write test code. I found that writing tests gives me a better understanding of how my project works.
    2. The tests helped me find one bug. I originally had /books/id and /books/pub_year. If I didn't test it, I wouldn't have found that they both map to /books/id, thus causing an error when a year is entered.
    3. I don't think I would change much at all. I would maybe have different files for different aspects of the project. Other than that, I think my current method of coding works. I learned how to write tests related to web development, which I have wanted to do for a while to be able to test my personal projects.
  4. LLMs
    1. I only use LLMs as a last resort as they don't help me learn much (depending on how I use them). If I have a problem that I wasn't able to solve myself, I look it up. If that doesn't help, I turn to an LLM. I also use it to debug after I've tried debugging myself. Essentially, I use it when I'm desperate. I'll admit that sometimes I'll fall into asking it to fix my problem rather than what the problem is. This doesn't happen very often, though. I ask it questions about why something is wrong (without fixing it for me). I don't want it to do the work for me, it actually drives me crazy when it does.
    2. Using an LLM for coding does save me time if I use it right. Many times, I end up having to explain why its own solution is wrong. At that point, I give up trying to "work" with it. For this assignment, however, I felt that it helped me significantly in terms of TS. My goal is to always use it as a tool rather than a crutch, because I want to learn.