Learning how to code/program?

<p>I am a current high school junior who is considering majoring in engineering in college. I am leaning towards chemical, biomedical/bio, or materials science engineering, but I have heard that it is still a good idea to learn how to code. I also think it would be interesting and useful. I have no experience with computer programming, so I have some questions.</p>

<p>Would it be worthwhile to learn some basic programming? What language would be the most important to learn? What is the best way to learn how to code (Codeacademy, Coursera, Udacity, edX, etc.)? If I do learn some basic computer science, is this something I should include on my college applications?</p>

<p>Thanks for your help. As you can probably tell, I know little to nothing about programming LOL, so any general advice would also be helpful. :)</p>

<p>I was also interested in learning some programming for fun. I’m currently in the process of learning through MIT OpenCourseware. It has been pretty helpful for me, though I’m pretty uninformed in the grand scheme of things. I believe it’s course 6.00 - and it’s just an introduction to computer science & programming course. This particular course teaches Python, and the professor explains his reasoning for this in the first lecture. </p>

<p>If you do ultimately learn how to code/program, I would definitely put in on your college apps, as well.</p>

<p>Why you are not considering HS AP Computer Science? It teaches Java, a very useful language. It also helps to demonstrate your interest in college app. and your ability in that area if you can get good AP score.</p>

<p>First study Python on your own using one of the latest GUI based Pythons (IDLE works well). Once you figure Python out then try Java via MIT open courseware or similar.</p>

<p>AP Comp Sci is nice for the easy A and experience once you’ve figured out another language. My only beef with AP CS is that it’s a bit too focused on Java and that it uses BlueJ (at least around here).</p>

<p>jabrown2013: I will definitely look into MIT OCW. Python seems to be suggested often as a good place to start. Thanks for the insight. </p>

<p>wooowl: That would be the best option, but I unfortunately don’t think I can fit it into my schedule for next year.</p>

<p>turbo93: No idea what that is (shows you how much I know haha), but I will definitely look into everything you mentioned. Thank you!</p>

<p>I also agree with starting with Python. It’s as simple as you can get, but it also teaches practical knowledge. Udacity has some great courses on Python. From the top of my head, they have Introduction to Programming, Algorithm Analysis, Programming Language Concepts, and Software Testing - all useful subjects. From there I’d go on to something a bit more complex and OOP, like Java or C#. I personally went on to Java after Python. Good luck with programming!</p>

<p>I am doing an intro to computer science course on Udacity. It’s done by a professor at UVA. I really like it.</p>

<p>DS just finished freshman year as EE major. He starts some programming classes next year, it it was suggested that he get familiar with C. Not sure if that meant C or C++. Anyway, what would be best method to learn a bit over the summer? Buy a book, online course, etc.?</p>

<p>how about taking C as your starting language? i heard people start off with C language and branch into Python, Perl and MySQL?</p>

<p>and i have another question: computer science or engineering is not ALL about coding right? i mean there are many logical and practical problem-solving skills, not just coding right? because i’m not sure if i really want to be coding, just something related to computers should be fine</p>

<p>Probably C++, but once you figure out the basics of C++ then C is a subset (broadly speaking). Online classes would work best, along with a simple but capable development system like Microsoft Visual Studio Express 2012 (Windows version, whatever it’s called those days, it’s a free C++ development system)</p>

<p>Despite claims to the contrary, CS is really all about coding. Even when we consider design, requirements, and other hoity-toity software engineering (cough) methods, it all comes down to you, a text editor, and a compiler. </p>

<p>It is true that you have to have an idea of what to do before you start typing (be it requirements, designs, specs, an existing program, or scribbles on a cocktail napkin) but ultimately all that ends up in code form…</p>

<p>MIT OpenCourseware has an intro C course. [Practical</a> Programming in C | Electrical Engineering and Computer Science | MIT OpenCourseWare](<a href=“http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-practical-programming-in-c-january-iap-2010/index.htm]Practical”>Practical Programming in C | Electrical Engineering and Computer Science | MIT OpenCourseWare)</p>

<p>I’d recommend Java, C/C++, and Python, in that order. Knowing how to program can’t be a bad thing for any STEM major. There’s plenty of programming you can learn without knowing the first thing about CS. I’d treat programming languages the same as foreign languages for the purposes of college applications: if you knew French, how would you say so in your application?</p>

<p>HyperionOmega, AnImpAffliction: The Udacity Intro to CS course looks pretty good! I think I will work on completing that over the summer. </p>

<p>Thank you for the suggestions everyone.</p>

<p>Here is a classic introductory CS textbook. You can read it and do the examples and exercises on your own computer.</p>

<p>[Welcome</a> to the SICP Web Site](<a href=“http://mitpress.mit.edu/sicp/]Welcome”>http://mitpress.mit.edu/sicp/)</p>

<p>definitely start with c++, that was my first programming course that needs to be taken by all engineers. c++ is very good to know because it is still being used by alot of industries.</p>

<p>I would go c++, c, java and branch out to whatever .</p>