<p>I'm a complete noob to coding, but I've at least figured out that there are multiple languages (C++, Python, Java, HTML, etc.). I'm taking AP Compsci next year, which will teach me Java, but I want to get a head start for two reasons:</p>
<p>1) to help me do better in the class
2) I want to make a mobile app with my friend</p>
<p>So based on what I've read, I think HTML is the one I should start with just to familiarize myself with code (can anyone confirm)? And I think I'm going to have to make an android app as Xcode is only for Macs (right???) </p>
<p>And how long would learning the basics take, on average</p>
<p>Sorta lost here :I thanks.</p>
<p>Well, for starters, know that HTML is not programming, it is a markup language which is used to construct websites, but it doesn’t really <em>do</em> anything. Programming an app is definitely not what you think it is, in order for it to be sleek and fancy like the popular ones that you see on the App Store / Play Store you will have to work at it for a long time, so if that is your sole motivation I suggest you look more into designing the app and have someone else program it for you.</p>
<p>As for the actual course, it’s rather easy. Really all you learn are the basics (e.g. If this, then that, otherwise something else). I doubt learning anything ahead of time is really necessary. Although then again, my perspective might be biased as I knew quite a few programming languages before starting the course.</p>
<p>If you’re looking into a good programming language to start with, I highly, highly, highly, against 90% of people who will reply to this thread, suggest Scheme. It will teach you powerful concepts like homoiconicity, functional programming, immutability, etc. that are very useful, but are virtually nonexistent in “mainstream” programming languages. So, knowing that you will be learning Java in the future, I’d say Scheme is a good choice as you can apply things to your programs that most Java programmers cannot.</p>
<p>It will probably take you literally a week to learn the basics of Scheme if you watch like 5 - 10 YouTube videos each day.</p>
<p>If you want to get a head start then I suggest going on YouTube. That’s the best way.
I don’t know if you can post links but I put it below this sentence.
<a href=“Java Programming Tutorial - 1 - Installing the JDK - YouTube”>Java Programming Tutorial - 1 - Installing the JDK - YouTube;
If you don’t see it then type in ‘Java Programming Tutorial - 1 - Installing the JDK’ (without the quotes) and let your journey being xD
The channel name should be ‘thenewboston’. Those tutorials are great for people wanting to learn Java.
And regarding your interest in making mobile apps:
Most mobile apps aren’t made with Java (although I think android is leaning towards it). It’s mainly used with languages such as C++. It’s up to you guys though. I’ve made a lot of games such as Tetris and Minesweeper with the Java language.
To add on, learning HTML won’t help you get a solid foundation for programming. To get a better perspective on programming in general, I suggest learning Python. It’s really user-friendly and it helps you learn concepts that are essential in other languages. That’s why places like M.I.T. use Python in their beginning Computer Science courses (which is also why they don’t give credit for the AP Computer Science A exam). Plus, there’s an awesome tutorial of it in Khan Academy. It’s a website so you should also check it out. I’ll post a link below but if that doesn’t work then just search ‘Python KhanAcademy’ (without the quotes) in the Google and you’ll learn Python real quick.
<a href=“https://www.khanacademy.org/science/computer-science-subject/computer-science”>https://www.khanacademy.org/science/computer-science-subject/computer-science</a>
If you have any questions feel free to PM me~!</p>
<p>Python is really nice. I’m learning with it and it’s really easy to pick up. I haven’t moved on to anything else yet, but from what I know it should introduce you to programming concepts without being as complex as something like C++</p>
<p>I took AP Comp Sci this past year, and found there was nothing that you need to be particularly prepared for, (although it might depend on the teacher, as my teachers (we have 4 for each class) were microsoft employees working through the TEALS program). For mobile apps you will need a much deeper understanding of programming than you will likely get from the class. but Java is a good language for it.</p>
<p>If you want to do well in the class, just get the barron’s book (my main suggestion). Also, don’t bother with html since it won’t help you with learning java. As another poster above me said, find some youtube videos on java or C++. I would recommend looking up “thenewboston” because he also has a lot of videos on how to make android apps. You can make ios apps on windows but it’s not as easy as making them on xcode, so stick with android apps for now. The amound of time it takes to learn how to code depends on how long it takes for one to start understanding the logic behind code. Good luck!</p>
<p>I recommend skimming Oracle’s Java documentation, specifically with more stress on concepts in the AP subset.</p>