<p>My daughter is a college freshman who has tentatively decided to double major in philosophy and cognitive science. She’s required to take an Introduction to Programming class for the cognitive science major, and has a choice of Python or Java. She has no experience whatsoever with computer programming, and, frankly, not that much interest in it. At this point, she thinks she’ll take only the one required course (single quarter).</p>
<p>Any thoughts on which would be more useful? And less intimidating for a total novice with a humanities bent? </p>
<p>You can study cognitive science and not program?</p>
<p>Python. </p>
<p>Thanks, CF. Would love to hear you expand upon your rhetorical question . . . Frankly, I’m not sure she knows too much about what cognitive science entails. She started out as a philosophy major, but took an Intro to Cognitive Science class last quarter and got excited about it. Someone told her that philosophy and cognitive science complement each other and make a good double major. I know nothing about the field, so it’s hard for me to advise her.</p>
<p>Python would likely be easier because of the syntax. </p>
<p>Well here’s the thing. Usually they make freshman and sophomores in a major take computer programming because as juniors and seniors, they are going to have to program.</p>
<p>Cognitive science mixes up philosophy, linguistics, neuroscience, artificial intelligence and psychology. Philosophers don’t have to program, but the rest of the bunch probably should and of course there is no artificial intelligence without programming.</p>
<p>Python is probably easier for beginners, and easier to use for small programs.</p>
<p>But also consider what the prerequisites are to the artificial intelligence course if she want to go in that direction.</p>
<p>Python if you right about only ONE class. Java if she needs marketable programming skills for her career.</p>
<p>If she wants to do artificial intelligence, she should learn both.</p>
<p>If she wants marketable programming skills, then it would be best to take at least the introductory sequence for CS majors, including courses using different programming languages (e.g. if that introductory sequence for CS majors is all in Java, add a course using Python or some other language, or a programming languages course). Additional courses in operating systems, algorithms, networks, and databases can also be helpful.</p>