5 ms·
If you have a fixed mindset – you believe that people are either smart or they’re not, and they can’t really change that – then you also tend to believe that if
by hacker_9 11y ago
If you have a fixed mindset – you believe that people are either smart or they’re not, and they can’t really change that – then you also tend to believe that if you’re good at something, it should be easy for you, and if something is hard for you than you must not be good at it. That’s a fixed-mindset view. People who have a growth mindset believe that you need to exert effort and work hard at something to become better at it.
I fully agree with this, and I think the problem is schools too easily trap people into fixed mindsets. There are so many exams in school that if you constantly get medium to low scores it's easy to think you just aren't smart.
I learnt programming as a hobby outside of school and fast forward to today and I am a software developer with a 1st degree in compsci. When I look back and wonder why I found programming so much easier than school subjects like math/geography I realise I hated the system more than the subject. The constant dull drills, working through equation after equation. All to pass the next exam and then forget. As I wasn't good at them I just decided that I never would be.
Now that I am older I realise that mindset is ridiculous. So as a test, about a year ago, I started practicing memorising all the countries in the world (using Anki[1] flash cards, which I flick through at work whenever I am waiting for a build to finish!), and these days I can literally zoom over the world in my mind and name 90% of the countries. I also started using an abacus to see if I could get my brain to instantly solve math equations just by looking at them [2] and am having some success. I sometimes wish I could go and tell my younger self to skip school but there you go hindsight is 20/20.
[1] http://ankisrs.net/ http://ankisrs.net/
[2] http://www.theguardian.com/science/alexs-adventures-in-numberland/2012/oct/29/mathematics http://www.theguardian.com/science/alexs-adventures-in-numbe...
- lfowles 11y ago> I fully agree with this, and I think the problem is schools too easily trap people into fixed mindsets. There are so many exams in school that if you constantly get medium to low scores it's easy to think you just aren't smart. Heh. Not related to there being too many exams, but the second part. Almost changed majors from EE/CmpE to something... softer after the first Calc test in my first semester. Got a 60% on it because I didn't know how to study from highschool. (Freaked me out enough that I studied well enough for a 100% on the next test.) For continuing education, I attempted doing an online program offered through my alma mater for an EE masters. The course format didn't really fit me or the online format well, but I've found the textbooks themselves incredibly useful for self paced study. Does anyone have any Computer Science, Electrical Engineering, Computer Engineering textbook recommendations? I'm working through Microelectronics by Sedra/Smith right now, to be followed by Art of Electronics 3e, but I don't know what I don't know. Any textbooks that will change my fundamental view on electronics and/or programming?
- natdempk 11y agoCould you go into more detail about how you actually learned to study and what your technique is now for studying? I'm always curious how other people go about learning things, specifically about how they test mastery of knowledge.
- lfowles 11y agoI sit down and read through the textbook, taking notes on anything that seems remotely important, doing every exercise and problem set (preferably those with answers). I try to really grok the material and integrate it with existing knowledge before moving on. Much slower pace than any of my college courses, but I'm really starting to pick this up. When I get bored of this, I play some games :) Or switch to another topic briefly. As far as testing mastery, my only test is if the material in the book starts to become more intuitive. If I can do the calculations in my head or figure out the relevant formulas and equations without referring to old notes. I've also thought about setting up Anki, but for circuits it seems like a lot of work to figure out how to make usable cards.
- mikekchar 11y agoI don't actually have any textbook recommendations for you, but with respect to Comp. Sci., keep in mind that there is a difference between Comp. Sci. and programming. Obviously there is a large overlap, and you can use a lot of Comp. Sci. theory in every day programming, but programming is a discipline unto itself. I think programming is a lot like writing (prose). You need to read a lot and write a lot. If you want to be a great programmer, I think you should be programming every day -- not just school, or work assignments, but you own code. You need to find your own voice. It is hard to find time to do it, I know. Also, read as much as you can. Open Source software is ideal because you can read code from a lot of different authors. Sometimes people only read their own code or code from their colleagues at work. This can really stunt their growth. Sometimes I think there should be a "Programming" degree in the arts faculties at universities... I'm not a scientist, I'm a programmer. However, the theory that I think will help you most is: - Automata and grammars. Specifically you should know the theory, be able to make regular expressions and be able to write/read BNF. You should definitely know the Chomsky hierarchy and be able to recognize the type of grammar by looking at the BNF or code (this is especially important if you ever write a file format or design a communications protocol). - Group theory - Linear algebra - Basic calculus (may or may not find differential equations useful depending on what you are programming) - Basic statistics (definitely need to know what probability distributions are... lately I've been thinking that Bayes theorem is getting to be more and more important). - Algorithmic complexity (i.e. O() notation). For studying programming: - You should be aware of design patterns and be able to recognize them in code (you don't have to go crazy on it, though). There are lots of good books on the subject. Or just browse c2 wiki. - You should know how to do test first programming. Kent Beck's book "Test Driven Development: By Example", is arguably not the best book on the topic, but it is the book I always recommend to beginners because it is the most straight forward. Other books tend to conflate a lot of issues and to push points of view that (in my mind at least) have yet to prove themselves. Beck's book will give you the basics and allow you to move on from there. - You should know how to make UML object diagrams. Unfortunately, I don't know of any books on the subject that deal only with object diagrams. You don't have to use UML diagrams in real life, but they contain the concepts that you can use when sketching designs. - You should know how to refactor code that is under test. Michael Feather's "Working Effectively with Legacy Code" is the only good book I know on the topic. It is very advanced, though. There may be more gentle introductions somewhere. Martin Fowler's book is a great reference book, but it is not useful for a beginner IMHO. These are the basics, from my point of view. I recommend also learning at least one programming language from each of: - modular (C, Pascal, etc) - Strongly typed OO (C++, Java, C#, etc) - Dynamically typed OO (Ruby, Python, etc) - Pure functional (Lisp, Scheme, Haskel, etc) - Declarative (XSLT, Prolog, etc...) - Assembly (microcorruption.com is a great introduction) Obviously you won't use all of these things all the time (and some you will never use), but for me if someone has all of these things it gives them a good base to work from. I'm probably forgetting some important stuff as well, but that's enough to get you started.
- studentrob 11y ago> I realise I hated the system more than the subject Wow, you're right, I feel the same way > I sometimes wish I could go and tell my younger self to skip school but there you go hindsight is 20/20. You could consider homeschooling your kids should you decide to have any. [tangent] The more I read about education, the more I feel this is the better option for parents who can have a flexible schedule, such as programmers who seem more and more to be able to work from home. I'd love to live in a community some day where there are a lot of home-schooled kids where they can also do some activities together. I don't know if that is a thing or not but it should be! [/tangent]
- the_real_nfm 11y agoI was homeschooled, and I agree that it is great if the parents can make the effort. I think that homeschooling gets an undeserved bad reputation for the perceived "brainwashing" but if it is done right then that is not an issue at all. It does allow the individual learner to excel at what they are good at, though. Once I learned to read my education was very self-driven and I came out very well-rounded because I would read tons (probably literally) of books about anything that interested me; I notice a lot of people identify themselves as a "math person" or an "English person" and I was never like that. I also agree that having other home-schooled kids around is nice; socialization is one of the primary arguments for public schooling but if you have it while homeschooling you've hit the jackpot.
- mwhuang2 11y agoI developed a fixed mindset from a young age because I was constantly told that I was smart, which caused me to expect school to always be easy. When I got to college-level work, I failed hard and had to struggle to reinvent my thinking.