Penguin's blog

By Penguin, history, 8 years ago, In English

Hello Codeforces! :)

Today, I'm gonna ask about how to increase typing speed.
I began to increase my typing speed one year ago. When I began, my typing speed was 20 WPM (words per minute).
Now my typing speed is 50 WPM. I think typing skill is important in contests. Because, in every minute points for problems decreases. I am increasing my typing speed in this website. Some people in standings stand before others, because of typing speed. And I am interested in Grandmaster's typing speed. If you type fast, can you give some advices about fast-typing?

  • Vote: I like it
  • +42
  • Vote: I do not like it

»
8 years ago, # |
  Vote: I like it +5 Vote: I do not like it

The best advice is to keep practising.

Well, I began with ~50 WPM, then I just wrote races in my free time.

Here is my typeracer account:

P.S. My friend IKindmanI completed ~1000 races.

»
8 years ago, # |
Rev. 2   Vote: I like it +59 Vote: I do not like it

Two years ago I started typing with 10 fingers and it was crucial for my typing speed. If you don't use all fingers then search for some downloadable programs with lessons (e.g. one lesson for each finger). It takes maybe a month or two to learn to type as fast as before (with "duck typing"). Then you can only be faster.

I used the same website and also http://10fastfingers.com/ (879 tests taken, average 92WPM, max 104WPM) with common English words. And one can practise programming typing on https://typing.io.

And btw. it's not really important to type very fast. I wouldn't be noticeably better in contests with typing two times faster. Because we don't use random words — we must think what to code. I heard about meret winning some competition with one hand only because the other arm was broken.

  • »
    »
    8 years ago, # ^ |
    Rev. 2   Vote: I like it +11 Vote: I do not like it

    Did you notice that 10 fingers typing method actually uses 9 fingers? :D

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      LOL, I didn't know. Though in Polish I use right-alt-key so I need 10 fingers.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      10 fingers typing does use 10 fingers. If you type a character by left hand, and the next character is space, then you press a space by right thumb (thus, alternating).

      Here how I typed the sentence above:

      10 (lt: left thumb)fingers (rt: right thumb)typing (rt)does (rt)use (rt)10 (lt)fingers. (lt)If (rt)you (lt)type (rt)a (rt)character (rt)by (lt)left (rt)hand, (lt)and (rt)the (rt)next (rt)character (rt)is (rt)space, (lt)then (lt)you (lt)press (rt)a (rt)space (rt)by (lt)right (rt)thumb (rt)(thus, (lt)alternating).

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +15 Vote: I do not like it

    And btw. it's not really important to type very fast. I wouldn't be noticeably better in contests with typing two times faster. Because we don't use random words — we must think what to code.

    While speed is not the most important factor, it's very important that you're able to type comfortable. Ideally, typing won't require any concentration, so that you'll able to focus more on not making any bugs and/or designing your code.

    Since typing comfortable is essentially the same thing as having good muscle memory, and we know that muscle memory is not always strictly correlated with other intellectual skills, it's clear that there will be a few competitive programmers for which weak typing will be a major obstacle.

    Lastly, this whole "typing thing" is even more important during non-classic contests where usually most of your tasks can be thought out during the typing. Refactoring, adding visualization, tweaking constants, optimizing code are all not very demanding tasks.

»
8 years ago, # |
  Vote: I like it +12 Vote: I do not like it

First thing is technique; you should know which finger is for which key.
Next is to practise these techniques as much as possible.

I, too, practise on play.typeracer.com(avg: 97 wpm, highest: 127 wpm). image

Personally I think if your speed is above 40-50 wpm, you need not worry much about how you loose time typing in programming contests. If you formalise before typing, I think there will be a minor difference in time taken to type the whole code.

»
8 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it
  1. I think you don't need to worry about typing speed unless you are really typing too slow or making too many mistakes.

  2. As mentioned above, we are not following an article but solving a problem. In my opinion, on codeforces, rushing some A, B problems would help more. For myself, I'm going to write a generator and some templates to accelerate.

  3. Have you heard of MinakoKojima who uses a lot of macros and templates and maybe is a good reference on improving coding speed?

»
8 years ago, # |
Rev. 2   Vote: I like it +1 Vote: I do not like it

I agree that typing speed is very important in competitions, specially when solving the easier problems. It will give you extra points and also extra minutes to think the remaining problems.

The most important thing is finger placement. Learn how to place your hands correctly and use appropriate fingers for each key. Once you master that, all that remains is practice I believe.

I increased my typing speed from around 60 WPM to over 100 WPM when I started using all my fingers and pressing the space bar with my thumb (I used to press it with my index finger before). That was more than 10 years ago, and right now, I can type as fast as 140 WPM in English and over 150 WPM in Spanish. I didn't take any typing lessons whatsoever, I just practiced a lot (I have over 1000 completed races on TypeRacer).

»
8 years ago, # |
  Vote: I like it +11 Vote: I do not like it

In my opinion, coding speed matters while coding easy problems or remembered algorithms. In other cases, speed doesn't play an such an important role.

To achieve the highest speed, you should start using 10 fingers method and practice a lot. Personally, I have always been typing with only 6 fingers.

I have over 900 races in typeracer, and my average is 93 WPM (best race 122 WPM). I think it's my peak and I can't achieve more without learning 10-fingers technique.

Start learning 10 fingers method and keep practising.

»
8 years ago, # |
  Vote: I like it +3 Vote: I do not like it
Before I started competitive programming (1 year ago) my typing speed was around 50 WPM. Now after lots of coding my typing speed increased to about 80 WPM.

I don't think that the typing speed is much important unless you're in Div. 2 coding the first or second problem. Focus on solving more problems and your typing speed will automatically increase.

»
8 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Does anyone here use the Dvorak Keyboard? :)

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I did. I reached 150 wpm on 10fastfingers but then came back to qwerty and now I'm using Colemak xD

»
8 years ago, # |
  Vote: I like it +21 Vote: I do not like it

I have been playing the piano for many years, so typing kinda came naturally to me :P

but other than that, which is investing time into learning various musical instruments, as others said, practice on an actual keyboard is important.

I remember the first word I learned to type fast was "fishing". Not only do I enjoy fishing as an outdoors activity, it's also sooooo pleasurable to type on a QUERTY keyboard!

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I also play the piano and in my opinion it has NOTHING to do with typing speed.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I didn't say there is a direct connection between playing the piano and typing fast on a keyboard. However the training process itself, which has a lot to do with controlling your fingers, can only help.