Current location - Training Enrollment Network - Mathematics courses - How do beginners get started with programming?
How do beginners get started with programming?
First of all, introductory programming needs a step-by-step process. You need to know the basic programming grammar first, start with solving basic math problems, and then start learning programming languages.

Secondly, the initial programming thinking should be constructed. The so-called programming thinking is the thinking and way to solve problems through programming language, which is simply an abstract process. One of the most effective ways to exercise programming thinking is to complete a large number of experiments and form your own programming ideas by constantly summing up experiments. Therefore, if there is a shortcut to learning programming, it is to insist on doing experiments.

Finally, introductory programming needs a complete knowledge structure, involving operating system, computer network, database, algorithm design and data structure. In the current era of big data and cloud computing, it is also necessary to master the relevant knowledge of big data and cloud computing, especially IaaS and PaaS. This knowledge can be learned at the same time in the process of learning programming language, and mastering these contents will have a great impact on programming ability.

Finally, there are many programming languages at present. For beginners with weak foundation, you can start with Python.

Recommended tutorial: Python400 episodes of Beijing Shangxuetang, which is rich in content and systematic. It is suitable for Xiaobai to get started from the beginning, and there are projects that are not boring. Lecturer in established institutions, professional, with many dry goods. This is on their official website or blah blah. You can go and have a look. Good evaluation. It is the most recommended course I have seen so far.

Follow the right person and choose the right book! I am code farmer Ayong, a platform dedicated to sharing programming knowledge!

Programming is a skill. In theory, it is similar to other skills, and practice is the main way. However, it should be noted that programming has programming thinking, and you have to use this thinking to understand, otherwise, you will not be able to enter the door.

Practice programming thinking

This feeling is like the second pulse of Ren Du in martial arts novels. Only after you master the programming thinking can you really get started. It's like your foundation. As for other languages, you build houses on them. I remember when I first started programming in my freshman year, one person in my class passed the mid-term exam. It is because of programming thinking that everyone's brain can't turn around. By the way, if you have a good foundation in mathematics, there are extra points here. If you have a poor foundation, it doesn't matter. Slowly, while programming, you will also improve your math ability.

Now the network is relatively developed and there is a lot of information. You can find several articles on programming thinking, and the language is not limited.

Choose a language

I went to college 20 years ago, so my first language was C. If you are not in an ordinary class, I don't think you should choose C. Ordinary classes teach many languages. I counted that there were no fewer than seven or eight languages learned in those years, but they were not used much, and some of them were eliminated. You can choose the hottest language at the moment, and personally suggest Python. If you study Python, it can be your assistant even if you are not a programmer.

Of course, if you are interested in Web development, you can also learn JavaScript.

If you study, you can read books and look up information online, but for beginners, it is better to watch videos directly. Basic video is basically free. You can go online to open online courses, search for some basic videos, and write code while watching videos. Remember, programming is an engineering job, so you must write code. If you don't write, you'll forget after reading it.

Start a project

Learning a language does not mean that you can program. You may write a few lines of code or some gadgets, but to do a project, you need to master a language ecosystem, and the ecosystem needs to find its direction.

Let me give you an example of the development direction of the network. If you want to do Web front-end development, you need to know.

What are HTML, CSS and JavaScript?

What are ES6, ES7, etc?

What are NPM and Node.js?

What is modular, componentized and functional programming?

What is React, what is Vue and so on.

Of course, you can learn this after you finish the project, or you can buy a systematic professional book. Yes, only when you start the project can you start your growth. At this time, you will start reading. If you don't like reading, it's really not suitable for programming. Programming truly embodies the so-called lifelong learning.

If you don't have a good project, I suggest that if you learn the Web-oriented programming of JavsScript, I suggest you make a Web version of ToDO, a relatively simple project that can involve many aspects. There are also many examples on the Internet. You can learn by doing.

If it is Python, I suggest you make a reptile project first, make a movie station and other tools yourself, grab some data and do experiments.

Persistent persistence

Finally, stick to it and you will encounter many problems. You must go to Google and StackOverflow for these questions, and then often look through some other people's codes on Github, and basically start to grow.

Understand what programming is for first. Programming is the process of letting the computer solve a certain problem, specifying a certain operation mode for the computing system, making the computing system run according to this calculation mode, and finally getting the corresponding results.

In order to make the computer understand people's intentions, human beings must tell the computer the ideas, methods and means of the problems to be solved in a form that the computer can understand, so that the computer can work step by step according to people's instructions and complete a certain task. This communication process between people and computing systems is programming.

