Answer the question
In order to leave comments, you need to log in
How to learn AP on your own?
Good afternoon to all habrazhiteley! I am an applicant and passed all the exams. And since it is already July and I have nothing special to do, I would like to study some kind of PL, so to speak, “for the soul”.
Due to the fact that I know C and C++ a little, because at school we had a special course in preparation for the olympiads, where we were given algorithms in conjunction with the C syntax as well as a bit of OOP (although it was not very useful at the olympiads), then my choice fell on the python language. I downloaded one very good book on this PL called "Python Programming Language" (G.Rossum, F.L.J.Drake, D.S.Otkidach).
And now the question is: how do I conduct self-study?
Let me explain what I mean: when I had a teacher, he gave, well, somewhere 50% of the material in class + he gave the rest home according to his own notes. At home, I only studied what he gave and sometimes used the site: www.cplusplus.com . Later, we practiced all this on algorithms and small tests, which were also given by our teacher.
But when I sat down to read the book myself, after studying 40 pages a day and doing one or two tasks, I didn’t really remember it the next day and I had to re-read a lot. I don't think this is very efficient.
That's why I had a question: how to do it right for the most effective result? What do we have to do? Should I get myself a notebook and take notes? What tasks do you recommend? What "chips" were used in training?
Answer the question
In order to leave comments, you need to log in
Start doing some project, preferably with maximum coverage of areas. It doesn't matter if he brings you money or something else. The main thing is to be interesting. But along the way, periodically read individual chapters from the book.
Learning by doing is the most effective.
The basic syntax of the language can be mastered in half a day. The book gives an outlook in the language - an understanding of where to look for this or that functionality. Therefore, memorizing the content and doing exercises, in my opinion, is not necessary.
I advise you to come up with a problem and solve it in the target language. Examples of small size - numerical evaluation of the integral, implement a data structure that is not in the standard library. With such a task, you can start to warm up.
More voluminous - AI for competitions like Robocode or aichallenge.org/ . If you are interested in a certain area, such as graphics or linguistics, it makes sense to do a project in this area.
The main thing is that the task is interesting in itself. Then there will be additional motivation to learn the language. Further, it’s simple: in the process of solving a problem, you encounter difficulties, you climb into a book from memory, or the standard library documentation, or on SO, or on Google, as a result, you overcome difficulties and quickly upgrade your skill.
As they wrote somewhere here - make some project for your hobby. Win-win option.
Learn code the hard way is a good start, and, of course, practice: come up with some small project (or clone an existing one - twitter/formspring etc.) - and implement it.
Find or come up with a project for yourself to perform real tasks.
For me, writing a web version of home accounting has become such a thing, thanks to this I have advanced quite a lot in C#, Asp.Net, Html, jquery, Linq, Ms Sql.
In addition to the above, do not forget to go to github and dig into libs and projects there to see how others are doing.
In my opinion, the biggest problem in learning a language is not learning the syntax, the standard library, but "best practices".
That is why you need to view and work with someone else's code.
There are a lot of courses on udacity that use python as the programming language to complete the assignments. For example:
Introduction to Computer Science
Introduction to Theoretical Computer Science
Design of Computer Programs
Algorithms
The correct result can be obtained only when there is a goal.
It is also desirable to understand why you are doing this. Further, an increased level of motivation and enthusiasm will answer all your questions and make the learning process as efficient as possible ... this is how our brain works.) If there is no clear understanding - “why is this all”, then any advice given to you goes to the trash can. If the python is interesting - yu and wellcome , you can cling to an existing project and learn by doing.
Thank you all for the great advice and help in the form of specific links! I’ll go something like this: first I’ll spend a little time on the syntax itself and other basics of the language, and then I’ll immediately take up some project, and possibly even what the user advised above.
Indeed, without practice you won’t remember much and you won’t learn anything.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question