A expressão refere-se a linguagens de programação.
O "tipado" tem a ver com tipos dos dados que as variáveis suportam.
Exitem dois grandes grupos: linguagens com variáveis tipadas e linguagens com variávei não tipadas.
E existem as linguagens que misturam, seja pra lá, seja pra cá, estes dois polos.
E dentre as tipdas existem as fortemente tipadas (que levam isso ao extremo).
Por exemplo, a linguagem Perl é não tipada. O nome de uma variável escalar começa com $, como $x ou $nome. Uma variável escalar Perl pode guardar qualquer tipo de dado: uma string, um número inteiro, um número de ponto flutuante, um valor lógico, etc.
Já as linguagens BASIC e C são tipadas. Cada variável delas, ao ser definida, também tem definido o tipo de dado que pode armazenar. Por exemplo, não podemos atribuir uma tring a uma variável inteira. Mas podemos atribuir um valor inteiro a uma variável de ponto flutuante, como "n = 2" em C (tendo definido "float n").
As linguagens fortemente tipadas testam se os valores que queremos atribuir a uma variável é exatamente do mesmo tipo da variável. Por exemplo, exigiria "n = 2.0".
Ora, 2.0 é igual a 2, certo?
Para linguagens tipadas, até que sim.
Ms uma fortemente tipada pode dizer que não, que "2" é um inteiro, enquanto que "2.0", embora tenha o mesmo valor que "2" é de ponto flutuante, como indica o ponto decimal e o zero após a vírgula.
Quando temos contextos "fortemente tipados" (como em .NET e em Pascal) somos forçados a prestar mais atenção no tipo exato de dado que estamos manipulando, porque a linguagem vai (e há algumas vantagens nisso).