Hello, Nuggets, I’m Silent King 2.

Today to share some tips about learning programming, really upset me to learn programming before stereotypes, so to speak, if you happen to at university level, see the article content, OK, congratulations to you, if you can do what I say, when senior year can lead students, unless you are good to share this content with him – hey.

Programming is divided into two kinds, one is practical, the principle of practice is true knowledge; One is theoretical, the principle is to understand all the knowledge before they are willing to start. The former wrote a lot of code, but the foundation is not solid, when I just learned programming should belong to this category; “Talk is cheap, show me the code.”

A real bull can find a delicate balance between the two.

As an aside, the algorithm is like the eight-part essay reciting in the imperial examination era, which is the representative work of knowledge changing destiny. You don’t brush, whether it’s school or club, it’s too close to the algorithm. This LeetCode brush notes I have compiled are as much as 300, which is very helpful for students with weak algorithms and who need to improve algorithms:

After 300 LeetCode problems, I was floating!

For office worker or the classmate that turns a profession, want to spread all knowledge point to study, really not realistic, the best way is heavy actual combat, fill theory again next. I think it is the most correct way for college students to spend more time on theoretical knowledge because they have enough time to work and then make up for their shortcomings in practice. After all, you can’t have your cake and eat it too.

In recent years, I have added a lot of basic knowledge, suddenly feel “different”, programming has made a lot of progress, although still bad, but much better than I thought a few years ago.

Well, without further ado. I’d like to first recommend a course, CS50 from Harvard University.

The teacher is very passionate, although not in the scene, but still have a feeling of being in the scene. The first class, directly called the students to the platform to tear a super thick book, in order to give the students to instill a kind of thinking – say directly, is the binary search method, first tear the book half, and then tear half, and then tear half, until find a name with the beginning of M.

There are only more than 20 classes in total, and each class lasts about an hour. You can swipe one class every day. I’m going to make a quick list of the courses, basically the basics of programming.

  • Algorithms, programming, language, etc
  • Data storage, disk, etc
  • C language, source code, compiler, etc
  • Functions, global variables, parameters, return values, etc
  • Linear search, binary search
  • Notation, recursion, bubble sort, etc
  • Merge sort, dynamic memory allocation, heap and stack, etc
  • Pointers, file input/output, etc
  • Sudoku, the most famous bug in computer history
  • How do contra games allocate memory, etc.
  • Hash functions and so on
  • Network programming
  • Network security and so on

I’m sorry to say that I used to think that learning Java was enough and being a GOOD CRUD boy was good enough. Then with the passage of time, more and more feel that this idea is a little naive, a little innocent, ha ha, or strive for progress, learn more there is no harm.

Learn also line at the beginning, fill subsequently also line, in short, it is not granted not to learn, will suffer, suffer greatly.

As for C language, I have recommended a video by Weng Kai, a professor of Zhejiang University, and an Online English learning website for new students to check out.

I kicked down the door of C language

You’ll notice that many computer science books, including courses, will almost always have examples in C. I also mentioned C language Symbol Table in the article a knife, straight into the small heart of the class file.

C is very old, but the older something is, the longer it lives, the more it proves its superiority.

I have to say, Harvard is Harvard, good schools are good schools, and this course is really good. If you are really interested in computer science and want to work in the industry, it is highly recommended to do it several times.

This is the best piece of honest advice for a beginner from someone who’s been in the programming business for over a decade. Below is the location of the course.

Open.163.com/newview/mov…

Brush this “Harvard University CS50”, also brush professor Weng Kai’s “C language programming”, you can see the following book!

This book cow not cow force, directly see douban score can feel, basically all star, should be said to be computer related books in the highest score of a bar.

It must be a good book, a very good book.

But can see understand, can endure patience to look down, need to see your concentration!

The book starts with the computer. It explains what parts are in the main computer, what parts are on the motherboard, and how the CPU, memory and hard disk are connected.

Describes how our programs are compiled from a text file, then into assembly language, then machine code, and how they are executed by computers.

Also talked about the computer network, computer composition principles, processes and threads, and so on, from hardware to software, all taken down.

What do you get out of this book?

  • Identify what we lack in knowledge at a given stage.
  • Geeks with a technology bent will find plenty of answers in this book.
  • Finally, we understand how the program we write is executed by the computer.

Again, Understanding Computer Systems in Depth is not a beginner’s friendly book. You may need to read it again and again at different points in time. If you don’t understand it at the beginning, you can wait for a while. Also, many of the examples in this book are written in C, so be sure to understand C thoroughly before reading this book.

In short, don’t entertain the illusion that you must know everything about this book. First learn 1% from it, then learn 5%, then 10%, don’t rush, learn point is point, how much you can learn is worth, don’t abandon don’t give up, hey hey.

If you really want to program as a career, you need a book like this.

While reading this book, you can start learning about data structures such as arrays, linked lists, trees, graphs, and hash tables. Why learn about data structures?

Data structure, as a necessary basis for building efficient algorithms, plays the role of the cornerstone of technical systems in the field of computer science. Taking ACM/IEEE Computing Curricula (2005) as an example, in it, data structure and algorithm are the core of programming concepts and skills in the common requirements of several related majors including computer science, computer engineering, information system, information technology and software engineering. It came in second place, right behind math.

Of course, basic algorithms, such as dynamic programming, greedy algorithms, and basic sorting algorithms, are not immune.

I recommend you an online learning website, the address is as follows:

www.programiz.com/dsa/why-alg…

This is a pure English learning website, why is it in Chinese in the screenshot? Haha, I translated it in Safari, of course. Students with good English skills can read the original English version directly. The code examples are available in Python, Java, C, and C++, so you don’t have to worry about the programming language.

Students who are familiar with C++ can directly read the courses recorded by deng junhui, and there are supporting books — data structure, the third edition, and computer series textbooks of tsinghua university, whose quality is beyond recognition.

Let me post the online address of the course:

www.xuetangx.com/learn/THU08…

If you want to get a good Offer after graduation or when you want to change jobs, or even experience the feeling of not knowing which one to choose when there are so many offers in front of you, these three courses, one learning website and two books I recommend are worth it!

In addition, be sure to brush algorithm questions, especially if you want to go to dachang, algorithm questions are must brush to their own suffocating kind!

What the hell, BAT’s writing is so good!

Wow, the original learning programming can be like this ah, learn to fly directly, friends, like up, ok? Hee hee ~