i dont know how to start programming ???please helppp
#computer-programming
#computer-science
I'd love to got Android programming but academic projects are with c language Do you think I go looking for my interest and to read Java or c language to read?
7 answers
Christopher’s Answer
Hi Elina! I learned Android by simply jumping in and doing it! You will struggle along the way, but this is how you will learn. If you try to learn everything all at once you will become overwhelmed with concepts and things to do, so I suggest you:
- Come up with a simple app idea
- Sign up with stackoverflow.com
- Start coding!
The first few apps I built on Android were very very simple. They were "quote" apps that had famous quotes and you could swipe to through them. Doing something as simple as this will let you learn the basics of Android and coding in Java/Kotlin and then you can build something a little more complicated. You can repeat this over and over until you're able to build something really complicated using everything you've learned over time.
Google has a great getting started guide here:
https://developer.android.com/training/basics/firstapp/
When you get stuck you can search Stack Overflow for existing answers to programming/android questions you may have, and if there isn't an answer you can ask your question there and somebody will help you! :)
Christopher recommends the following next steps:
Peter’s Answer
Hi Elina,
While you will experience many programming languages throughout the course of a computer science program, most programs will have one or two primary languages they use. I went to a school that primarily taught fundamental concepts in Java. I've heard of others that would primarily use C++.
With that said, it is generally useful to know multiple languages. The computer science program will teach the theory and concepts that will translate to any programming language. The syntax of the code will be different but the definition of a Linked List remains the same no matter what language you're working in. Learning a new programming language can be similar to learning a communication language. Sometimes there is overlap, for example Portuguese and Spanish. This would be akin to learning Kotlin if you know Java or vice versa.
As to Android development, the industry seems to be adopting Kotlin at an increasing rate, now that it has first-party support. You can also see what the adoption is like here: https://pusher.com/state-of-kotlin. It might behoove you to bypass Java altogether and focus on Kotlin in your personal time. I doubt you'd be able to find a school that does their full teaching in Kotlin though. Finding a school that primarily teaches Java may be beneficial as you'd be able to increase the pace of learning what they are trying to teach. It can take some time to translate concepts between language. It may be better to do that later once you grasp the fundamentals.
Peter recommends the following next steps:
Alex’s Answer
Hi Elina!
Good question. Its always hard to know where to start when doing something new.
When I started out developing, all I wanted to do was make mobile apps. I, like you, was in an academic program that focused on foundations and fundamentals that seemed so far away from the mobile apps in my dreams! My approach is laid out for you below, but here is the gist. I stayed in my program and worked hard to do well. While studying computer science at Berkeley, I sought out an iOS development group led by students. There I got pointed to a number of resources and did some group labs with my fellow students, even developed a real world app that was published! This experience was so fun and allowed me to get some real experience and see the magic of mobile app development. Even though it was a student led course, having this on my resume helped me to land my first job on the mobile team at LinkedIn. So, below is my advice to you on how to get started:
First, I'd say its important to continue to work hard and do your best on your academic projects that are in C. Though C is an old language by todays standards and seems so far away from building cool Android apps, being proficient in C programming will set you up for success in any task you set out to achieve throughout your software career. Just like having a solid foundation is essential when building a skyscraper, its also really important when building your knowledge and skills! My suggestion here is to put your all into your assignments and make sure you take the time to understand the solutions even if you didn't get it right the first time.
Second, get familiar with the Java language. You can definitely do this in addition to your current classes. I recommend checking out this reddit channel and searching for the best Java posts.
https://www.reddit.com/r/learnprogramming
I also highly recommend the resources at https://www.freecodecamp.org which is all about discussing and gather the best free ways to learn how to program in any ecosystem.
Third, there are some great resources to out there to learn how to build Android apps so don't be afraid to dive right in and get started! Look at the reddit channel /r/learnprogramming linked above. Also, Google, which develops and maintains the Android ecosystem, has a number of guides written for all levels. Check some out here!
https://developer.android.com/guide/
It can be helpful to go through these in groups, so find some friends from your class who are interested in Android development as well and start to work through some of them together. When one of you gets stuck its always helpful to check with others working on the same guides.
Alex recommends the following next steps:
Arun’s Answer
Hi Elina,
Ultimately, the key skill to programming is to be comfortable in whatever language you end up using. Once you've tried a couple of different languages, you'll learn that programming is more like writing. The language you write in is important, but not the most important thing about it. Once you learn a different language, you can generally translate your work easily.
With that said, my advice to you is to build the thing you want to build. If you want to build an Android app, learn Java. You're much more likely to learn and be interested in what you are building if you actually enjoy looking at the end product. Moreover, the skills you pick up in learning Java will help you if and when you have to learn C as well! A lot of concepts and syntax are very similar.
I started programming at a young age because I really wanted to make a game that I could play with my dad. I made this game in BASIC, which was frowned upon in the old days. Had I stopped to take academic courses and learn C, I would have gotten too bored to pursue the more interesting aspects of programming.
Arun recommends the following next steps:
James Constantine Frangos
James Constantine’s Answer
To get started with programming, especially if you’re interested in Android development but currently working on academic projects using C language, I would recommend the following steps:
Understand the Basics of Programming: Before diving into a specific programming language, it’s essential to have a solid foundation in programming concepts. This includes variables, data types, control structures (if-else statements, loops), functions, and arrays. You can find numerous free resources online to learn these concepts, such as Codecademy (codecademy.com), Khan Academy (khanacademy.org), or MIT
OpenCourseWare (ocw.mit.edu).
Choose a Programming Language: Both Java and C are popular choices for programming, each with its strengths and weaknesses. Java is known for its simplicity and extensive class libraries that make it an excellent choice for developing large applications like Android apps. On the other hand, C is a lower-level language that provides more control over system resources and is often used for system programming or embedded systems development. If your primary goal is Android app development, I would suggest starting with Java due to its widespread use in this domain and the availability of numerous resources and tools specifically designed for Android development using Java.
Find Learning Resources: Once you’ve chosen a programming language, there are several resources available to help you learn it effectively:
Online Tutorials: Websites like Codecademy, Coursera (coursera.org), edX (edx.org), and Udemy (udemy.com) offer interactive coding exercises and video tutorials to help you master various programming concepts in your chosen language.
Textbooks: There are numerous textbooks available on various programming languages that provide comprehensive coverage of the subject matter. For example, “Head First Java” by Kathy Sierra and Bert Bates is an excellent resource for learning Java from scratch. For C, consider “C: A Modern Approach” by Kernighan and Pike or “The C Programming Language” by Kernighan and Ritchie.
Community Support: Joining online communities like Stack Overflow (stackoverflow.com) or GitHub (github.com) can help you connect with other developers who can answer your questions and provide valuable insights into the programming world.
Practice Regularly: Consistent practice is crucial when learning to program effectively. Try to write code every day, even if it’s just for a few minutes at a time. Start by working through exercises in your chosen textbook or online resource before moving on to more complex projects like building your own Android app using Java or contributing to open-source projects on GitHub written in your preferred language.**
Authoritative References Used:
Codecademy - An interactive learning platform for coding skills in various languages including Python, JavaScript, Ruby, SQL, HTML/CSS & more
Khan Academy - A non-profit educational organization providing free online courses on topics including mathematics, computer programming, history, art history, economics & more
MIT OpenCourseWare - A web-based publication of virtually all MIT course content including multimedia lectures from top professors at one of the world’s most prestigious universities
God Bless You,
JC.
Nikolay’s Answer
Hey there: The programming language is not so important in the long run.
Finding great instructors and buddies to work with is the hardest and most important part early on with programming because it feels so foreign to most people to sit at a computer and look at a screen., whether it's Android or something else. Eventually, it does get really fun, but to stay excited about it in the first weeks and months, you'll be most successful if you can find great teachers and buddies.
Therefore: If you find yourself with better opportunities, for example, teachers or classes, in C or C++ or anything else, go for that first anyway.
Java and Android will always be available, and once you've learned one or two languages, switching between them is a lot easier than it seems at the moment.
Good luck!
Nikolay recommends the following next steps:
Chris’s Answer
Hi,
Java and C have a lot of similarities - when Java was designed, C and C++ were major sources of inspiration. If you're already familiar with C, learning the basics of Java is pretty easy. In a lot of ways, Java is easier - for one thing, Java has "garbage collection", meaning you don't have to worry about manually managing memory!
One of the biggest differences is that Java is an "object-oriented" language, while C is a more "procedural" language. Here's a short video that explains the difference:
https://www.youtube.com/watch?v=OEfSFrk_KEI
Here are a few links that can help you learn the basics of Java. The second link summarizes the key differences between C and Java.
https://www.javatpoint.com/java-tutorial
https://introcs.cs.princeton.edu/java/faq/c2java.html
Here's a great tutorial for building your first Android app. There's actually very little Java involved, and you should be able to follow it if you have C experience:
https://codelabs.developers.google.com/codelabs/build-your-first-android-app/
Best of luck!
Chris recommends the following next steps: