Answers.Body: <p>Mahatma Gandhi:<br />
  <em>Be the change you wish to see in the world</em></p>
  <p>More apocryphally seen in this</p>
  <p><a href="https://i.sstatic.net/EBFNhm.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/EBFNhm.jpg" alt="Jesus_on_bench" /></a></p>
  <p>It may help to see yourself in the center of 3 concentric circles in a large square</p>
  <ul>
  <li>Innermost : circle of action</li>
  <li>Next : circle of influence</li>
  <li>Outer : circle of knowledge (information/news)</li>
  <li>Outermost square : region of ignorance</li>
  </ul>
  <p>In more detail</p>
  <ol>
  <li>There are some things you an actually do</li>
  <li>There are some things you can't directly do but can convince/plead/cajole/force others to do</li>
  <li>There are some things you can do nothing about</li>
  <li>And there's the infinitely wider universe of things you really know zero about in which the question of doing anything does not even arise.</li>
  </ol>
  <p>If you want to stay positive and useful to yourself and others, it's better to stay closer to the start of these lists, or in the inner circles.</p>
  <p>Jordan Peterson literally asks young people in the dumps to start by cleaning their room.  Whether that works for you literally or metaphorically you can decide.  But something thereabouts is a good idea.</p>
  <p>After then <em>very gingerly</em> you can start trying to change things near you -- parents, teachers, friends... But be careful to aim small <em>and achieve</em> rather than aim grand and fall on our face.</p>
  <p>Beyond that is a danger zone.  Say I don't like the situation in Ukraine.  Thinking carefully, I quickly see that the answer to <em>What can I do about it?</em> is an unequivocal <strong>Nothing</strong>.  From there, if I think this through properly(!) I see that while I can do nothing useful, I am wasting time, energy and most important my vital force on these thoughts.</p>
  <p>This is ultimately the beginning and end of all spiritual practice -- pull the mind out of useless associative wandering and direct it to something purposive.</p>
  <p>And beyond that is a vast infinite unknown.  The situation on the 13th planet of Sirius is vastly worse than here on earth. And if you think &quot;BS!&quot; to that you dont really have to leave earth.  Just randomly pick one of the 180 countries on earth. A good many are worse off than you.  [It's easy enough to see that: the folks who are really badly off probably cant get onto the net to ask as you are doing]  Note I am not belittling your predicament.  Just trying to give some perspective and cajoling you to back off into a circle where you can make a difference however small.</p>
  <h2>Be Good</h2>
  <p>Your entire plea can be summed up as <em>These folks X-Y-Z need help!</em> Notice that nobody here knows their predicament and what will help them better than you!</p>
  <p>Just a small step now: Jump in!</p>
  <p>Here's one very rich, very very successful, <em>and very very very helpful man</em> showing the way better than I can:
  <a href="http://www.paulgraham.com/good.html" rel="nofollow noreferrer">Be good</a>. It's worth a read.</p>
  <p>I'll leave you with two sayings:</p>
  <ol>
  <li><p>The Vedanta master Ramana Maharshi was asked: <em>How to find my guru?</em> He said: <em>Work with what you have and your guru will appear.</em></p>
  </li>
  <li><p>Richard Bach in the book <em>Illusions</em> said: <em>Here is a test to see if the purpose of your life is fulfilled. If you're alive it isn't.</em></p>
  </li>
  </ol>
  <h2>More Practical Advice</h2>
  <p>Take up the published curricula of some well established universities and collect the courses: eg DBMS, OS, Compilers... a bunch of programming courses, some hardware exposure, some theory, a bunch of background math courses, fancy new age stuff (Cloud, Blockchain, machine learning, IOT da-da-da).  Start figuring out what of these call you and delve deeper into that. Just be careful of getting sucked into the new-n-fancy before a minimum familiarity with the basics.</p>
  <p>And programming is important; <em>but it's not all there is to CS!</em></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-03T01:57:42.593Z
Answers.Text: Wow, stunning answer based in real spiritual practice! This is what I keep saying to people constantly: "Why do you watch the News? Can you use the information for anything? How many more days of life do you think you have anyway?" Blessings
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-24T07:52:59.643Z
Answers.LastActivityDate: 2022-07-05T06:21:21.820Z
Answers.LastEditDate: 2022-07-05T06:21:21.820Z
Answers.UserDisplayName: Rushi
Answers.Body: <p>Software development is one of the freest things to learn, relative to other fields; with the exception of a computer on which to develop, which is an inherent requirement for writing software. Languages and compilers are freely distributed. Most (if not all) have freeware IDEs that you can develop in. There are quite frankly a lot of resources and discussions online on software development, and a lot of people are freely putting in time to help other (StackExchange being a great example).</p>
  <p>The only limiting factor is <strong>knowledge</strong>. This is where the paid part comes in: textbooks, courses, and teachers.</p>
  <blockquote>
  <p>Those [textbooks] written by companies do offer some value even though most of them are prefer to teach in higher level abstracting the details required for computer science but those written by random users are mostly copied from the same source and the quality is nowhere compared to textbooks and depth of information is lacking.</p>
  </blockquote>
  <p>That increase in quality is why you're paying for it. It takes effort to both explore the field more in-depth and explain it in a student-friendly way. That effort is what you're paying for (I'm sidestepping any discussion on unreasonable markup on books because it's not something we can change nor concretely address here).</p>
  <p>However, these paid resources are not inherently necessary in order to develop software. Obviously they help reduce the initial effort required to get going, but nothing is stopping you from providing this knowledge yourself.</p>
  <p>Taking an analogy: other than buying the instrument itself, it doesn't cost any money to learn how to play said instrument. However, if you want to learn better or more quickly, this is done by having a teacher involved, who you obviously have to compensate for their time and expertise. Money can improve the quality of your learning process, but the instrument can be learned without spending more money if you so choose - it'll just take you more trial and error, time and effort.</p>
  <p>Teachers inherently need to understand their curriculum, and they could therefore be making their own materials to help students learn the subject. Those self-made resources might not be as in-depth as some of the paid alternatives are, but you can definitely get students started on the basics of development and how to self-learn based on available free online resources.<br />
  Continuing the analogy, anyone who can play this instrument can give you a rudimentary set of exercises to learn the instrument. It might not be as good as a professional educator's, but it'll still be better than nothing.</p>
  <p>What you're really driving at here is not a lack of teaching materials, it's a lack of quality in the available teaching due to a shortage of experienced people (since they prefer moving abroad). That's an economic argument more so than it is an academic one.</p>
  <blockquote>
  <p>The teaching is horrible. Nobody wants to stay in these countries. So what do the students do? They graduate, maybe with a good gpa. Their ultimate goal in the mind is to do GRE, and study in USA and settle there.</p>
  </blockquote>
  <p>This is a classic &quot;brain drain&quot;, and it does significantly hamper both the economy and academia of the country being drained. However, this is not something that can be solved from the perspective of the academia. It is a large scale economic situation that would require turning the entire country's economy around in a way that people want to be part of it, as that is currently not the case.</p>
  <p>It sucks. I very much agree with that. But in scope of what we can answer in this community, this is not something we can impact or change; it is something we cannot change and therefore have to accept it the way it is.</p>
  <p>New Zealand is a great example of a country struck by brain drain, as a lot of kiwis are able to freely move to Australia and make more money and have  more affordable housing (relative to their income).<br />
  And NZ is not able to come up with a simple solution to combat this probem. They try, e.g. by increasing the interest rate on student loans when the student moves abroad soon after graduating. These are significant changes to the interest rate, and it is <em>still</em> financially viable to move abroad and compensate for the increased loan repayments.</p>
  <p>This is not a simple problem to solve, and it cannot be solved on the level of educators.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-12T01:42:22.250Z
Answers.Text: Instead of making it expensive to leave, they should make it cheaper to stay. More to the point though, a motivated person can to some degree come up with their own challenging exercises to get started on. I did this when I was 14. The code test cycle is really up to the student, at least if you have an interactive machine.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-04T07:44:15.677Z
Answers.LastActivityDate: 2022-07-04T07:44:15.677Z
Answers.UserDisplayName: Flater
Body: <p>The situation of students in these countries is terrible. In paper, every information for CS is available in paper. And it's correct for 70% of content. Mainly the content available that is of high quality for free are &quot;textbooks&quot;. That too thanks to those great sites that I can't name here. Nobody from these countries even in their dreams would be able to afford even a single textbook for 1 subject if they had to pay the prices for it.</p>
  <p>I am blaming nobody for this whole situation, not even government. The blame game is meaningless and doesn't give anyone anything.</p>
  <p>The teaching is horrible. Nobody wants to stay in these countries. So what do the students do? They graduate, maybe with a good gpa. Their ultimate goal in the mind is to do GRE, and study in USA and settle there. They don't seek for any other jobs. They just apply for teaching in the college that they studied in. This is about 30% of the teachers.</p>
  <p>Then there is no research facilities available (except just for the name). So it doesn't attract people who would like to really deal with the subject. Rather a different set of people that you can understand what I am saying.</p>
  <p>I don't blame any teachers. They have been taught by teachers similar to them. The quality of teaching is atrocious. For a moment, I would assume teaching is subjective and discount them on that. But their slides preparation is dangerous. They go to google, search for the &quot;abcd-slide&quot; and download the first google search. Don't even give credits and edit their  own name on it. Voila, you made  a slide.</p>
  <p>Don't even imagine about complaining anything to management. I know friends who got failed because they asked for extra classes of a professor. Supposedly the ego of professor was too big.  Nobody can do anything, because it is university and rightly so, teachers have huge amount of power.</p>
  <p>I don't have problems with slides. In my terrible journey of learning computer science in this country, slides in internet were my best friends that I could never meet. In the sense, that they are very rare. It is  very easy to understand stuffs written in a slide compared to what is written in textbooks. Obviously. I want to clarify this that I don't have problem with slides as many students in this region actually have started to think &quot;slides are the problem&quot;, and if the teachers taught in whiteboard/blackboard, everything will be fine.</p>
  <p>Yes there are MIT, NPTEL to name a few. But firstly our course evaluation was so different from what is taught there, secondly, most students could never follow what's being taught there. They of course were the best minds of USA, India etc, there is zero doubt about that, but the target students of those courses were maybe not us. Even when we learnt something totally and watched those courses, it would still confuse us.</p>
  <p>The only best friend of us have been those textbooks. And honestly, having to download 50 different textbooks and read 5-10 of them for finding 1 information is really inefficient way of learning and I am not sure if everyone in the world is doing the same. If they are, it would feel comforting haha.</p>
  <p>There are articles in internet for sure. But there are two types of articles-:</p>
  <ol>
  <li><p>Written by companies</p>
  </li>
  <li><p>Written by random users</p>
  </li>
  </ol>
  <p>Those written by companies do offer some value even though most of them are prefer to teach in higher level abstracting the details required for computer science but those written by random users are mostly copied from the same source and the quality is nowhere compared to textbooks and depth of information is lacking. A good site out of these is &quot;GFG&quot;. It is very decent compared to whatever is available online.</p>
  <p>Most of us had no idea what a good class would look like until we found an online course of some great teachers. Luckily they were pretty cheap and affordable. We learnt what we were really missing that day. And honestly, there is no way a student from these countries would ever even catch up a serious student from those countries I'm talking about even though &quot;it's CS&quot;.</p>
  <p>There are forums for learning. But the thing is we can never use this forum to learn MISSING cs concepts. Because forums have quality standard. They want quality questions. And in no world, a guy who don't even have a textbook that is designed for his university course and examinations(or any reference material) is asking a great question. And questions of these people is never suited for these forum. The literal question most of the times becomes &quot;where can I find this information&quot; &quot;what is this question  called&quot; &quot;where can I find explanations for this example&quot;. And rightly so, these questions are removed and these questions must be removed to keep the quality standard of site to the highest level. Nobody owes anyone anything and we aren't complaining that to anyone.</p>
  <p>Wikipedia is also helpful for some of the concepts for sure. Specially it's helpful when you already know the fundaments and just want to look for extra reference. Eg-: you already know about certain algorithm but you want to see some exceptional cases. I don't think it's a great source of learning material for learning something for the first time.</p>
  <p>Another wonderful source of information can be research papers. But most research papers seem to be teaching something additional i.e if you are learning about MPLS for exam(hypothetical), they are teaching a modified MPLS technology and talk little bit about the original MPLS. And it is well researched fact that research paper are extremely technical in nature(not sure if technical is the right word, books are also technical but they are easier to understand, want to say that research papers aren't easy to grasp).</p>
  <p>Then youtube, you can't forget it. It's good and decent for understanding surface level materials.  There are lots of videos for sure but they are not very satisfactory. And nobody should blame anyone for not providing the best materials for free.</p>
  <p><strong>Any information is better than bad or information.</strong></p>
  <p>Then there are some sites like udemy that provides paid courses. They weren't even available in this country since a long time.(There was no payment method). One course that we did there was lifechanging. Everything was easy when there was proper guidance. You could spend time on extra learnings, proofs, theories that are in research papers when you understood what's taught easily. There might be other sites but their pricing is just too big that nobody is going to be able to pay. (As there are no part time jobs in these countries, forget part time jobs even qualified and talented people are jobless).</p>
  <p>Since there is no official textbook for exams point of view and syllabus point of view. And since they have kept some topics in exam that honestly can't be googled and found anywhere, and which gets skipped by professors and their slides, it is just terrible terrible environment for students.</p>
  <p>Sorry if this became a rant, but I am trying to get some constructive thoughts about these situation. We don't need advice as me and my friends have graduated or near graduation already.</p>
  <p>Is there anything that anyone could do to at least help these students in these under developing countries with worst environment for education?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-26T15:19:03.427Z
Comments.Text: you are from ??
Comments.UserDisplayName: Hamza
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-27T12:53:38.683Z
Comments.Text: I sympathize with your "cri de coeur". For what it's worth, I try to write good open textbooks, and if you want to learn C++, check out https://theartofhpc.com/
Comments.UserDisplayName: Victor Eijkhout
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-27T15:19:18.163Z
Comments.Text: Who are you, in this context? Are you a teacher, frustrated with not getting the needed materials? Are you a student, frustrated with not getting the learning opportunities you need? Are you a company leader, frustrated with a lack of skilled applicants? "What can we do" depends on who is wanting to do something about it, because not every person can effect every kind of change.
Comments.UserDisplayName: Flater
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-07-03T02:14:59.867Z
Comments.Text: I was a programmer for quite a while, then ran a retreat center for 10 years, then taught programming for a few years, then a programmer again. In all these things, my main goal was to do whatever I could to help people and improve processes. You can eventually find ways to improve things. Rusi's Answer is so on-point.
Comments.UserDisplayName: Scott Rowe
Tags: <resource-request><advising>
Title: Can we do anything to help CS students from 3rd world under developed countries?
ThreadText: # Can we do anything to help CS students from 3rd world under developed countries?
  
  (Asked by: username_0 on 2022-06-23)
  
  The situation of students in these countries is terrible. In paper, every information for CS is available in paper. And it's correct for 70% of content. Mainly the content available that is of high quality for free are "textbooks". That too thanks to those great sites that I can't name here. Nobody from these countries even in their dreams would be able to afford even a single textbook for 1 subject if they had to pay the prices for it.
  
  I am blaming nobody for this whole situation, not even government. The blame game is meaningless and doesn't give anyone anything.
  
  The teaching is horrible. Nobody wants to stay in these countries. So what do the students do? They graduate, maybe with a good gpa. Their ultimate goal in the mind is to do GRE, and study in USA and settle there. They don't seek for any other jobs. They just apply for teaching in the college that they studied in. This is about 30% of the teachers.
  
  Then there is no research facilities available (except just for the name). So it doesn't attract people who would like to really deal with the subject. Rather a different set of people that you can understand what I am saying.
  
  I don't blame any teachers. They have been taught by teachers similar to them. The quality of teaching is atrocious. For a moment, I would assume teaching is subjective and discount them on that. But their slides preparation is dangerous. They go to google, search for the "abcd-slide" and download the first google search. Don't even give credits and edit their own name on it. Voila, you made a slide.
  
  Don't even imagine about complaining anything to management. I know friends who got failed because they asked for extra classes of a professor. Supposedly the ego of professor was too big. Nobody can do anything, because it is university and rightly so, teachers have huge amount of power.
  
  I don't have problems with slides. In my terrible journey of learning computer science in this country, slides in internet were my best friends that I could never meet. In the sense, that they are very rare. It is very easy to understand stuffs written in a slide compared to what is written in textbooks. Obviously. I want to clarify this that I don't have problem with slides as many students in this region actually have started to think "slides are the problem", and if the teachers taught in whiteboard/blackboard, everything will be fine.
  
  Yes there are MIT, NPTEL to name a few. But firstly our course evaluation was so different from what is taught there, secondly, most students could never follow what's being taught there. They of course were the best minds of USA, India etc, there is zero doubt about that, but the target students of those courses were maybe not us. Even when we learnt something totally and watched those courses, it would still confuse us.
  
  The only best friend of us have been those textbooks. And honestly, having to download 50 different textbooks and read 5-10 of them for finding 1 information is really inefficient way of learning and I am not sure if everyone in the world is doing the same. If they are, it would feel comforting haha.
  
  There are articles in internet for sure. But there are two types of articles-:
  
  1. Written by companies
  2. Written by random users
  
  Those written by companies do offer some value even though most of them are prefer to teach in higher level abstracting the details required for computer science but those written by random users are mostly copied from the same source and the quality is nowhere compared to textbooks and depth of information is lacking. A good site out of these is "GFG". It is very decent compared to whatever is available online.
  
  Most of us had no idea what a good class would look like until we found an online course of some great teachers. Luckily they were pretty cheap and affordable. We learnt what we were really missing that day. And honestly, there is no way a student from these countries would ever even catch up a serious student from those countries I'm talking about even though "it's CS".
  
  There are forums for learning. But the thing is we can never use this forum to learn MISSING cs concepts. Because forums have quality standard. They want quality questions. And in no world, a guy who don't even have a textbook that is designed for his university course and examinations(or any reference material) is asking a great question. And questions of these people is never suited for these forum. The literal question most of the times becomes "where can I find this information" "what is this question called" "where can I find explanations for this example". And rightly so, these questions are removed and these questions must be removed to keep the quality standard of site to the highest level. Nobody owes anyone anything and we aren't complaining that to anyone.
  
  Wikipedia is also helpful for some of the concepts for sure. Specially it's helpful when you already know the fundaments and just want to look for extra reference. Eg-: you already know about certain algorithm but you want to see some exceptional cases. I don't think it's a great source of learning material for learning something for the first time.
  
  Another wonderful source of information can be research papers. But most research papers seem to be teaching something additional i.e if you are learning about MPLS for exam(hypothetical), they are teaching a modified MPLS technology and talk little bit about the original MPLS. And it is well researched fact that research paper are extremely technical in nature(not sure if technical is the right word, books are also technical but they are easier to understand, want to say that research papers aren't easy to grasp).
  
  Then youtube, you can't forget it. It's good and decent for understanding surface level materials. There are lots of videos for sure but they are not very satisfactory. And nobody should blame anyone for not providing the best materials for free.
  
  **Any information is better than bad or information.**
  
  Then there are some sites like udemy that provides paid courses. They weren't even available in this country since a long time.(There was no payment method). One course that we did there was lifechanging. Everything was easy when there was proper guidance. You could spend time on extra learnings, proofs, theories that are in research papers when you understood what's taught easily. There might be other sites but their pricing is just too big that nobody is going to be able to pay. (As there are no part time jobs in these countries, forget part time jobs even qualified and talented people are jobless).
  
  Since there is no official textbook for exams point of view and syllabus point of view. And since they have kept some topics in exam that honestly can't be googled and found anywhere, and which gets skipped by professors and their slides, it is just terrible terrible environment for students.
  
  Sorry if this became a rant, but I am trying to get some constructive thoughts about these situation. We don't need advice as me and my friends have graduated or near graduation already.
  
  Is there anything that anyone could do to at least help these students in these under developing countries with worst environment for education?
  
  **Tags:** resource-request, advising
  
  > **Comments:**
  > **username_1**: you are from ??  
  > **username_2**: I sympathize with your "cri de coeur". For what it's worth, I try to write good open textbooks, and if you want to learn C++, check out https://theartofhpc.com/  
  > **username_3**: Who are you, in this context? Are you a teacher, frustrated with not getting the needed materials? Are you a student, frustrated with not getting the learning opportunities you need? Are you a company leader, frustrated with a lack of skilled applicants? "What can we do" depends on who is wanting to do something about it, because not every person can effect every kind of change.  
  > **username_4**: I was a programmer for quite a while, then ran a retreat center for 10 years, then taught programming for a few years, then a programmer again. In all these things, my main goal was to do whatever I could to help people and improve processes. You can eventually find ways to improve things. Rusi's Answer is so on-point.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_5 on 2022-06-24. Score: 2
  
  Mahatma Gandhi:  
  *Be the change you wish to see in the world*
  
  More apocryphally seen in this
  
  [![Jesus_on_bench](https://i.sstatic.net/EBFNhm.jpg)](https://i.sstatic.net/EBFNhm.jpg)
  
  It may help to see yourself in the center of 3 concentric circles in a large square
  
  * Innermost : circle of action
  * Next : circle of influence
  * Outer : circle of knowledge (information/news)
  * Outermost square : region of ignorance
  
  In more detail
  
  1. There are some things you an actually do
  2. There are some things you can't directly do but can convince/plead/cajole/force others to do
  3. There are some things you can do nothing about
  4. And there's the infinitely wider universe of things you really know zero about in which the question of doing anything does not even arise.
  
  If you want to stay positive and useful to yourself and others, it's better to stay closer to the start of these lists, or in the inner circles.
  
  Jordan Peterson literally asks young people in the dumps to start by cleaning their room. Whether that works for you literally or metaphorically you can decide. But something thereabouts is a good idea.
  
  After then *very gingerly* you can start trying to change things near you -- parents, teachers, friends... But be careful to aim small *and achieve* rather than aim grand and fall on our face.
  
  Beyond that is a danger zone. Say I don't like the situation in Ukraine. Thinking carefully, I quickly see that the answer to *What can I do about it?* is an unequivocal **Nothing**. From there, if I think this through properly(!) I see that while I can do nothing useful, I am wasting time, energy and most important my vital force on these thoughts.
  
  This is ultimately the beginning and end of all spiritual practice -- pull the mind out of useless associative wandering and direct it to something purposive.
  
  And beyond that is a vast infinite unknown. The situation on the 13th planet of Sirius is vastly worse than here on earth. And if you think "BS!" to that you dont really have to leave earth. Just randomly pick one of the 180 countries on earth. A good many are worse off than you. [It's easy enough to see that: the folks who are really badly off probably cant get onto the net to ask as you are doing] Note I am not belittling your predicament. Just trying to give some perspective and cajoling you to back off into a circle where you can make a difference however small.
  
  ## Be Good
  
  Your entire plea can be summed up as *These folks X-Y-Z need help!* Notice that nobody here knows their predicament and what will help them better than you!
  
  Just a small step now: Jump in!
  
  Here's one very rich, very very successful, *and very very very helpful man* showing the way better than I can:
  [Be good](http://www.paulgraham.com/good.html). It's worth a read.
  
  I'll leave you with two sayings:
  
  1. The Vedanta master Ramana Maharshi was asked: *How to find my guru?* He said: *Work with what you have and your guru will appear.*
  2. Richard Bach in the book *Illusions* said: *Here is a test to see if the purpose of your life is fulfilled. If you're alive it isn't.*
  
  ## More Practical Advice
  
  Take up the published curricula of some well established universities and collect the courses: eg DBMS, OS, Compilers... a bunch of programming courses, some hardware exposure, some theory, a bunch of background math courses, fancy new age stuff (Cloud, Blockchain, machine learning, IOT da-da-da). Start figuring out what of these call you and delve deeper into that. Just be careful of getting sucked into the new-n-fancy before a minimum familiarity with the basics.
  
  And programming is important; *but it's not all there is to CS!*
  
  > **Comments:**
  > **username_4**: Wow, stunning answer based in real spiritual practice! This is what I keep saying to people constantly: "Why do you watch the News? Can you use the information for anything? How many more days of life do you think you have anyway?" Blessings  
  
  ---
  
  ### Answer by username_3 on 2022-07-04. Score: 1
  
  Software development is one of the freest things to learn, relative to other fields; with the exception of a computer on which to develop, which is an inherent requirement for writing software. Languages and compilers are freely distributed. Most (if not all) have freeware IDEs that you can develop in. There are quite frankly a lot of resources and discussions online on software development, and a lot of people are freely putting in time to help other (StackExchange being a great example).
  
  The only limiting factor is **knowledge**. This is where the paid part comes in: textbooks, courses, and teachers.
  
  > Those [textbooks] written by companies do offer some value even though most of them are prefer to teach in higher level abstracting the details required for computer science but those written by random users are mostly copied from the same source and the quality is nowhere compared to textbooks and depth of information is lacking.
  
  That increase in quality is why you're paying for it. It takes effort to both explore the field more in-depth and explain it in a student-friendly way. That effort is what you're paying for (I'm sidestepping any discussion on unreasonable markup on books because it's not something we can change nor concretely address here).
  
  However, these paid resources are not inherently necessary in order to develop software. Obviously they help reduce the initial effort required to get going, but nothing is stopping you from providing this knowledge yourself.
  
  Taking an analogy: other than buying the instrument itself, it doesn't cost any money to learn how to play said instrument. However, if you want to learn better or more quickly, this is done by having a teacher involved, who you obviously have to compensate for their time and expertise. Money can improve the quality of your learning process, but the instrument can be learned without spending more money if you so choose - it'll just take you more trial and error, time and effort.
  
  Teachers inherently need to understand their curriculum, and they could therefore be making their own materials to help students learn the subject. Those self-made resources might not be as in-depth as some of the paid alternatives are, but you can definitely get students started on the basics of development and how to self-learn based on available free online resources.  
  Continuing the analogy, anyone who can play this instrument can give you a rudimentary set of exercises to learn the instrument. It might not be as good as a professional educator's, but it'll still be better than nothing.
  
  What you're really driving at here is not a lack of teaching materials, it's a lack of quality in the available teaching due to a shortage of experienced people (since they prefer moving abroad). That's an economic argument more so than it is an academic one.
  
  > The teaching is horrible. Nobody wants to stay in these countries. So what do the students do? They graduate, maybe with a good gpa. Their ultimate goal in the mind is to do GRE, and study in USA and settle there.
  
  This is a classic "brain drain", and it does significantly hamper both the economy and academia of the country being drained. However, this is not something that can be solved from the perspective of the academia. It is a large scale economic situation that would require turning the entire country's economy around in a way that people want to be part of it, as that is currently not the case.
  
  It sucks. I very much agree with that. But in scope of what we can answer in this community, this is not something we can impact or change; it is something we cannot change and therefore have to accept it the way it is.
  
  New Zealand is a great example of a country struck by brain drain, as a lot of kiwis are able to freely move to Australia and make more money and have more affordable housing (relative to their income).  
  And NZ is not able to come up with a simple solution to combat this probem. They try, e.g. by increasing the interest rate on student loans when the student moves abroad soon after graduating. These are significant changes to the interest rate, and it is *still* financially viable to move abroad and compensate for the increased loan repayments.
  
  This is not a simple problem to solve, and it cannot be solved on the level of educators.
  
  > **Comments:**
  > **username_4**: Instead of making it expensive to leave, they should make it cheaper to stay. More to the point though, a motivated person can to some degree come up with their own challenging exercises to get started on. I did this when I was 14. The code test cycle is really up to the student, at least if you have an interactive machine.  
  
  ---
  
  