|
范文:计算机专业攻读硕士
|
PERSONAL STATEMENT
A fourth-year student grounded solidly in the basics of computer
science, I am writing in pursuit of graduate studies that I hope can
help me acquire cutting-edge expertise in software programming in
general and parallel processing in particular.
Intrigued by the power of the computer since high school, I have been
trying to stay on top of the computer science by concentrating my
undergraduate studies on those subjects that underpin the discipline,
particularly mathematics and electronics. To build up my solid
knowledge in these subjects, I have taken virtually all the related
courses that the university has had to offer. These courses include
Algorithm & Data Structure, Mathematical Modeling, Network Theory,
Digital Circuit, Discrete Mathematics, and Electric Circuit. With a
sophisticated understanding in these areas, I have been well
positioned to appreciate the basic theories of computer science and
their applications to software development.
Aided by the firm command of the basics, I have found it not only easy
but also exciting to study the various subjects covered by my major.
As most of my classmates, I took a variety of courses ranging from AI
to Computer Network, from AI Programming to Knowledge Engineering,
from Pattern Recognition to Software Engineering, and from Database
Design to Programming Language Design. But I distinguished myself by
my academic record, which places me as one of the very top students in
my class. My grades in these course never went below A or B. I have
also stood out as one of the few who have taught themselves Real Time
System and Computer Graphics.
Armed with sound training in the basic theories and applied
technologies, I have been able to move on into deeper and wider areas
of computer science. Early in my university life, I began to
understand that the modern computer's base, the Turing machine, was
reaching its limits in AI. Gradually, I have narrowed down my research
interest to parallel & distributive computing, which I understand
can significantly boost the performance of personal computers by
giving them some of the functions of mainframe computers.
Of all the areas of computer science, parallel processing fascinates
me the most. The term first came to me when I read the book Computer
Organization & Design: the Hardware/Software Interface as part of
my Computer Architecture course. By teaching me how the performance of
computers can be improved through pipelining and parallel processing,
the book reshaped my thinking in computer science.
My lab experience deepened my understanding of parallel processing. In
my third year, I worked on a GIFT project with Dr. Komatsu, chief
researcher of IBM Tokyo Research Laboratory and Dr. Koseki, one of Dr.
Komatsu's colleagues. The project was to introduce the architecture
supports that can allow compilers to derive more parallelism from
programs. These architecture supports include three designs, a
conditional execution mechanism to execute instructions without normal
conditional jump instructions, speculative execution mechanism, and a
dynamic memory disambiguation mechanism to execute memory access
instructions simultaneously.
As undergraduate students seldom get to be involved in actual
research, I took full advantage of the opportunity of working in the
lab. I particularly enjoyed the seminars held twice a week as part of
the lab work. At these seminars, I engaged in in-depth discussions
with Master's students under Dr. Komatsu's seasoned guidance. The lab
experience is adding weight and insights to my graduation paper An
Improvement of Software pipelining using Loop Transformations. In this
paper, I will introduce a translation algorithm using loop interchange
and loop skewing. This algorithm can minimize the initiation interval
of loop nest to improve the performance of software pipelining.
Through my lab experience and other research, I have developed a
long-term professional objective: the advancement of the parallel
processing technology. While I have strong faith in this technology, I
also know its limitations as it is today. Some sequential algorithms
can't be easily translated into fast parallel algorithms and most
compilers can only distribute works on one platform. Another unsettled
problem is that programming parallel computers is now still a manual
work. But even the modern language (like Java, C++) can do some
automatic translation work. If a compiler can be developed to
translate and distribute work into different platforms, personal
computers will be able to work like mainframe computers at a fraction
of the mainframes' costs. This will make it possible to connect all
the computers in the world and speed up all the processes.
To help take the parallel processing technology beyond what is capable
of today, I have to undertake more advanced studies. This, I believe,
can only be accomplished in a quality graduate program like yours. I
plan to pursue a master's degree with a concentration on paralleling
and distributing compilers, operating systems or computer networks, a
combination thereof. With the training that goes into such an advanced
degree, I think I will be able to take great strides towards
fulfilling my professional objective. When I do, I think I will be
standing on the cutting-edge of the computer science.
|
|