As a programmer, what should I do if my girlfriend wants to learn programming?

Source: Internet
Author: User
I am a fan of Python and Node. Do I have to choose one to teach my girlfriend? How can I teach my girlfriend? If you choose a new language, the advantage is that you can learn from 0 with your girlfriend, but it will increase my burden. If you choose a new language, is Ruby suitable? Because I also like Coffee and codeforfun of Ruby. I am a fan of Python and Node. Do I have to choose one to teach my girlfriend? How can I teach my girlfriend?
If you choose a new language, the advantage is that you can learn from 0 with your girlfriend, but it will increase my burden.
If you choose a new language, is Ruby suitable? Because I also like Coffee and Ruby code for fun. Reply: I tried to teach my girlfriend to write code a year ago. At that time, she was writing geek love, a Chinese girl and a engineering man's story. At that time, I thought I could teach her to write code, starting from a few points:

1. First find a point of interest, such as an application.
2. Select a simple language, No Java, No Lisp. It is best to use JavaScript or a dynamic language like Ruby/Python. Considering that the Python Logo is a snake, I think JS will be better.
3. ** it is important to teach her to write code **
4. Take her to repeat or repeat the principles of her application.

Previously, I wrote an article to introduce:

Link to the original article: Why do Chinese girlfriends learn programming?

In the past, programming was only done by professional people. Different people have mastered good programming skills, including those who learn Fine Arts and financial, and should also learn Chinese. Learning programming requires a kind of motivation for those who do not need to make a living by programming. Programming can train people's logical thinking. Compared with mathematics, programming is easier to strengthen people's thinking ability. mathematics has been taught boring by teaching materials and most teachers.


Cause

Simply put, the cause is:

  • Recently, my girlfriend is using an APP named \ "CI \", and one is used to fill in the word (that is, the song word in the Tang poetry and Song Dynasty, such as the butterfly flower and so on) software (there are various introductions about the author on the Internet, or this is a kind of promotion for the author's APP ).
  • Another good opportunity is Apple's new language Swif. It seems that this language is suitable for general people to write programs.
  • But the main reason is that she is a little competitive.

Then I took my girlfriend's iPhone (I used Lumia 920) and tried the APP. I felt like I had to store the plain words in the database and read them for comparison. So she took her Windows (her computer motherboard broke down and borrowed an antique Siemens and installed Ubuntu) and found a mobile assistant to get an APP, after decompression, we found that there was a sqlite3 db file. Looking at the database content, it would be difficult to teach her to understand this logic (the difficulty should be the UI and user experience ).


Snake or gemstone

\ "Python is a snake, Ruby is a gem \", Which one will you choose.


Most people should come from traditional classrooms, that is, to learn the C language. The most powerful of the C language is pointer, so unfortunately this creates a difficult illusion of programming. With this in mind, I chose to place it between Python and Ruby, which seems difficult, but this is for programmers.

  • Ruby pays attention to the fact that there are multiple methods to do one thing. This is very similar to its predecessor Perl, so it is not that easy to understand Perl. This is also true when Ruby was just getting started with some product code.
  • What Python pays attention to is that there is only one way to do one thing. In other words, Python pursues simplicity.

Therefore, a snake was selected between the snake and the gemstone. And

  • Python is widely used, because the library is rich.
  • You cannot find a suitable Ruby book.

So I bought Head First Python from Amazon and can translate it into Python, which means I can learn Python very easily. The book is later about mobile development and WEB development.


Current conclusion

Two nights later, three hours later, demonstrated the conversion from a basic Chinese character to a Chinese character. If you are interested, you can pay attention to it later. Main difficulty:

  • There are too many professional terms. This is a book written to programmers.

The other conclusion is:

  • For average people, it is not as hard as imagined to teach them to start programming.

If you want to teach your girlfriend how to learn programming:

  • Be patient.
  • Teach in person. Instead of just giving a book, just giving a book with a three-day getting started language.
  • Find a breakthrough point that interest her. If she is studying biology, you should try to find something related.