For computers, everything is just numbers. Then the purpose of writing code is actually to tell the computer two things, one is what numbers are there, and the other is how to calculate them! So the program consists of two parts: number and number organization, that is, data structure, and the logic of operation, that is, algorithm. And all programming languages are designed to express these two parts well.

A complete programming language generally includes the following contents: data declaration and type, operators and keywords, three statements (assignment, selection and loop), data structure, methods and classes. Among them, the declaration and type of data and data structure are the ways to express numbers and numbers; The rest, except the class, is the logic that expresses the operation; Class is the most special, it contains data structure and operation logic.

With the above overall understanding of programming language, it is to understand and master the relevant knowledge points one by one. And these knowledge points are often one by one, so it is easy to understand one:

The root of everything is number. Numbers should be classified into types-> Type, quantity to store-> There is a relationship among variables, constants and numbers->; Data structure, number to be calculated->; Operator, this number should be calculated according to the rule-> Three sentences and calculation rules should be sorted and reused-> Method, number and method are closely related->; Similarity between classes, encapsulation and classes->; Inheritance, the subclasses of inheritance are different->; Polymorphism, encapsulation, inheritance and polymorphism come together->; object-oriented programming

We should grasp the context between these language knowledge points, know where they come from, where they will develop, and most importantly, know what problems they appear to solve.

On the basis of mastering the language, we should also learn how to use computer resources. Computer resources are encapsulated by various platforms and provided in the form of SDK. Programming language is a kind of expressive ability, and SDK such as JDK and AndroidSDK is the use of resources, that is, the expressed content. We should distinguish between language and resources, so that we can finally use it freely. Learning is actually a process of learning classification. Knowing which is which, knowing the classification, will not make mistakes.

When learning programming, we often encounter a difficult problem: there are many knowledge points related to computer major, which seem unfathomable. To master a lot of programming knowledge quickly, we must have a clean cut-in angle.

We must first clarify a question: What is knowledge? Knowledge is the summary of the solution to the problem. All the knowledge we come into contact with seems to be just to solve a problem. When you know the problem and understand the thinking of others to solve the problem, you will master the solution. Many students fall into the sea of knowledge, which makes them confused, just because they don't know what this knowledge is for and what problems it seems to solve. And a lot of knowledge about computer technology is even more so. In order to solve the problem, it appears as a string. You don't know what problem it wants to solve, just wait to be passed out. Therefore, we must first understand the problems encountered in programming, and then understand how this problem is solved. This solution is the so-called "knowledge point". Therefore, we should always send out "three questions about the soul"

This learning method is called "problem-oriented learning method". With this learning method, when you come into contact with new knowledge in your study, you will immediately realize that this is a solution to a problem and cut into the problem. I believe you can understand and apply new knowledge soon.

Finally, and most fundamentally, the study of programming is for use. Only when you can use it can you really master the language and understand the relevant knowledge of programming. If you want to learn programming, you can take a look at my zero-based programming course. Learning is simple and interesting.

Traditional classroom training has many advantages, but it is not suitable for continuous learning mode or the busy schedule of IT personnel. Classroom learning sometimes needs to be arranged several months in advance, which depends on the availability of the course and the focus of the staff. And fixed-time group training courses are unlikely to be the best choice for your learning speed. Many parts of the course may not even be related to your specific professional role in the enterprise. With the rapid changes in business and IT requirements, can you ensure that the knowledge learned in the classroom can be used immediately after the classroom training? Do you need to refresh some knowledge in the near future, such as before implementation and upgrade or when solving emerging business problems? The limitations of one-time classroom learning make it very unsuitable for many IT professionals today. Digital training is rapidly spreading, because it is very suitable for IT personnel who are pressed for time and can meet their continuous learning needs. It allows you to learn what you need only when you need it, without having to attend the whole course or spend time in different places. According to your own rhythm, you can pause and repeat segmentation at any time according to your own schedule. Divide the training into several days or weeks according to your work schedule. The more and more obvious advantage of digital learning lies in its flexibility in location. You can study comfortably at your desk, staff training room or home office. Maybe you often travel to and from business locations or customer project sites? Or study during your daily commute? No matter where you study, self-study exams are always not recommended. Whoever tries will cry.

I suggest that you can choose the easy-to-use language python. I searched a lot of introduction videos on the headlines. Can help you quickly find the fun and feeling of programming. The most important thing is to build your self-confidence.

With interest and self-confidence, if you want to deepen and improve. You can try to learn data structures and algorithms. Headlines also have many video tutorials. This will help you to enter this industry.

Then you can try learning Java or Go. Learning another language can make you have different experiences and understandings.

