Date of Award


Document Type



Santa Clara : Santa Clara University


Computer Engineering


Any intermediate computer programmer will learn data structures. A data structure stores and organizes in-formation into useful groups in order for a computer program to run as efficiently as possible. Data structures become extremely important when managing large amounts of data, whether it be as simple as managing statistics for a basketball team, or as critical as accounts for online banking. The current way to learn data structures is through classes and online Java applets. In classes, most professors teach by drawing the data structure and editing the information on a board. Data structure tutorial websites mimic this visual way of teaching. No one, single site includes all types of data structures, which can be confusing and inconvenient for programmers. Current websites that teach data structures use Java applets which are obsolete, insecure, and run slowly. Most popular browsers disable Java by default because of these concerns. In order to use Java applets, users first find a site that has the proper data structure. Then, users must enable Java on the page in order to run the applet. When Java is disabled, browsers open a pop-up window informing users of Javas security risks and asking them if they would like to enable Java. Most users are discouraged by pop-ups because they are either unfamiliar with the warning or are concerned with security risks and will navigate away from the page. Finally, because each website is different, a user must adapt to the interface of that particular applet. We will have built a website that provides users with one, single place to find all the data structures they need. Our website includes most of the common data structures and allows users to easily create their own if they are not included. We have developed a pseudocode language, and accompanying compiler, that allows users without advanced web programming backgrounds to create their own data structures. Users describe their data structures in a high level, pseudocode language which is then be translated into code appropriate for the web. Users are able to create data structures in our language and the compiler handles the programming necessary to display that data structure visually. Our site makes use of modern web technologies, such as JavaScript and HTML5, to avoid the downfalls associated with Java applets. The website runs quickly and efficiently on all major Internet browsers to provide a hassle-free and hands-on tutorial for programmers wishing to learn data structures.