Perché il calcolo è necessario nei corsi di laurea in informatica?

Per un esempio concreto, vedi la discussione di questa domanda
Qual è una spiegazione intuitiva dell'approssimazione di Stirling?
(il materiale nella mia risposta è importante nell'analisi degli algoritmi di ordinamento).

Il più grande errore fatto costantemente dagli studenti nel valutare ciò che è utile per la loro futura carriera è di pensare solo a materiale specifico o abilità di basso livello, ignorando le abilità fondamentali e di alto livello. Il secondo errore è quello di considerare solo le applicazioni di cui sono a conoscenza (dopo aver sondato gli studenti nella mia classe di algoritmi, sono rimasto sbalordito nel vedere cosa vedevano come pratico/impraticabile). Questo ovviamente limita la loro creatività futura e può demotivarli nei corsi fondazionali.

Il calcolo e la matematica discreta (insieme) sono il modo migliore per affinare le menti degli studenti e insegnare il pensiero astratto e rigoroso, oltre ad allenare le abilità quantitative. Elementi degni di nota: tecniche di ottimizzazione (trovare minimi e massimi), l'idea di una prova formale e l'idea che qualcosa può essere vero o falso, indipendentemente da come ci si sente oggi. Questo tipo di pensiero è indispensabile nel debugging e nell'ottimizzazione dei prodotti. La matematica discreta, chiaramente necessaria per CS, spesso attinge a concetti e tecniche del calcolo.

Anche argomenti specifici del calcolo sono utili in CS. L'analisi numerica, la computer grafica, la computer vision, l'apprendimento automatico, il data mining e la bioinformatica sono pieni di tecniche di calcolo e algebra lineare. Più in generale, il calcolo è necessario per capire la probabilità, che è anche pesantemente usata in tutti i rami di CS (si pensi alla velocità imprevedibile della rete e al tempo medio di guasto negli hard disk).

Se si crede che gli algoritmi siano necessari per una laurea in CS, allora anche il calcolo è necessario. L'analisi di runtime del caso peggiore degli algoritmi usa il teorema Master, che è fondamentalmente il calcolo. L'analisi runtime del caso medio di quicksort usa argomenti probabilistici, anch'essi basati sul calcolo. Le sommatorie usate per contare il numero di passi in loop annidati con limiti interdipendenti possono essere risolte usando il calcolo (questo è utile per il debug e l'ottimizzazione delle prestazioni).