After that, you can try to learn from architectural knowledge and read DDIA. I am sharing reading this book, and the challenge is the English version. You can look at my homepage.

If you want to learn programming, you must first choose a programming language. Common programming languages are:

C/c++, good performance, but low development efficiency.

Java, the performance is slightly poor, but the development efficiency is high, the basic library is perfect, and there are many available frameworks.

Python, poor performance, but high development efficiency. As the saying goes, life is short, which is why I use Python.

Js, mainly used in the front end, can be used in the back end but rarely.

Php, mainly used in the back end.

Go, mainly used in the back end, gives consideration to performance and development efficiency.

Dart is a very competitive programming language, which is used in flutter framework and has great potential in cross-platform field in the future.

Kotlin and goole strongly replace java to develop the programming language of androidapp.

There are many more.

According to your own needs, choose a course, then learn basic grammar, and then try some simple projects. At this time, you must read more other people's codes, learn the design of other people's data structures, the use of grammar, etc., and practice more yourself. After doing a few simple projects, your self-confidence will be greatly increased and your interests will be more abundant. Then you can try a slightly more complicated project and realize some of your own ideas.

If you choose to improve at work, remember that work may make you lose the fun of programming. However, remember, it is not the programming that has changed, but the pressure, doubt and hard work that make it lose its fun. I hope you can stick to it and finally get rid of the haze and enter a new and higher realm.

PS and AI are two essential skills for UI designers. For those who want to learn UI design, they must first learn to use PS and AI. How can I learn these two things quickly? The following Qianfeng UI design training will share with you a 20-day introductory tutorial on learning UI design (PS+AI).

Course introduction

This set of courses mainly explains the use of PS tools, and introduces the basis and application cases of mask, channel, filter, layer style and layer blending mode. This paper mainly introduces the basic usage of artificial intelligence and expounds how to design brand image with artificial intelligence software.

After completing the course, you can skillfully use PS and master portrait retouching, advanced matting, image synthesis, poster making, light texture icon making and so on. Skillfully use AI software, and master logo design, business card design, single page, folding, Yi Labao and other designs, and master the composition, design and production of VIS manual.

Course catalogue

Chapter 65438 +0 PS

1. Meeting Adobe for the first time

Version iteration of 2.2. Postscript (same as postscript); Police sergeant

3.3 Introduction and use. Postscript (same as postscript); Police sergeant

Introduction of 04PS Interface and Workspace

05PS preference settings

06 file creation and opening

Storage and format of 07 files

Understanding of 08 layer

Classification and function of layer 09

Basic operation of 10PS software

1 1 Basic use of mobile tools

Alignment of 12 layer

13 layer distribution alignment

14 box selection tool and selection addition and subtraction operation

15 comprehensive application of frame selection and color filling

Feather 16 constituency

17 lasso and polygonal lasso tools

18 magnetic lasso tool

19 the use of magic wand tools

20 Quick Selection Tool

2 1 Select and Cover-Sparse Hair

Pick your hair

23PS color range

24 cutting tools

25 perspective editing tool

26 Slice and Slice Selection Tool

27 drawing box tool

28 brush tool

29 Brush panel

Define brush defaults and load brushes.

3 1 color substitution tool

32 eraser tool

33 background eraser

34 magic eraser tool

35 stain repair brush tool

36 repair brush tool

37 repair tools

38 content-aware mobile tools

39 red eye tool

40 seal imitation tool

4 1 pattern stamp tool

42 historical brush tool

43 gradient tool

44 paint bucket tool

45 Basic usage of pen tool

Basic usage of 46 shape tools

Application of 47 plastic tools

48 Boolean operation application

49 Boolean operation application 2

50 text tools

5 1 Character and Paragraph Panel

52 path text

Blur and sharpen tools

54 daubing tool

55 Deepening and Mitigating Tools

56 sponge tool

57-layer mask

Application of 58 clip mask

Application of 59 masks

Application of layer mask added reflection

6 1 hue saturation

62 color balance

63 optional colors

64 color scale

65-degree curve

Channel 66

67-Channel Application-Pick Hair

68 surface blur filter

69 Gaussian blur filter

70 dynamic blur filter

7 1 radial blur filter

72 twisted ripple

73 twisted polar coordinates

74 deformation-spheroidization

75 Stylization-Wind

76 Stylization-Highlight

liquefy

78 Liquefaction-Face-lifting

Gao Fancha kept grinding his skin.

80-story style (1)

8 1 layer style (2)

82-story style (3)

83rd floor style (4)

84-story style (5)

85 dissolution mode

Principle analysis of 86 dimming type

