Ken Pu, PhD
Associate Professor
Computer Science
Faculty of Science
Computer Science
Faculty of Science
Increasing accessibility of open data to improve Internet transparency and accountability
Full biography
The Internet is inundated by a constant stream of information from the government, business, industry, and largely, the media. Public perception is essentially based on the knowledge and views released via these channels. However, a vast quantity of data is readily available for public consumption, and datasets are easily accessible in their raw forms. Yet, in most cases, the schema of the data sets is either, missing, incomplete or inaccurate, leaving much of the world’s open data on the cutting room floor. Intrigued by society’s trust in the online platform, Ken Pu, Ph.D., Associate Professor of Computer Science, in the Faculty of Science, is investigating ways to sift through this vast information and develop technology to enable users to explore and better understand the open data world. Greater accessibility to open data would allow consumers to formulate their own expert opinions about news and events shaping the nations, without relying on a summary from news media and other outlets. Significant value, as well as latent concerns about how the world operates, is buried in anonymity. Dr. Pu’s latest research aims to map open data at the federal level in Canada, the U.S. and Great Britain to improve society's understanding of how all levels of government operate. The goal is to enable citizens to form their own opinion, to be more aware of and to feel more comfortable with how the government is performing to ensure greater accountability. In the Software Quality Research Lab, Dr. Pu is looking at ways to humanize open data and give users more control over it. He aims to build an online roadmap for mobile users to be able to source open data in a very pervasive way using touch screen and voice recognition. He is also focused on expanding data processing on mobile devices, with the goal of enabling open data exploration without relying on the need for traditional computer hardware. Before joining as an Assistant Professor in 2006, Dr. Pu worked in Silicon Valley for two years as a Software Engineer with IBM. In 2011, he was appointed Associate Professor, and in 2013 he took on a two-year term as Undergraduate Program Director in Computer Science. Dr. Pu completed his Bachelor of Applied Science in Engineering Science, his Master of Applied Science in Electrical and Computer Engineering, and his Doctorate in Computer Science all at the University of Toronto. Ontario Tech University
Areas of expertise
Courses
- CSCI 2000UScientific Data AnalysisThe principal goal of this course is to build computational skills required for analyzing scientific data in a variety of data formats (e.g. CSV, text, binary, sound, image, etc.). Topics include: automation of data analysis tasks using command-line user interfaces (e.g., the Unix shell); managing code and data using a version control system; modular programming for scientific data analysis; debugging and testing scientific software; plotting data (i.e., two- and three-dimensional graphics).
- CSCI 3055UProgramming LanguagesThis course is a survey of different types of programming languages and an introduction to the formal study of programming languages. This course provides the student with a deeper understanding of programming languages and the basis for choosing the right language for the job. Topics covered include procedural programming languages, functional programming languages, logic based languages, scripting languages, programming language semantics and the implementation of programming languages.
- CSCI 4020UCompilersThis course provides a detailed study of the compilation process for a procedural language. Students will develop an understanding of compiler design and put these principles into practice through the construction of a fully functioning compiler for a small procedural language using widely available tools for compiler construction and a general-purpose programming language.