My WPI internship started at the beginning of July and ended in the late August. Interned students worked together with a Graduate Student, Venkatesh Raghavan, for forty hours weekly. From the summer K-12 internship at the Computer Science Department in the Fuller Laboratory, I learned much useful and pertinent knowledge related to database science and Java programming. This wonderful and memorable internship covers assignments including reading relevant books and online tutorials, which covered concepts on Sequence Query Language (SQL), Java Server Pages (JSP), Unix Commands, and Website Designs, to carry out a project that creates a User Interface to display all publications accomplished by the Database System Research Group of the Computer Science Department at WPI. The software used to create this project includes NetBeans 5.0 IDE, Eclipse 3.2, and MySQL 5.0.45.

      Below are the detailed weekly summaries that show the tasks I have accomplished during this internship. 

Week 1 (July 1 – July 7)

      During the first week, I read Oracle 8i, Oracle 9i to be familiar with basic concepts of relational database and its pertinent terminology, such as primary key, foreign key, constraint, relational schemes, nested tables, and triggers; moreover, I read A Guide to LATEX to help me understand how bibliographies of different papers are organized in BIBTEX. After the reading assignments, I was assigned to design a project proposal, DSRG Publication Library, related to tabular designs for WPI DSRG publications.  

Week 2 (July 8 – July 14)

      This week, I read the SQL 101 in the Oracle 8i and learned how to use different SQL commands to create databases and tables, describe tables, and select, alter, delete, or update components within the existing tables. In the middle of this week, I switched my focus to learn Java Server Page in JSP 2.0. This book covered the complete reference on JSP. I learned the basic Web Programming Environments, including the background of website development, overview of Hypertext Transfer Protocol (HTTP), and introduction to servlets. Then, I concentrated to the JSP syntaxes and its basic components. Soon, I was assigned to design a User Interface that allows various users to login, add, update, delete and view different publications from the WPI DSRG databases. I created several .jsp files in NetBeans software to create the outlooks of the User Interface.  

Week 3 (July 15 – July 21)

      During this week, I started downloading and using the software, MySQL version 5.0.45. This free-downloaded software provided its version manual, which I used to instruct myself how to use MySQL conjointly with my pervious knowledge of SQL commands to create tables for the DSRG publications. I was assigned soon to write all codes for table designs and saved them into text pads for future uses. At this point, I start to organize the DSRG reference pages (years 2007-1989) in excel spreadsheets. These tasks include sorting authors, different types of publications, and searched online for different links of the annual conferences, workshop and competitions.  

Week 4 (July 22 – July 28)

      This week, I finished organizing the DSRG publications in excel spreadsheets and saving codes for the creation of tables in MySQL. I start learning the concepts of Triggers and Auto_Increment commands related MySQL syntaxes to create triggers to be used for assigned tables. I also updated the project proposal to version 1.2, where I added some more terminology (Trigger) and two more tables Venky suggested earlier. In addition, I have identified the tables that require AUTO_INCREMENT commands for their serial numbers. Then, I was assigned to start learning the concepts and syntaxes of JDBC (Java Database Connectivity), which I can use soon to connect the Java programs with the MySQL databases.  

Week 5 (July 29 – August 4)

      During this week, I start learning the Unix Commands including cd, ls, chmod and so on. Moreover, I the MySQL connector/J’s manual and learned how the MySQL connector/J can connect Java and databases conjointly. Then, I started to create the database, dsrgatwpi, in MySQL to store all the syntaxes I have written for table designs and DSRG publications. I also updated some already existed tables and created several new tables as I was assigned to do so.

All the completed coding files in text pads are sent to Venky for final checks.  

Week 6 (August 5 – August 11)

      This week, I organized all the tables I have created using MySQL syntaxes. I completed the inserting work of all the DSRG publications, except the project sections due to the unavailability of the links. Also, I was assigned to assist Kwame, another interning student at DSRG lab, to generate keys for the DSRG BIBTEX Data Entry site using javascript in HTML files. In addition, we both worked on formatting the BIBTEX entries in the Dynamic HTML page.  

Week 7 (August 12– August 18)    

During this week, I worked with Kwame to generate the Bibtex Key; with Venky’s assistance, we finally generate it. Later, I edited each Bibtex Entry file’s publication types and added documentations (comments) to the Javascript functions we used to generate the BIBTEX key. Those comments assist users and learners’ understanding of how all the Javascript codes work in those files. Furthermore, I searched online Javascript Tutorial for creating the auto-year slide down box. I change the coding a bit to make the years appear in the descending order. Moreover, Kwame and I worked on the Generate Button, which checks whether all the required fields are being filled on the BIBTEX page and generate the BIBTEX entry. Afterward, I worked on the Bibtex Page Tutorial, which teaches users how to use the page to generate Bibtex Entry. When the MySQL system is permitted and available, I should start implementing all queries into the MySQL database. When the project links are accessible, I should start working on the publication_project table and the