87 Brightening Application Case

88 darkening application

89 superposition and soft light mode

90-layer mixed mode application (1)

Application of 9 1 layer mixed mode (2)

92 What is artificial intelligence?

93 interface distribution and function introduction

94 new document

95 open the file

96 storage file

Basic operation of 97AI

98 color fill and stroke

99 rectangular tool set

100 selection tools and direct selection tools

10 1 cartoon image painting

102 magic wand and lasso tool

103 pen tool set

104 scissors and carving tools

105 text tool

106 linear tool set

107 Brush Toolset

108 Rotation and Mirror Tool

109 ferris wheel illustration

1 10 shape generator

11/application of shape generator

The Application of 1 12 Shape Generator (2)

1 13 real-time coloring tool

Application of 1 14 real-time coloring tool

1 15 gradient tool

1 16 mixed tool

Application of 1 17 mixed tool

1 18 application of gradient and blending tools

1 19 path finder (1)

120 Path Finder (2)

The application of 12 1 path finder

122AI integrated application -MBE style icon

123 comprehensive application-making -logo icon

124 comprehensive application-color text production

125 comprehensive application -2.5D font

126 integrated application-offset path

127 comprehensive application-circle tangent diagram

128 comprehensive application-cutting mask to make texture background

129 comprehensive application-grid tool to make gradient background

130 comprehensive application-symbol

13 1 comprehensive application-flying particles

132 integrated application-streaming media planet

133 comprehensive application-color gradient lines

134AI night illustration-background creation

135AI night illustration-tree making

136 ai night illustration-making trees (2)

137AI night illustration-moon and firefly production

138AI night illustration-elk production

139AI night illustration-leaf making

What is a font?

The Importance and Methods of Font Design

142 font characters

143 basic word formation method

144 rectangular layout

145 stroke typing

146 geometric element method

147 stroke thinning method

148 image replacement method

Simplified 149 strokes

150 Understanding Logo Design

15 1LOGO design creative skills

152 Initial Creation Techniques

153 letter creation skills (2)

154 metaphor

155 badge design skills

156 badge design skills (2)

157 design specification for business cards

158 business card design and typesetting design

159 business card design (1)

160 Business Card Design (2)

16 1 business card design (3)

162 business card design (4)

163 what is a DM single page?

164DM single page production specification

Design of 165DM single page header

166DM single page typesetting design

Design of 167DM single page header

168 leaflet design (2)

169 three-fold design code

170 three-fold design (1)

17 1 folding design (2)

172 folding design (3)

173 folding design (4)

174 Yi Labao design code

175 Yi Labao design (1)

176 Yi Labao design (2)

177 enterprise VIS

178 basic identification system

179 application design system

Programming is a very broad word, right? In fact, there are many languages for programming. If you don't look at the language, it can be roughly divided into front-end and back-end (note: programming is not just front-end and back-end, so it is easier for beginners to start with front-end and back-end, and then it will involve complex technologies such as frameworks). Front-end refers to front-end interfaces such as web pages or apps, and the back-end is responsible for realizing the functional services of the front-end and returning the data needed by the front-end to the front-end for display or response.

Beginner programming can start with these points:

1. Know what programming you want to do (front end or back end);

2. After knowing whether it is front-end or back-end, you should also know what language you want to start with. For the front end, it is suggested to start with HTML+CSS, and for the back end, it is suggested to start with C#, which is only my suggestion, not absolute;

3. If you know which language to start with, you can go to official website to check the documents and watch the demonstration. If you still don't understand, you can go online and search the introductory video of the language. Now the online tutorial is very detailed;

4. After getting started with programming, you can try to realize the page or function you want, which will enhance your confidence.

Programming languages are actually universal. If you do the latter, you will find that learning other languages will be much faster. Novices don't worry, take your time, and you will get something if you stick to it.

It is a very effective way to learn how computers work by writing compilers and learning low-level programming methods. Compiler is usually considered as a very complicated project. In fact, writing a production-level compiler is indeed a huge task. But it is not difficult to write a small and usable compiler. Get out of the first step of the introductory programming tutorial, and it's up to you what to do next. You can do all the instructions in the article and then make a more complicated compiler. You need to write a more complex syntax tree to generate assembly code. The next steps are: (1) allow to return any value (such as return3 some executable code); (2) Increase support for "not" (such as return ~1; Some executable code). Every extra feature can teach you more about C language, how compilers actually work, and what other compilers in the world think. This is how babyc is built. Babyc now has if statements, loops, variables and the most basic data structures. Let me show you the most authoritative learning road map. China Network Training Camp: