<p>I'm trying to figure out if Computer Science is a good fit for me. I'm a fairly logical person, and I really love math.</p>
<p>I heard that if you like to solve puzzles, then you'll like computer science. I do like solving certain puzzles, but not all kinds (I hate Sudoku). What kind of puzzles should one be interested in, if they were to enjoy Computer Science?</p>
<p>As for my background in CS thus far: I've taken a simple Visual Basic course in high school, and I enjoyed that. I just finished my first college level programming course using Scheme, and I didn't really like that course that much, which is why I'm having some doubts about Computer Science. I'm not exactly sure why I didn't like the course. It might have been the language.</p>
<p>What are some ways to figure out if you'd like CS? And what qualities should one have? Also, based on what I've said, do you think CS would be a good fit for me?</p>
<p>“I’m a fairly logical person, and I really love math.”
<p>“I heard that if you like to solve puzzles, then you’ll like computer science. I do like solving certain puzzles, but not all kinds (I hate Sudoku). What kind of puzzles should one be interested in, if they were to enjoy Computer Science?”
- What do you hate about Sudoku? It gets to be a little repetitive. All puzzle games - word puzzles, logic puzzles, graphical puzzles, number puzzles, etc. - are great indicators of promise in CS. CS, more than any other major*, is about problem solving, that is, how one solves a problem. Puzzles are just fun problems.</p>
<p>“I just finished my first college level programming course using Scheme, and I didn’t really like that course that much, which is why I’m having some doubts about Computer Science. I’m not exactly sure why I didn’t like the course. It might have been the language.”
- Again, why did you not like the course? If it was just Scheme, that doesn’t bode too ill. I mean, Scheme is a nice language that one should come to appreciate in CS but you might have been exposed to it too early on.</p>
<p>Programming, logic and math are very good indications of one’s aptitude for CS. Logic most of all… and math only really inasmuch as it is based on logic. A minimum of extralogical mathematics is required for the study of CS.</p>
<p>It sounds like CS might be a good fit for you, but that’s not to say that other majors might be better. If you feel like you dislike Scheme because it is not practical, no good for databases or cloud apps or whatever, you should probably get out of CS. If, on the other hand, there is something about it that rubs you the wrong way… interpreted vs compiled, memory access patterns, awkwardness for certain tasks, etc. that is fine. I, for one, intensely dislike languages with semantic whitespace. That hasn’t kept me from succeeding in CS.</p>
<p>“What do you hate about Sudoku?”
I hate having to deal with so many variables at once. I usually mess them up I guess it’s the multitasking involved. For example, you have to be certain that number x belongs in that spot, by validating a list of conditions. I can complete Sudoku, it just tends to take me a long time and frustrates me.</p>
<p>“Again, why did you not like the course?”/“If, on the other hand, there is something about [Scheme] that rubs you the wrong way… interpreted vs compiled, memory access patterns, awkwardness for certain tasks, etc. that is fine.”
I think it also might be because it’s a functional programming language. This was my first experience with that type of programming, which I wasn’t used to. I could see how it could be useful though. I mainly had trouble apply recursion to some of the more difficult problems that we were given for homework.</p>