N
N
NikBait2016-01-31 19:43:55
Java
NikBait, 2016-01-31 19:43:55

What and on what to program at the age of 13?

The situation is this: I am 13 years old, I know at the level of not very complex Java and C # programs (wrote chats, small games). At the level of helloword and calculators, I know Python and C++. Where to move next? Where to stop, what to make your choice? Everything is good with mathematics, English is average. What should I do so that by the age of 16-17 I will be a good programmer and be able to enter a university? Give advice!
PS Do you know if a school certificate is so important? (I'm fine with that :D)

Answer the question

In order to leave comments, you need to log in

7 answer(s)
B
Bogdan Markov, 2016-02-08
@NikBait

It seemed to me that a competent answer had not yet been given. At the age of 13, you want specifics, but here everything is like “study some abstract nonsense,” and it’s not clear what exactly to do for this.
I remember how, at about the same age, I simply did not know where to turn for help, for pushing. Judging by the description, the author is now better savvy in programming than I was at the same age.
So, if I returned at the age of 13, first of all I would participate in all kinds of Olympiads. But these are not olympiads a la Keith or school ones (or what else are there?), which are held once a year, but all kinds of online olympiads that hold competitions every week. This is more than just interesting! And much more diverse than just reading a book on Olympiad programming.
A good site with Olympiad problems in Russian is Codeforces.com. All the most popular languages ​​are allowed for the solution, so with your current knowledge you can immediately join the competition.
In theory, it would be nice to study various data structures and algorithms (yes, here I myself say "learn some abstract nonsense" xD). Unfortunately, I can’t advise anything on this except Niklaus Wirth’s “Data Structures and Algorithms”, and this book was advised to us by a teacher at the university, but I myself never opened it :) But in general, the vector is this: to study all sorts of lists, queues, stacks, matrices (that's if you don't already know about them), the construction of all kinds of trees (to start with binary search trees), it would be cool to get a basic idea of ​​\u200b\u200bgraph theory (which I had never heard of before university). As well as various sorting algorithms, things like the Knuth-Morris-Pratt algorithm and much, much more. If you still get acquainted with graph theory, then there is also a myriad of algorithms.
But advice: do not read out the theory, all the knowledge gained must be applied in practice. Ideal: set yourself some task, for example, writing the same calculator, but not just +, -, *, /, but taking into account large numbers (here you will already have to write a structure that supports very large numbers), with the ability to set variables (you can use associative arrays to store them), taking into account the direct / reverse Polish notation of the expression (find out what kind of records these are and implement them) and with all sorts of other features. Moreover, it is important not to make a mistake: the task should be such that you do not know 100% of its implementation, but you have a vague idea.
And it is very important to deepen your knowledge in mathematics. What is given as mathematics in school is actually worth little. Closer to the senior classes is certainly better, but you can’t compare with the university.
As for entering a university: at the moment (at least two years ago it was like this :D) the USE in computer science is very easy, I think you can open assignments now (you can take them for example on reshuege.ru) and easily solve a big problem. part. So with normal preparation, it is not unbelievable to pass 100 points. Another thing is mathematics - it must be tightened and tightened. But in general: I don’t know how things are in Moscow, St. Petersburg, etc., but here in Krasnodar it was not difficult to enter - it is much more difficult to resist. A lot of new information falls on the student in the first session. But it's too early for you to think about it =)
Well, yes, of course, you also need to know the Russian language: points in Russian also affect admission.
The correct advice was given above to study physics: in many universities for programming specialties, not computer science, but physics is considered as the third exam. And in general, knowledge of physics will not be superfluous in any way.
And of course, there is no way without English either, it is worth trying to read about various programming technologies directly in English - at first it is difficult, but soon it becomes quite easy.
It turned out to be long, but I hope that it is as detailed as possible =)

I
IceJOKER, 2016-01-31
@IceJOKER

Learn to use the search.
Look for promising options and settle on what you like the most
ps topic looks like a show off =\

I
Ilya Bobkov, 2016-01-31
@heksen

in python

B
beduin01, 2016-01-31
@beduin01

dlang.org

S
SerJook, 2016-02-01
@SerJook

artificial intelligence in haskell

D
Dmitry, 2017-07-17
@Dit81

Now it is better to focus on entering the university and study what is needed there ... And only then start what you like more ... technology is changing and it may be necessary to program robots, self-driving cars and AI. And languages ​​are a second matter. Because language is a reflection of the way of thinking and depends on the task at hand!

M
MaxLich, 2017-10-22
@MaxLich

As already mentioned here, you must first finish school well, pass the exam well and enter a good university in your specialty. And it has nothing to do with programming. So it would be good to pump in mathematics and computer science for a start. Well, the Olympiads will be a plus in any case (and for admission, including).
As they say, programmers have two functions - to actually program and get a job. And these two things are not strongly interconnected. What you need to pass interviews is not always needed for the job itself. And vice versa - if you write good programs, but do not know the general theory and subtleties of the language, then you may not "get" to work. That is, you simply will not pass the interview and that's it. There is the same analogy here: it is one thing to do it directly to program, another thing to do everything related in order to actually deal with this programming. And in this case, the attendant is mathematics and computer science at school, passing final exams, entering a university (well, studying at a university, graduating with good grades).
As for the language, I don’t know for sure, but if you study Java, then you can work on android. Usually teenagers and young guys like it (programming for android).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question