You are on page 1of 6

Zheng 1!

Jianwei Zheng

Professor Marie Webb

Linguistics 12, 5p.m.

June 3, 2019

My Experience with Computer Science

No profit grows where is no pleasure ta’en.

—William Shakespeare, “The Taming of the Shrew”

I am a math major student whose real interest is computer science, and I have decided to

double major in computer science when I am a sophomore or junior. When I was nine years old,

my father bought a computer and it was my first time to get in touch with computers. Then I

started to play computer games. I was so keen on playing computer games that I often dreamed

of designing a unique and special game for myself in the future. It was my first time to consider

my future career. The time when I actually decided to learn computer science and planned to be a

programmer was in my high school days. Then in the summer vacation of the eleventh grade, I

started to learn coding and do a project about it.

At the start of my eleventh grade, I joined a group which would attend a competition

called “Odyssey of the Mind.” This was a competition that aimed to cultivate and develop the

creativity of its competitors. The competition included two parts to let competitors to do: quick

answers by associative thinking about a keyword given by the judge and performance with a

robot. The first part needed to be trained for a long time so that you could open your mind and

thought of some creative and unexpected answers. The more creative your answer was, the

higher scores you could gain. The second part was called the long-term task, which should be
Zheng 2!

prepared before the competition because the topic was given long before the competition date.

After participants signed up for the competition, the sponsor of the competition would send a

book which explains all the rules of the long-term task and require participants to make a robot

and perform with it by letting it do some certain actions ruled in the book.

To prepare the long-term task, my team decided to make a robot deer with a pair of

feathery wings. The team had seven members. I were designated to make the whole robot

including frame, wings, decorations and so on with the other four members. The remaining two

were responsible for writing code for the robot to operate. I took charge of making wings and

connected them onto the body of a robot deer. After finishing my work, I went to observe the

other groupmates’ process of coding and to see whether I could do them a favor. When I arrived

at the place where they worked, I heard that they were arguing about one piece of code. Shen,

one of my team members, expressed his idea, “I think this place should use the loop to drive the

robot to flap wings continually.” Shi, the other member refuted, “No, I think this should use ‘if’

to trigger it to wave wings. Flapping wings repeatedly is a waste of electricity and it may

influence the performance.” It was probably because I hadn’t learned computer science before

that I couldn’t understand them and didn’t know the meanings of the terminologies they said. To

satisfy my curiosity, I asked them to explain to me. However, I still couldn’t understand the

theory they explained. I had no choice but to stand on the side and watch them writing codes and

couldn’t give them any help. I felt very depressed. But this also stimulated my competitive mind

and drove me to make the decision to learn how to program.

I was not able to learn coding until the summer vacation came because I was busy with

preparing the applications for universities. In that summer, I participated in a class to conduct the
Zheng 3!

Speech Recognition Code Project. My teacher, Xulong Zhang, was a graduate student who was

majoring in computer science. He often emphasized that two important factors of learning

computer science are creativity and independent learning. In the first two classes, Zhang taught

me programming languages and keypad functionality. Shortly afterward I was required to create

programs to automate performing a specific task assigned by the teacher. It was difficult for me,

a beginner, to write codes with facility; however, my experiences with innovative programs such

as “Odyssey of the Mind” had brought me enough patience and independence. I was able to

make flexible use of algorithms and write codes in targeting programming languages because of

being good at generating and analyzing algorithms.

After teaching me all the basic skills, Mr. Zhang required me to write a code that

calculates the number of days between two input dates at the third lesson. At first, I hesitated

whether I could fulfill this task, so I asked Mr. Zhang, “This procedure must include a large

number of variables, such as leap years and non-leap years, 31-day months and 30-day months. I

am just a beginner. Can I write such a difficult program?” Mr. Zhang answered with a smile,

“Sure. You are so clever that you have realized its difficulties. The basic skills are enough to

design this piece of procedure. It would be time- consuming to discuss different possibilities

indeed, but I believe that you will succeed. Just think over those variables and try your best!” His

words and smile were as warm as sunshine and give me the confidence to overcome this difficult

task. After a long period of time of thinking and trying, I found a solution: I set a standard date

such as January 1st, 2000 and calculated the differences between it and two input dates. Finally, I

got the answer by subtracting or adding the two differences based on whether the input dates

were before or after the standard date. However, Mr. Zhang taught me an easier way: set a
Zheng 4!

function to calculate the number of days of every year then accumulate days from the first year

of the calendar to the input dates and finally get the answer by subtracting two days. After the

class was over, I tried to use his method and found it indeed much easier than mine. By using

Zhang’s idea, I only needed to write three hundred lines of code. In contrast to it, my method

needed at least eight hundred lines. What a shame! This large difference taught me that

procedure has various ways to achieve and innovativeness and creativity are important to write

codes.

As I became familiar with coding, I frequently encountered bugs when I tried to run a

program which I just completed. It was very difficult to find those tiny errors and correct them in

programming, especially for beginners like me. At first, the classroom was full of my complaints

and questions. I frequently asked Mr. Zhang, “What’s the matter of this program? Where does it

go wrong? Why can’t this procedure run again?” As long as I countered a bug, I would ask Mr.

Zhang to help me debug, and this had almost become a conditioned reflex. However, Mr. Zhang

started to notice that I seemed overly dependent on him. So he criticized me seriously and said,

“Jianwei, actually you can ask me to help you debug in this class, but I can’t help you in your

whole lifetime. After you finish this class and continue to learn something more deeply, you must

learn how to debug on your own. Look! I will show you my method of debugging. Remember it

and try to imitate it.” He guided me to understand the reason why the computer couldn’t operate

a specific line of code which is shown at the bottom of the code writer and then went to google

it. After his demonstration, he required me to take a try because self-learning and self-revising

could leave a deep impression and remind me of not making the same mistake in the future. After

several times of demonstration, I had gotten used to googling similar questions online, filtering
Zheng 5!

helpful information, studying what others had done to solve problems and applying their

approaches to my code. This process not only enhanced my understanding of correcting codes

but also furthered my passion for independent study.

After finishing this project, I became fascinated by coding. This is because I have learned

so much from this project and I can also discover and use the knowledge what I have learned in

the future. The class only lasted a month, but Mr. Zhang taught me not only how to write codes

but also having a creative mind and independent learning, which benefits me a great deal in my

college life. For instance, I usually self-study scientific subjects like maths and physics before

the lecture and create my way to understand materials and solve problems after the lecture. As a

result, I find it easy to learn those subjects and I gained A+ in maths and physics in the last two

quarters.

Mr. Zhang is an excellent teacher, and I want to say some words to him in this narrative:

Your patience and ingenious instruction help me build a strong base for my future learning. It is

my honor and luck to meet such a great teacher like you. Thank you for your teaching!
Zheng 6!

Works Cited

Shakespeare, William, and Enzo Giachino. The Taming of the Shrew. Garzanti, 1980.

You might also like