Courses / Computer Science I
Programming II

Program Design for Scientific or Engineering Tasks

Computer Science I 284 words Free to read

Computing for Science

Scientific and engineering programs have their own demands. They process numbers — often lots of them — and their correctness depends not just on logic but on numerical care.

The first hazard is floating-point arithmetic. Computers represent real numbers with finite precision, so most decimals are stored approximately: 0.1 + 0.2 is not exactly 0.3. The consequence is that you must almost never compare floats with exact equality (==); instead, check whether they are close within a small tolerance (ab<ε|a - b| < \varepsilon). Rounding errors can also accumulate over many operations, so the order of computation can matter.

Second, scientific code lives or dies by units and dimensions. A value is meaningless without its unit; mixing meters and feet, or radians and degrees, has caused real disasters. Disciplined code tracks units explicitly and checks that formulas are dimensionally consistent.

Third comes structure for reliability: represent the data cleanly (arrays or matrices for numerical work), factor the mathematics into tested functions, validate ranges (a probability must lie in [0,1][0,1]; a mass cannot be negative), and cross-check results against known cases, limiting behavior, or an independent method. A sanity check — does the answer have the right order of magnitude and sign? — catches gross errors that detailed logic misses.

Common pitfall: comparing floating-point numbers with exact equality (if x == 0.3). Because most decimals are stored approximately, such a test can fail even when the values are "the same" mathematically. Compare within a tolerance instead: if abs(x - 0.3) < 1e-9.

A number line zoomed near 0.3 with 0.1+0.2 landing a hair off exact 0.3; an accent tolerance band of width epsilon straddles 0.3.

ab<ε|a - b| < \varepsilon

Program Design for Scientific or Engineering Tasks

Practise this lesson

The explanation above is free to read. The graded practice for this lesson lives in the Tryals app.

11practice questions
2interactive scenes
Start Computer Science I free

Programming II