Need help with CSrankings?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

emeryberger
1.5K Stars 1.4K Forks Other 8.2K Commits 256 Opened issues

Description

A web app for ranking computer science departments according to their research output in selective venues, and for finding active faculty across a wide range of areas.

Services available

!
?

Need anything else?

Contributors list

# 16,221
HTML
Shell
malloc
confere...
3427 commits
# 195,507
Shell
confere...
CSS
HTML
76 commits
# 200,394
Shell
ml
confere...
C
58 commits
# 240,215
Shell
confere...
CSS
HTML
43 commits
# 248,419
Shell
confere...
CSS
HTML
39 commits
# 250,614
Shell
confere...
CSS
HTML
38 commits
# 269,831
Shell
confere...
CSS
HTML
30 commits
# 290,223
Shell
confere...
CSS
HTML
24 commits
# 137,836
The Jul...
Shell
R
confere...
22 commits
# 302,711
LLVM
C++
C
Shell
19 commits
# 316,175
Shell
confere...
CSS
HTML
18 commits
# 289,938
Shell
confere...
CSS
HTML
17 commits
# 94,172
C
Shell
Jupyter...
confere...
17 commits
# 327,082
Shell
confere...
CSS
HTML
16 commits
# 197,947
HTML
CSS
dropout
densene...
15 commits
# 346,164
Shell
confere...
CSS
HTML
13 commits
# 427,869
Shell
confere...
CSS
HTML
12 commits
# 350,132
Shell
confere...
CSS
HTML
12 commits
# 352,325
Shell
confere...
CSS
HTML
12 commits
# 352,983
Shell
confere...
CSS
HTML
12 commits

Computer Science Rankings

This ranking of top computer science schools is designed to identify institutions and faculty actively engaged in research across a number of areas of computer science. Unlike US News and World Report's approach, which is exclusively based on surveys, this ranking is entirely metrics-based. It measures the number of publications by faculty that have appeared at the most selective conferences in each area of computer science.

This approach is intended to be difficult to game, since publishing in such conferences is generally difficult: contrast this with other approaches like citation-based metrics, which have been repeatedly shown to be easy to manipulate. That said, incorporating citations in some form is a long-term goal.

See the FAQ for more details.


This repository contains all code and data used to build the computer science rankings website, hosted here: http://csrankings.org

Adding or modifying affiliations

You can now edit files directly in GitHub to create pull requests. All data is in the files

csrankings-[0-9].csv
, with authors listed in alphabetical order by their first name. Please read
CONTRIBUTING.md
for full details on how to contribute.

Trying it out at home

Because of GitHub size limits, to run this site, you will want to download the DBLP data by running

make update-dblp
(note that this will consume upwards of 19GiB of memory). To then rebuild the databases, just run
make
. You can test it by running a local web server (e.g.,
python3 -m http.server
) and then connecting to http://0.0.0.0:8000.

You will also need to install libxml2-utils (or whatever package includes xmllint on your distro), npm, typescript, closure-compiler, python-lxml, pypy, and basex via a command line like:

apt-get install libxml2-utils npm python-lxml basex; npm install -g typescript google-closure-compiler

Quick contribution via a shallow clone

A full clone of the CSrankings repository is almost 2GB, and the

csrankings.csv
file is too large to edit via the GitHub web site. To contribute a change without creating a full local clone of the CSrankings repo, you can do a shallow clone. To do so, follow these steps:
  1. Fork the CSrankings repo. If you have an existing fork, but it is not up to date with the main repository, this technique may not work. If necessary, delete and re-create your fork to get it up to date. (Do not delete your existing fork if it has unmerged changes you want to preserve!)
  2. Do a shallow clone of your fork:
    git clone --depth 1
    https://github.com/yourusername/CSrankings
    . This will only download the most recent commit, not the full git history.
  3. Make your changes on a branch, push them to your clone, and create a pull request on GitHub as usual.

If you want to make another contribution and some time has passed, perform steps 1-3 again, creating a fresh fork and shallow clone.

Acknowledgements and other rankings

This site was developed primarily by and is maintained by Emery Berger. It incorporates extensive feedback from too many folks to mention here, including many contributors who have helped to add and maintain faculty affiliations, home pages, and so on.

This site was initially based on code and data collected by Swarat Chaudhuri (Rice University), though it has evolved considerably since its inception. The original faculty affiliation dataset was constructed by Papoutsaki et al.; since then, it has been extensively cleaned and updated by numerous contributors. A previous ranking also used DBLP and Brown's dataset for ranking theoretical computer science.

This site uses information from DBLP.org which is made available under the ODC Attribution License.

License

CSRankings is covered by the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.