Ting Chien Yen
University of Pittsburgh
Department
of Computer Science
When approaching the end of my sophomore year, I heard the Computer Science department had recently joined the Engineer CO-OP education that enabled Computer Science students to have chances to acquire work experiences while we were in school. So, I joined the cooperative education program immediately without a doubt.After a couple weeks, I received an email from Maureen Barcic, CO-OP program director, for an interview opportunity with ABB Power T&D Company at Greensburg, Power Circuit Breaker Division. Then I went to interview with ABB and got myself a CO-OP position at ABB. Although I had to travel 35 miles from Oakland to Greensburg every working day and wake up 6 o?clock in the morning, I still highly recommend the CO-OP education program to anyone who wants to get ahead in the real world!
My first rotation did not involve as much programming as I had thought; however, I was immediately involved in a project, which was to develop a general template formatted in HTML for the Breaker Instruction Books. After a couple weeks of investigation and design for the template, I was asked to present my ideas about the template to the general manager, along with all the managers in the company. At that time, I was frightened, because I had never thought that my work were that important! However, as it turned out, everyone was very pleased with my design and they decided to go with it (I was so proud of myself at that moment). The website for the Breaker Instruction Books was just the beginning step for the company to save money and time. It eliminated paper copies of Instruction Books that were to be sent to customers as well as employees? time spent sending them to customers
During the remaining time of the first rotation, I was involved in updating old and designing new Access databases for Quality Assurance to keep track of all data needed for breaker testing purposes.
During the second rotation, I was involved in a much more fun and challenging project than the first rotation. I was given the responsibility to improve the program in terms of its functionality and efficiency. The project?s main purpose was to reduce and hopefully totally eliminate manual operations of measuring wires? length from actual breakers and cutting wires by hand. Although all the schematic diagrams and drawings were all drawn electronically, the process of cutting wires for breakers was not fully automated. Since all ABB?s engineer diagrams were drawn on MicroStation, a programmable CADD tool that uses C-based programming language, I was able to take-over the job without any problems.
In the process of writing the program, I encountered the problem of calculating the shortest length. I was able to successfully implement the shortest-path problem in a very efficient way because of the class CS1501 Data Structures and Algorithms, taught by Kirk Pruhs. Another class that I also took before my second rotation was CS1555 Database Management Systems. The class enabled me to design well-structure and efficient databases and write powerful SQL codes to retrieve data in the databases.
My final rotation required even more work and responsibility than the previous two rotations.I was given a project to re-write an existing program written in Delphi by using Progress, a 4GL programming environment, that I was totally unfamiliar with.The main purpose of the project was to enable Quality Assurance the ability to create and maintain production test report manuals via a computer-based system that would take advantage of existing systems and information databases.In other words, this eliminated human operations and thus reduced human errors.
Before I actually started to implement, I spent almost two weeks reading books on how to program in the Progress environment. Since the Progress environment was similar to Visual Basic, I was able to pick the concept up quickly. During the conversion process, I also learned how to program in Delphi, because I had to understand Delphi in order to complete the project.
However, during this rotation, I also learned the importance of teamwork and communication skills.I needed to communicate with users repeatedly on how the program worked in terms of user-interfaces and functionalities.
During the three rotations, I did not just enhance my programming skills, but I placed various tools, such as teamwork, communication, and other programming languages, into my tool bag. By joining the CO-OP education, I successfully integrated the knowledge I had learned in class and applied them to the real world. I would strongly recommend the CO-OP education to all students.