<p>Hey guys, I took AP computer science in my senior year of high school, my teacher recommended that I skip the two years of prerequisites because I'm pretty good at math, so I took the class, learned close to nothing, and managed a 4 on the exam. I really do love the topic of computer science, and programming is really fun (I managed to teach myself the absolute basics and enough to pass the AP, but really nothing more). I want to be able to work with mathematical modeling, software, and things like that, but I don't really know where to start, because I essentially no close to nothing, other than the basic concepts.</p>
<p>Question: anyone have any (preferably easy to access) ways or methods to learn/practice programming? I'm not partial at all about whichever language to be honest. I just found out about codecademy.com and that's helping me a ton (it's close to perfect interface-wise, but a bit basic so far), but I know there isn't too much content on that site.</p>
<p>Any book, website, tutorial recommendations (the more interactive the better, I'm not a huge fan of reading walls of text!)?</p>
<p>This is a free online book which will get you up to speed with python. I absolutely loved this book and if you stick with it and do all of the exercises, you WILL be able to make basic programs by the end of it. I’m currently working in a neurobiology lab creating computational models of ion channels in neurons, and I had absolutely no programming experience prior to this. After reading this book, I’m miles ahead of other students in the lab. I also know others who swear by this book… Just google some reviews. HIGHLY RECOMMENDED</p>
<p>Thanks so much! I’ll look into it, I have a few weeks till school starts so I’ve got time!</p>
<p>Any other recommendations/suggestions? I’m compiling all of the results I have by programming language, if not for now for the future, and I’d be willing to share results with other beginners!</p>
<p>What kind of programming experience do you have? You were kind of vague on the subject.</p>
<p>If you have basic knowledge of Java and OOP (as I assume you do, given you took AP CS), I would recommend Dive Into Python ([Dive</a> Into Python 3](<a href=“http://getpython3.com/diveintopython3/]Dive”>Dive Into Python 3)) over Learn Python the Hard Way (LPTHW). One difference is that Dive Into Python is done in Python version 3, while LPTHW is done in Python version 2.</p>
<p>Currently, the Python community is undergoing a transition towards Python 3. Python 3 and Python 2 are very, very, very, very similar, but are not at all compatible with each other; furthermore, you might pick up “bad habits” in Python 2 that were eliminated in Python 3. Python 3 is essentially the “way of the future” for the Python language, though Python 2 is used probably as widely as Python 3.</p>
<p>However, if you are a total programming beginner, I would stay away from Dive Into Python. LPTHW is written for people who have never done programming.</p>
<p>It goes without saying the LPTHW is a great book. I just believe that Dive Into Python is the better suit.</p>
<p>Okay, I took AP CS, skipped all the intro prerequisites for it in my school off the teacher’s recommendation. The class was 100% projects, with little to no explanation about really anything. </p>
<p>I studied for the AP exam, so I know about concepts etc. but I really can’t make a program for my life. Don’t know much about GUIs or how to really start a program lol, so I’m a beginner. I hope that clears everything up. Codecademy I really like because the interface teaches me the syntax etc. My real problem isn’t about technique or anything, I know the concepts etc. I just don’t know syntax, and I don’t know what to do about it. I read review books and stuff, but I just can’t get a handle on that part, which is why I like codecademy, and why I feel so useless coding in general.</p>
<p>I have knowledge of OOP etc, so I’ll check out Dive into Python also!</p>
<p>I hope I made myself more clear, I get the topics, I just don’t really know about the nitty-gritty of programming, setting up GUIs, and arranging syntax etc.</p>
<p>Get your hands on some working source code that you can modify bit by bit. I was similar to you, understanding the concepts before I understood how to make anything compile. You have to get over that hump of seeing the changes you made to the code take effect on screen before you can really move forward.</p>
<p>A good starter project would be to create a text adventure, that takes some simple commands as input (GO WEST, TAKE SWORD, OPEN DOOR and the like) and outputs descriptions of each room as the player moves around. That will get you more accustomed to the syntax of whatever language you can use.</p>
<p>I’m telling you, just work through learning python the hard way… There is a chapter where you are suppose to take a week to make a simple “game” as was just mentioned (from scratch). The book will fill in any gaps in your knowledge.</p>
<p>^^^ Choose a language, and google “hello world [language]”. Then google “text input [language]”. Add the code from the latter to the former and you have all you need to start on a text adventure.</p>
<p>^ learning to code is going to be a hassle however you slice it. It’s like learning a human language: you simply won’t get good at it until you speak it regularly for years.</p>