What I do is:

  • Let the other half understand your work.
  • Let her understand some basic principles.

Of course, if you don't try to do that, the possible reason is that there is a big malism with a bit of discrimination. It's okay for boys to program such a thing, and girls won't have a problem. The brain does not need to be Rusty ~~, The current idea is to simply make a demo. Using QPython on the Amazon tablet is a little difficult to get started with the APP. Of course, more syntaxes may be needed. Logically understandable.


Attached to the love of geeks she wrote:



01. Love it or love me
02. Go to the lab for a appointment.
03. I did not repair my computer.
04. My Programming Development notes
05. Geek's God Logic
06. Our war
07. Close contact with computers
08. Saving remarks for IT migrant workers
09. When a Love Letter meets a technical blog
10. Technical Secrets
11. Fall in love with non-chat people
12. programmers who do not want to work overtime are not good programmers.
13. Online Shopping attributes of the Technology House
14. It's hard to find a girlfriend. It's harder to find a job.
15. The artistic feelings of geeks
16. first love at the age of 22
17. Remote debugging when love experiences
18. kiyou walk together for a lifetime
19. The dream still needs to exist. What if it is realized?
20. After my code is compiled, marry you as your wife)
One of them: the broken pieces in love
What's more: How programmers encounter the false strategy of true love
Extra 3: Valentine's Day gift for geeks

And her public account:



Then I will accompany her with the Public Account:


What do you want to teach? If you don't know what to teach, you just need to explain what to do.♂Penalty♀She. 1. If you are not in the same place, you can chat and teach her. Haha, after teaching for a while, the wind will change completely...
Difficult! No! ⊙
What is this! (⊙ 0 ⊙)
I don't want to learn programming. You guys are abnormal programmers! ~> _ <~ + (Hello, the nest is still reading. How can it become a programmer !)
No, what should I do!
2. If you are in a place that is not at home, you teach her. Haha, after teaching for a while, the topic will change...
So hungry. Let's go and eat! Round (^ o ^) round (Nima, sat down for less than 10 minutes)
These things are boring. Let's eat them! \ (^ O ^)/(who told me to learn, who did)
It's hard. Let's go and eat! (☆_ ☆) (Why is it eating again ...)
3. If you are at home in a place, you teach her, huh, huh, for a while, emachine, this is also a compilation♂Cheng♀? (Too many rows)

So, as a person from the past, I told you that what you can do is to provide some reference materials. Don't you think that language Tangle is very difficult?

Programmers should be entangled in fonts and editors
So you can try to learn how to use vim and emacs first.
Then select a rational language like ML or Oz to teach, by the way, type-related or design-mode-related

Then you can crack it.
Every time I talk to others about Linux, I always want to talk about how to break through python and node from the predicates, nouns, and adverbs/adjectives, I also think that learning a new language is a "burden 」... So I wanted to learn and teach ruby, and suddenly began to like coffee, but I thought ruby was code for fun.

I saw a token that was finally broken up with the expectation of cs.

If you have to teach java php .. Update a bit ~
I am studying with male tickets.

Because I am a new media professional (formerly a media dog), I am closely related to the Internet.
Then I felt that I was not technically competent, and I wanted to learn simple programming.
At present, I am only interested in learning about it. I don't know how to eat with it.
Only because of my limited IQ (for example, I learned a lot from java in college, and I almost got rid of NLP • NLP ).
The male ticket is not a computer Major. What he learns is control, and then the Master's degree is CE, not CS.

I used to have a little bit of programming basics. HTML is what you see is what you get and can tune your interest. So I just wanted to learn some HTML at the beginning.
Then I want a little dynamic effect, so I added CSS.

Every time he makes a ppt, and then adds the audio to the shared desktop to explain it to me.
Of course, the PPT is very simple, just like this:
Then: Then:

A basic concept, and an example. I will answer questions after class.
Because both of them are very busy, and the time difference in foreign countries, so now I took two lessons. (Sorrow of foreign dogs

From my perspective:
If you are not learning programming as a profession, you are just curious about programming.
The mentality is probably the same as that of me. I just want to know
"Wow, how does that point change color !"
"How is the drop-down menu implemented !"
......
Then, if you can do it yourself, you will feel a great sense of accomplishment ~
When you talk to her, you can give more examples instead of a bunch of concepts.
It is easier to understand with some simple examples in life.

In addition, we recommend that you teach your sister to build a blog!


Recently, I found that the efficiency of this class method is far from being too low.
After all, programming is faster than practice.
Ask him only when there is a problem.
I understand that my wife has no programming foundation for cross-disciplinary learning of CS. The entry languages are Python and Java.

Let's talk about the concepts that many CS professionals are familiar with but are very confusing to beginners.

1. What is a function? What is the relationship with mathematical functions?
2. What is method? What is the relationship with function?
3. What is static method? What is the relationship with common methods?
4. What is an instance? What is a class? Also, you didn't tell me what the object orientation is or from the beginning.
5. What is lambda? (Don't think about What closure ...)

So if you really want to get started, learn a functional programming language. I'm not kidding

  • The concept of functions in functional PL is equivalent to that in mathematics, in addition to functions and types, there are almost no additional concepts to learn (closure/currying and other concepts are not a burden for people without any programming basics)
  • The vast majority of Functional Languages have powerful type Derivation or dynamic types, so beginners don't have to struggle with the type or struggle in front of the choice (why is there an ArrayList after Array? Do you really want to introduce the list insertion efficiency and scaling efficiency at the beginning ?)
  • And the vast majority of Functional Languages have REPL, so you don't need to tell beginners: You don't have to worry about what this int main (or static void main) is, just remember it first.
I'm sure I want to teach you whether to die or not. Don't you know how to teach your wife to learn anything? If she wants to learn, she will spend some money to learn from the training institution or watch video teaching. Hands-on instruction. quarrel sooner or later. I want to teach my wife how to drive a car. Keep in mind that the girl who is learning the front-end is drifting over ......

You must first confirm the direction your girlfriend wants to learn.
After confirmation, we can introduce the currently popular simple and easy-to-learn programming to her, so that she can have a general understanding of it and then choose what to learn.
If she still doesn't know which one to choose, you should first teach her Python or Node. Anyway, you know, some people explain how fast she understands. When she starts to learn something simple, she will have the confidence to learn more, and then she will read and learn independently.

This is basically how my men's tickets bring me. Although some of them do not understand me, he will first search for me and then teach me, and I will enjoy it myself ( ̄) as a female programmer, the first language is not a favorite of java (middle school). As a result, I haven't considered programming for a long time. I think ruby is a good tutorial! There are also Rails Girls activities in cities such as Beijing, which are generally free of charge. She can attend. Rails Girls can create a web app at an activity, with coaches/instructors, helping to cultivate interest. In the early stage, you can give this teacher a lot of peace of mind. Although it is not dedicated to ruby coding, It is faster to learn coding with a clearer goal. Besides, rails is also a friendly framework for programmers.

I think Python can be taught, and the teaching difficulty is small, there are many external resources, code Emy, pyGirls, and so on. However, at the beginning, what can be used directly is relatively false. Drawing a graph, calculating data, or even implementing a complex algorithm is fairly easy to learn, but there is no such thing... What we can see is not like the web app that is used everywhere (difficult to Taoism Django ?!), I like it.

Node. js... Well, I think it's strange to write a layer-by-layer callback when I start learning "programming. More recursion theory is required. Write functional program to understand it better. I think. I have never liked javascript very much. The water is too deep and the security is not high, but the trend of Node. js is also the same. I used [this] (https://github.com/rvagg/workshopper ) Node. js is still a step-by-step method, but it looks like a compliment. See if she wants this form.

I have heard a lot about how to use front-end and even Image Code to teach children Javascript, because it is more visual. You can also consider it.

Stakeholder: Rails Girls coach-to-be (but there is always no time >__ <)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.