• sugar_in_your_tea
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    A huge part of computer science is proving correctness, complexity, etc. Almost all of my classes had an automated test suite that your code needed to pass to get full credit for the assignment. I think it’s completely reasonable that you “show your work” by writing your own tests from the start.

    If programming is just one or two classes of your program (e.g. you’re doing IT or something), then I can insurance testing not being a part of it. But if you’re going after a formal CS or CS-adjacent degree, you should be in the habit of proving the correctness of your code.

    I’m totally fine with other industry norms being ignored, such as code style, documentation, and defensive programming, however, testing should absolutely be a regular part of any form of software development. I want every CS grad to always be thinking in terms of “how can I prove this” instead of just “how can I solve this.” I don’t think 100% code coverage should be expected, but students should prove the most important part of their solution.