Maybe different lists can be prepared for different career tracks. The items enumerated in the main article obviously has a Web development feel to it. For perhaps another track, I feel that the following tasks, actually performed by someone, can be re-formed into a similar list.
* modifying the Linux implementation of strace to implement system call interposition for CDE
* modifying the official C implementation of the Python interpreter to create IncPy and SlopPy
* prototyping Python interpreter extensions by hacking on PyPy, a Python interpreter (written in Python!)
* enhancing Klee, an automated test generation and bug-finding tool based on the LLVM compiler infrastructure (written in C++)
* performing quantitative data analysis using SQLite for data storage and retrieval, Python for ad-hoc data munging, and the R project for statistics
* creating lightweight interactive data visualizations using HTML and JavaScript with jQuery
* writing lots of Python scripts to automate routine tasks and to administer computational experiments
* writing a custom memory allocator for C programs
* creating dynamic program analysis tools in C using the Valgrind code instrumentation framework
* building components of a software simulator for semiconductor tester hardware using C++ within the Microsoft Visual Studio IDE
* creating an interactive image filtering application in C++ using OpenGL and GLU for image rendering and Qt toolkit for GUI.
* building graphical applications for Palm OS handheld devices in C using the Metrowerks CodeWarrior IDE
* writing a GUI for a handwriting recognition application in C++ using the Qt GUI toolkit
Programming, and indeed all of computer science, is a very mixed bag!
* modifying the Linux implementation of strace to implement system call interposition for CDE
* modifying the official C implementation of the Python interpreter to create IncPy and SlopPy
* prototyping Python interpreter extensions by hacking on PyPy, a Python interpreter (written in Python!)
* enhancing Klee, an automated test generation and bug-finding tool based on the LLVM compiler infrastructure (written in C++)
* performing quantitative data analysis using SQLite for data storage and retrieval, Python for ad-hoc data munging, and the R project for statistics
* creating lightweight interactive data visualizations using HTML and JavaScript with jQuery
* writing lots of Python scripts to automate routine tasks and to administer computational experiments
* writing a custom memory allocator for C programs
* creating dynamic program analysis tools in C using the Valgrind code instrumentation framework
* building components of a software simulator for semiconductor tester hardware using C++ within the Microsoft Visual Studio IDE
* creating an interactive image filtering application in C++ using OpenGL and GLU for image rendering and Qt toolkit for GUI.
* building graphical applications for Palm OS handheld devices in C using the Metrowerks CodeWarrior IDE
* writing a GUI for a handwriting recognition application in C++ using the Qt GUI toolkit
Programming, and indeed all of computer science, is a very mixed bag!
Source: http://www.stanford.edu/~pgbovine/academic.htm