CompSci 307 Fall 2022 |
Software Design and Implementation |
It is hard enough to find an error in your code when you are looking for it; it is even harder when you have assumed your code is error-free. — Steve McConnell
Submit a Markdown formatted plain text file, named week08_testing.md
, to the individual portfolio_NETID
repository provided for you in the course's Gitlab group.
While all code likely contains bugs, it is still vitally important to minimize them because software is literally a matter of life and death. Many say that testing code as you go improves and speeds up the development process and that testing is extremely creative and intellectually challenging. Yet most programmers still do not value testing or find it a boring task they would rather put off.
Now that you have some experience trying to test complex programs and, hopefully, trying to test as you go rather than only at the end of the project, take some time to reflect on your experience and how to improve it.
Finally, try to come up with 10 tests for the Google homepage (basically just a text field :).
Cellular Automata simulations have been used to model a variety of things scientifically, such as fire, racial segregation, ant foraging, fur patterns, other patterns in nature, economic theory, city growth, or even the entire universe. While such models certainly can help better understand complex systems, the information they abstract out can affect their accuracy or introduce bias, leading to ethical concerns. Thus it is said that all models are hypotheses that must be proven.
Beyond modeling, using programming in general for science is practically a requirement now but bugs, biased data sets, and flaws in data anonymization undermine any results' validity. Will it ever be possible for programmers to build systems that can earn and maintain public trust in scientific research?
Based on your interest or knowledge about the topic, choose one of the following issues to read about and discuss: