Answer the question
In order to leave comments, you need to log in
Learn programming from scratch?
Hello!
First, let me tell you a little about myself.
I am 19 years old, I study at the Faculty of Psychology, I work as a freelance interface designer, I have been actively interested in programming for the last 5-7 months. Here is such a motley person)
I live in Tolyatti, we don’t have normal technical universities, only in Samara the closest ones. I study on the budget, 2 course. There is a probable opportunity to transfer to another university for a technical specialty with the loss of the course, but it is unlikely that it will be possible on a budgetary basis.
Now, actually, to the questions. Is it really possible to learn programming yourself? Or is it necessary to study at the university for this? If you can do it yourself, then what kind of literature would you recommend reading in order to understand the basics and form the foundation? And if it is still better at the university, then is the correspondence education of full-time education much worse?
Answer the question
In order to leave comments, you need to log in
read the previous speakers - most of the techies and their point of view is very clear and understandable.
But, the guy clearly indicated that he is not a techie, because he is engaged in design. Although I worked as a programmer and studied as a developer, I also graduated as an artist myself and worked as a designer student. We, people of art, are not humanitarians and not techies, therefore both of these areas are given to us equally easily and hard at the same time.
If I were you, I would first ask myself:
“Do you want to 'see' what you create, or do you really like to understand and solve mathematical problems?”
1) If you "see", then in your case html + CSS + javascript + your design = the best option. As an alternative - silverlight sites or finally flash. Be a user interfaces expert. By the way, they also get paid well.
2) If you like solving puzzles (and over time I began to notice that I solve them even in everyday life), problems in physics or algebra or geometry (or because a lot can depend on the teacher) at school and these subjects were + you understand them, then you can try to program.
I’ll add to myself: they didn’t even teach me how to write code at the university (but the algorithms were compiled and described in a clear language), I had to carpet myself. I advise you to take the book by J. Liberty "C ++ in 21 days" (you can read it for much longer) and read it. There everything will be very chewed and clearly written.
But, of course, it is possible to program without a technical education, but it will be very difficult to train and train your hand. At interviews, juniors are driven by 3 things:
1) OOP. Basics. Know by heart (everything is very clearly described in the book I cited with examples)
2) The language itself in which you want to write. Syntax + main libraries (strings, numbers, dates, perhaps everything to start with)
3) SQL queries and basic database theory.
As for languages, here you can breed a bunch of disputes and holivars, but there are 2 types of them in syntax: C ++ similar and all the rest (when you already know 1 language, then the syntax ceases to be important, at first it is only important).
С++: С++, JAVA, C#, Javascrtipt, actionscript, php, etc.
non-С++: Pascal, Python, Basic, Prolog, etc… there is a lot to do here.
I would recommend that you start learning C++ (and then switch to C# or Java). Learning any language from 0 will be equally difficult and then easier and easier, so do not listen to those who say: do not learn "C ++, it is difficult." It is rather the basis of the basics + the syntax is similar to other languages of the group. And you can solve any problems in any language.
If I were you, I would have studied more than 2 courses, then I would have already graduated from the university, studying javasctipt + design along the way and doing interfaces from the point of view of user psychology and not soaring with a change of profession, I applied all my knowledge of the university + programming.
To learn programming, you cannot study it at a Russian university.
Some garbage will be taught.
Listen to the algorithm at the university, coding - let it go by your ears.
From the experience of my friends, I’ll say that it’s really possible to learn programming on your own and even become a good programmer, and not some kind of redneck coder.
I myself study at the university in a near programming specialty and I also have a relationship with programming.
And now my opinion on the beginning of learning programming:
Start with the basics, and not with the basics of C ++ or Java, but with the basics of computer architecture, its principles of operation, as well as the large mathematical apparatus that stands behind it all. Pay attention to discrete mathematics, mathematical logic and abstract algebra. Knowing these three categories, even in an introductory version, diving into such a difficult task as programming will be much more pleasant and interesting, as well as easier.
It is, in principle, possible to transfer to a technical university. But again, it all depends on the university. I am more than sure that in my dean's office you would be refused - they do not like to accept from other universities.
Do not learn PHP as the first language, then it will be very difficult with others!
It is impossible to learn programming from books / webinars / courses / from friends - this is the only way to get basic skills.
Just like that, set a goal in front of you, and motivating yourself with the word “must” will not go far. And if you know that you will receive some material bonus for your work, then you will do it. And the better you do, the bigger the bonus. Today, many large IT companies have vacancies for Junior developer - they pay little, you plow a lot (because you don't really know anything). So go ahead, but the materiel will have to be tightened up. There is a second way - to take part in the Open Source project. But everything there is purely romantic, and the threshold for entering most large and interesting projects is high - but it's worth it.
And do not be fooled by big words - "technology", "relevant", "modern" - today it is and is in demand, tomorrow it is given to oblivion. Do not spray, in a word. I tried - it turned out bad =) If you write in C / C ++, then it's better to polish and hone it than to gouge LAPM or Python.
Learning to program on your own "from books", IMHO, is quite realistic. But what is needed is a real (or close to it) project, and not sketchy learning tasks, which are usually offered in books. That is, after the initial entry into the language, we set ourselves a task and begin to implement it. It is important to implement it to a form suitable for production (even if there are no interesting features, but those that exist should be completed, and not “anyway, no one will ever see, therefore I will check the input data, and I will not screen the output”). It is highly desirable to have high-quality feedback on your code (options - darkness).
For initial training, in my opinion, Python (+ Django if we talk about the web) or Ruby (+ RoR on the web) are well suited, at worst PHP. Compiled languages with static typing, in my opinion, put the novice programmer in a situation where the forest is not visible for the trees - by forcing a lot of attention to formal correctness, they contribute to a decrease in attention to logical correctness.
If you are a talented person or you really like programming, then of course it is possible!
I bring to your attention: www.ozon.ru/context/detail/id/3811652/
I started with html.
Samara State University shows very good results at international olympiads.
This is information for reflection, it does not reflect the full picture.
You can become a good specialist yourself, but you will not have a crust (and sometimes you need it).
If you study, then, most likely, a lot of disciplines are not in your specialty. When you study, some of the information is given to you chewed. Someone checks you, monitors the quality of programs and code.
Agree with previous answers. Self-learning is real. I myself learned from the book "Basic for Children" (I do not recommend it to you, this book is really for children;) ).
I'll add one more thing. As a programming language, Pascal is a good place to start - it was originally created for this. Although you can immediately take something more used in real life.
In my opinion, for the practical development of programming, you need to solve problems that can be easily imagined at the household level. For example, my favorite problem is to write some kind of sieve to find all prime numbers in a given range.
I myself study full-time, in the "computer" specialty. The quality of teaching programming is worse than at the circle at school, where we solved Olympiad problems. But at the end there will be a document.
and Microsoft still has the best approach to developers in terms of training. Just a bunch of information for people like you with "0" and in Russian.
just in another question I saw a link to lessons with "0" in MSDN (this is a huge help service for all MS languages and technologies)
msdn.microsoft.com/ru-ru/beginner/ee344863.aspx (in Russian)
for php or You won't find another language like this. Although theory and OOP should be the same everywhere.
PS about courses. In our country, for example, firms organize courses themselves. Free of charge and with the prospect of work, but you need to show that you are not a person on the left and already have some experience ... i.e. Again, basic knowledge is needed.
Also, good spoken English. It's not even worth trying without it.
Well, I also studied at the Faculty of Psychology with a degree in Organizational Psychology, though in Moscow time. Sechats I work as a programmer. I started much later than you - already 2 years after graduation, but still I am slowly learning. I can't stand smart books. A friend invited me to try programming at a scientific institute, agreed with the authorities. At first, he didn’t leave me for a month, and then I became more and more self-sufficient (more precisely, Google-sufficient) and now I am actively developing without outside help (and still without books, only with Google). I started as simple as C++Builder, now I'm writing Java Enterprise.
The moral of this fable is this: everyone has their own path and there is nothing unrealistic in your task.
mm... I wouldn't recommend it. (c)
given: humanities student 19 years old
need to: teach programming
solution: go back in time for 5 years and start with Basic
, I don’t know how it is in Togliatti, but back in the 90s, MSC taught programming in high school. If a person at that time didn’t decide for himself that programming was his thing, if he didn’t get sick of algorithms, but instead he cheated school homework on programming from friends, this is no longer being treated.
Of course, maybe. in Togliatti and they don't teach programming in schools...
Of course, you can learn programming on your own. But you need to want it, you need to devote days and nights to it, and not wait for it to be taught at the institute. Even if you transfer to another course, it will not help. Programming is everywhere. You can start with PHP or Javascript, you may want to put the engine on Jumla and then learn bash or sed, or by drawing on Flash, get into AcrtionScript. If there is a desire, then there is no problem to start programming.
I would advise the author of the topic to think about what he really needs. If he sees himself as a psychologist / interface designer, then he needs to master the tools that are useful for the profession. Prototyping tools, UML type languages, etc.
If he wants to be a designer, then he will simply have no time to program.
I would recommend C#. Well structured and understandable language. Learns easily, programs are written quickly. And most importantly, there are a lot of examples for it in msdn
The question is already more than 3 years old, but it does not cease to excite the younger generation ... I work at the Department of Information Technology and every year I notice how students lose interest in studying at the university every year, and all because of the failed model, where you are not taught so much practice and work that awaits you after university, but theory ... therefore, yes, I advise my students to look for additional courses, even part-time jobs, to be closer to reality.
There are a lot of resources on the web that teach programming - online tutorials on various languages or on the basics of programming, with and without theory, where you can write code online directly on the site and the resource checks with you whether you solved the problem correctly, with many features). Paid and partially ... - enough is mentioned above, I can only add a resource that I recently met codeasy.net .
Advice - look and try, the problems are different everywhere, in any case it is useful.
Really, the main thing is to put in enough effort. For example, reddit has a good list of books for self-study. There is also a lot of useful literature in the comments. Good luck!
For example, I acted radically. He dropped out from the first year, from the programming profession itself. I am sitting here now, studying myself and writing a small project along the way. And the next academic year I will go somewhere in absentia, just for the sake of a HE diploma. But, before university, I had a little idea of programming and I knew how to code a bit in python.
And yes, I am slowly writing an article about my small service, but still one unit of karma is not enough for publication, and begging is not decent =)
Taking the opportunity to ask. Guys, self-taught since childhood, absolutely all knowledge was obtained independently.
Now I understand my ceiling, native algorithmization by intuition is, of course, great, but algorithmization skill is required.
Recommend, please, literature good on this issue. I know about Knut myself, I'm already downloading it. Thematically interested in working with texts / strings.
Thank you!
I would recommend pure C to start with. When your hand is filled with the implementation of the basic algorithms (tasks for strings, sorting arrays, queues and stacks ... what else ...) you can gradually move on to C ++. In C ++, you can already get your hands on in terms of object-oriented programs (at the university I had such a wonderful subject as OOPP, which actually gave me nothing. But for a novice programmer, the subject will be quite useful. Literature on this discipline is a shaft.)
Actually - put tasks and solve them.
Start with simple, basics: Basic, Pascal, C. Use a book with examples and just set yourself cool tasks, for example, write a simple text editor with search, replace, etc.
Everything is even possible in the console and without interfaces.
Well, or later on to do graphics, it's interesting, for example, to create the simplest graphical applications, even if it's GDI, even if QT doesn't matter, it will already be interesting, the main thing is not to sour.
In no case do not start with languages with dynamic typing, so you will not understand how everything actually works inside, what resources are spent on and what is hidden inside the hood, and this will be very important for you in the future.
Good luck!
Do not go to part-time - 99% of part-time - buying a diploma in installments. Programming to learn really, there is already a positive experience. Write to me, I'll tell you.
At one time, I studied a new language in courses on the site intuit.ru
I haven't found anything better than JavaRush for learning Java. The course is built in the form of an online game. There is an opportunity for an internship in a real IT company.
I am currently working on a project to learn programming from scratch. Follow my twitter. It should turn out better than I now see in Runet for teaching programming. You can say a university course, but more competently built.
I think after NG I'll start posting the first materials.
I found a good Java tutorial, maybe someone will find it useful
javarush.ru/user/reference/5536bf1b-c5bd-425c-972a...
If you learn on your own, I can give you one very simple but very important piece of advice, which is incredibly helpful to learn any language or framework and never waver: Briefly write down what you are learning : key structures, words, recipes. Electronic. For this, there is a special service https://maketips.net/about , where it is possible to format the code, export to PDF what you wrote and a quick search by text, titles, tags.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question