patternModerate
Self-Study of Computer Science
Viewed 0 times
computersciencestudyself
Problem
I am a 16 year old male who has recently been gifted a big encyclopedia on computer science by a friend of mine. I am usually not that interested in computers and technology, but computer science has started to fascinate me. I do however intend to study Physics and/or Mathematics and not CS, so my question is, would it be useful to conduct a self-study of computer science? I'm not of course going for the level of a BSc but just the basics of CS (it is an encyclopedia with ~600 pages).
Solution
I think that learning about computer science certainly can be an advantage. Here are a number of (related) skills computer science has to offer.
-
Programming – knowing how to program is a useful skill for any discipline. Statisticians and sociologists, geographers and engineers, and so on, often find themselves needing to program. Following a CS degree should teach you to program properly.
-
Modelling – one of the key things computer scientists do is modelling the world. True, physicists, biologies and sociologists do too, but the kinds of models they are different. Knowing about the kinds of models computer scientists build can often help modelling in other disciplines. Even better, computer science models are generally executable (see point 1).
-
Abstraction – computer science is all about abstraction, ignoring irrelevant details to bring out the core of a problem. When modelling a programming language, not every single detail is modelled. One can abstract away from almost all details and study the concurrency model in isolation or just the classes in an object-oriented language. This kind of abstraction is less common in other sciences (I claim), but they are crucial for understanding phenomena computer scientists are interested in. I'm sure that other fields could benefit from some abstraction.
This is probably best summed up in an article about Computational thinking by Jeannette Wing.
-
Programming – knowing how to program is a useful skill for any discipline. Statisticians and sociologists, geographers and engineers, and so on, often find themselves needing to program. Following a CS degree should teach you to program properly.
-
Modelling – one of the key things computer scientists do is modelling the world. True, physicists, biologies and sociologists do too, but the kinds of models they are different. Knowing about the kinds of models computer scientists build can often help modelling in other disciplines. Even better, computer science models are generally executable (see point 1).
-
Abstraction – computer science is all about abstraction, ignoring irrelevant details to bring out the core of a problem. When modelling a programming language, not every single detail is modelled. One can abstract away from almost all details and study the concurrency model in isolation or just the classes in an object-oriented language. This kind of abstraction is less common in other sciences (I claim), but they are crucial for understanding phenomena computer scientists are interested in. I'm sure that other fields could benefit from some abstraction.
This is probably best summed up in an article about Computational thinking by Jeannette Wing.
Context
StackExchange Computer Science Q#3545, answer score: 15
Revisions (0)
No revisions yet.