Bạn có chắc chắn muốn xóa bài viết này không ?
For newbies - How to get started (Based on my experience)
This is my first blog post on Kipalog. I'm a freshman in Wollonong University, Australia and currently studying Bachelor of Computer Science. I've got one year and a half preparing for my study in uni and this post is about what I've learnt in summary. You should do these tasks in order because the previous steps are the prerequisite of the next one.
Let's get started!
Read Discrete Mathematics while following my guideline. It's a bit long but gradually you will finish it. The reason why Discrete Math is so crucial is that it's the basic for everything in programming. Read this book in Vietnamese. I do recommend a book I read which is "Discrete Mathematics and its applications" - Kenneth H. Rosen. It has a Vietnamese version.
I started out with SQL (Structured Query Language) : In my humble opinion, this is strongly recommended as a head start because every single application, website or API you'll be building in the future is totally based on databases. And furthermore, it's relatively easy to learn compared to the belowing stuff. How to learn : start with HeadFirst SQL first. It's free, the English used is not very hard to comprehend, and it's extremely humorous & intriguing compared to those heavy textbooks you might find at uni. DON'T STOP! Revise it every two months by listening to courses on PluralSight
The next stop is Programming Language : Start with either C# or JAVA because their structures are really strict (I learnt both ). They're good for basic understanding about OOP (Object Oriented Programming). How to learn : HeadFirst C# or JAVA (both free). After finishing the book, build one or two desktop applications yourself, and send it to your friends . Like SQL, DON'T STOP!, there are many aspects that are not covered by the book. Go to PluralSight to learn further.
Next, start learning Python and Data Structure and Algorithms concurrently: Python is one of the most powerful programming languages nowadays. Not only is it used to develop programs but also to build AI and Machine Learning. Data Structure & Algo is extremely important that every developer must have a grasp of. It will teach you about how computer organizes data & how to solve a problem using programming techniques. How to learn: HeadFirst Python (free), Coursera - Algorithms and Data Structures - University of California San Diego.
Practice Python Programming by deploying a website using Flask framework (There is also Django but I recommend Flask for new learners). I followed the guide on this link (pretty comprehensive):
Learn Android Programming: Use the HeadFirst series for your learning. It's pretty long though but by the time you finish the book you can watch some videos on YouTube and build an Android application on your own (this is also a must-do in this step). In this step you'll have a chance to practice your JAVA which you've learnt in the second step.
https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg. Next, go to PluralSight, find some intermediate courses about REST API and learn those to master your skills.
Learn a frontend framework: Angular or React (I learnt Angular): You need these framworks to collect data from the REST API you created earlier and display it to the user in browser. How to learn : PluralSight has many great courses, YouTube is okay .
Finally, explore other domains like Networking and System Design & Analysis: You won't need Networking much if you're gonna be a software developer. But, still, learn it through the HeadFirst series to have a grasp of how your data travel through the Internet. The latter - System Design & Analysis is of more importance since you'll be learning about the procedure of how to develop a system for companies nowadays. How to learn : HeadFirst Networking of course. And for the other, I highly suggest reading
System Analysys and Design in a changing world - 7th Edidtion - John W.Satzinger
I hope that some people will find my post helpful, therefore, improve their study prior to college. With the knowledge here, I think you will be more than ready for your future learning . And, remember to SLOW DOWN sometimes, review what you've learnt and make sure that you understand how things work thoroughly. No more chit chat, let's get started before the time runs out!