Every language begins with a word. Every programming language begins with an English word. All hardware and software documentation, all news from the tech world, video podcasts, and books for coders – are in English. All the major forums and websites, mailing lists, GitHub, and Stack Overflow – are in English. The most serious employers and the most interesting projects – are all in English. If you want to move forward and to improve yourself as a high-qualified specialist – you have no choice: English has to be known. The first and the most important step – is studying the basic words that every developer should know and should be able to explain even if you wake them in the middle of the night.
In this blog post we will point-out a list of computer and mathematical words that should be on your checklist for self-exam. To know these is a real must for any true coder.
Main math concepts:
- Addition, Subtraction, Multiplication, Division.
- Exponentiation, square/nth root, absolute value, modulo operation;
- Fractions and floating point numbers;
- Real, complex, irrational numbers.
Boolean algebra and Bitwise operations:
- Conjunction, disjunction, negation;
- Bitwise operators and bit shifts.
- Binary, octal, decimal, hexadecimal numeral systems.
Object-oriented programming terms:
- Overload, patterns, dependency, dispatch, binding, factory, mutable, inheritance, template.
Requirements of RFC 2119
If you have to study a protocol with the elements that are described in RFC, then you will also need to understand fully the meaning of words such as MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL. The explanation of these keywords can be found in a special document – RFC 2119.
Graphical control elements:
- Button, checkbox, radio button, combo box, slider, list box, spinner, drop-down list, tree view, grid view, balloon, text/input field, toolbar, menu/tab/status/scroll bar, tooltip;
- Window, modal, dialog;
- Header, footer, frame, canvas.
Working with data array:
- Algebra of sets;
- Relational model;
- Dimension, projection, query, set, subset, intersection, subtraction, join, union, order.
Working with networks:
- Accept, reject, source, destination, request, response, upload, download, upstream, downstream;
- Data transmission: connection, socket, routing, bandwidth, frequency, pairing, channel, handshaking, negotiation, peer, transfer, header, overhead, session, encryption, caching, compression.
Basic geometric concepts:
- Point, ray, line. Triangle, parallelogram, pentagon, hexagon, etc.
- Circle. Surfaces. Polygons.
- Trigonometric functions.
Without a doubt, this is not a full list of words that you should know. If you know some words that should be definitely on this list, then you’re welcome to share your thoughts and comments.
Also, if you know most of the listed words above or even if you don’t, you can try to pass this quiz for coders to check your knowledge of English – CrowdTest (10 questions, 2-3 minutes max).
- When Is Too Late to Start Programming? (softheme-blog-2017)