Books Related to Computer Science and Programming Languages in the Seattle Public Library
MAT 259, 2022
Jiaxin Wu

Concept
There are various fields in Computer Science to study. As a student majoring in Computer Science, I want to know whether the popularity of different fields has an influence on library checkouts. So I write SQL about the checkouts related to fields within the Dewey Class 100. Also, as a programmer, I am interested in analyzing the trend of different programming languages from this data. After that, I compared my results with the statistics collected by the authority to make a deeper explanation.

Query
SELECT
YEAR(cout) AS years,
COUNT(IF(deweyClass >= 000 AND deweyClass < 001, 1, NULL)) AS 'Computer science, information and general works',
COUNT(IF(deweyClass >= 001 AND deweyClass < 002, 1, NULL)) AS 'Knowledge',
COUNT(IF(deweyClass >= 003 AND deweyClass < 004, 1, NULL)) AS 'Systems',
COUNT(IF(deweyClass >= 004 AND deweyClass < 005, 1, NULL)) AS 'Data processing and computer science',
COUNT(IF(deweyClass >= 005 AND deweyClass < 006, 1, NULL)) AS 'Computer programming, programs and data',
COUNT(IF(deweyClass >= 006 AND deweyClass < 007, 1, NULL)) AS 'Special computer methods (e.g. AI, multimedia, VR)'
FROM
spl_2016.outraw
WHERE
deweyClass < 100 AND YEAR(cout) < 2022
GROUP BY YEAR(cout)
ORDER BY YEAR(cout) DESC

SELECT
YEAR(cout) AS years,
COUNT(CASE
WHEN (LOWER(title) LIKE '% c %') THEN
1
END) AS 'C/C++',
COUNT(CASE
WHEN (LOWER(title) LIKE '% sql %') THEN
1
END) AS 'SQL',
COUNT(CASE
WHEN (LOWER(title) LIKE '%python%') THEN
1
END) AS Python,
COUNT(CASE
WHEN (LOWER(title) LIKE '%java %') THEN
1
END) AS Java,
COUNT(CASE
WHEN (LOWER(title) LIKE '%javascript%') THEN
1
END) AS JavaScript,
COUNT(CASE
WHEN (LOWER(title) LIKE '%php%') THEN
1
END) AS PHP,
COUNT(CASE
WHEN (LOWER(title) LIKE '%visual basic%' or LOWER(title) LIKE '% vb %') THEN
1
END) AS VB,
COUNT(CASE
WHEN (LOWER(title) LIKE '%assembly%') THEN
1
END) AS Assembly
FROM
spl_2016.outraw
WHERE
YEAR(cout) < 2022 AND deweyClass >= 005
AND deweyClass < 006
GROUP BY YEAR(cout)

Final result
The first figure shows the fluctuation of checkouts in different fields over years. We can observe the change in the ratio of checkouts from different fields. We can even find the influence of COVID-19 on people’s behaviors. The total amount of checkouts dropped dramatically from 2019. Besides, we can also find that as the most basic field, the checkouts of “Computer programming, programs and data” dropped slowly over years. On the contrary, the checkouts of “Data processing and computer science” become more and more over the years since it is a promising field.



The finds mentioned above can also be illustrated by this barplot, which shows the difference of ratio in 2006 and 2019. (Here we exclude 2020 and 2021 due to COVID-19.)



We can plot the data as follows and compare it with the trend of different programming languages collected by the authority. We can find that fewer and fewer people use VB and Assembly nowadays, so their checkouts drop gradually. As a promising language, Python is used by more and more people in various fields. As a result, the checkouts related to Python experienced a dramatic lift in the last ten years. As to programming languages like Java, JavaScript, and C/C++, their popularity remain similar over the years.




Code
The work is developed with MySQL and Excel.
Books Related to Computer Science and Programming Languages.pdf

3D Visualization for Programming Languages.zip