La fluidez en un lenguaje de programación es un requisito para estudiar la mayor parte de ciencia de la computación. Los programas de ciencia de la computación deben enseñar a sus estudiantes como usar bien al menos un lenguaje de programación; además, deben enseñar a sus estudiantes a ser competentes en lenguajes que hacen uso de los paradigmas orientados a objetos y basados en eventos.
Esta área de conocimiento incluye aquellas habilidades y conceptos que son esenciales para la práctica de la programación independiente de los paradigmas. Como resultado, esta área incluye unidades de conceptos fundamentales de programación, estructuras de datos básicas, procesos algorítmicos y seguridad básica. Estas unidades, sin embargo, no cubren toda la gama de conocimientos de programación que un estudiante de ciencia de la computación debe conocer. Muchas de las otras áreas -en particular Lenguajes de Programación (Programming Languages - LP) e Ingeniería de Software (Software Engineer - SE) - también contienen unidades relacionadas con programación que son parte del núcleo de pregrado. En la mayoría de los casos, estas unidades de igual manera podrían haber sido asignadas a Fundamentos de Programación o a otra área mas avanzada.