A pracnique is similar to a case study, derived from “practical techniques”, and homage to the early Communications of the ACM column. In the first issue of CACM, it was described as “techniques contributed be factual and in successful usage, rather than speculative or theoretical” [CACM 1(1) (1958)]. One of the criteria for acceptance of pracniques was “can the reader use this tomorrow?”.
- Pi: Re-engineering a vintage Fortran program (1966) to calculate the value of π. PI:design PI:code
- Day of Year: Re-engineering a F77 program that calculates the Day of Year (DOY). DOY:design DOY:code
- Prime Numbers: Re-engineering a legacy Fortran program to calculate prime numbers. PRIME:design PRIME:code
- Roman Numerals: Re-engineering a legacy Fortran program to calculate Roman numerals. ROMAN:design ROMAN:code
- Easter Sundays: Re-engineering a Cobol program from 1962 which calculates the date of Easter Sunday. EASTER: design&code
These pracniques go through various techniques involved with programming in C. That are at a variety of levels, from novice, to advanced.
- As the crow flies – A C program to derive the distance between two points (novice)
- Height of the Eiffel Tower – A C program to calculate the difference in height of the Eiffel Tower due to thermal expansion (novice)
- Wind chill – A C program to calculate the wind chill factor (novice)
- Programming style – How the aspects of style can affect a program (novice)
- Ice Skating Scores – A C program to calculate ice skating scores using interquartile means (arrays, loops, functions) (novice)
The following case studies describe re-engineering of small programs in Fortran, Ada, and Cobol.
- The Evolution of Fortran (The quadratic equation in Fortran I, a Fortran 77, and a Fortran 90/95)
- Julian Dates (Gregorian to Julian conversion implemented in Fortran, Ada, Cobol, C and Python)
- Wind Chill Factor (Wind chill factor in Fortran, Ada, Cobol, and C)
- Escape Velocity : An Ada program to calculate the escape velocity from the surface of a moon or planet. Design
- Ice Thickness : An Ada program to calculate ice thickness. Design
- Luhn’s Algorithm : An Ada program to perform Luhn’s Algorithm to validate a number. Design
- Typing Monkey : An Ada program to simulate the Typing Monkey problem. Design
- Deck Flex : A Fortran program to calculate the flexural deflection in a deck, given a particular material. Design&Code