Why are almost no computer courses taught in C language in MOOC?

Source: Internet
Author: User
0 reply content: -------------- the question has been modified. The following answers are for the original question -----------------------------------------
This question is very interesting.
「 Why MOOCWithout C, and Chinese UniversityInsist on teaching C ?」
The implication is that Chinese universities should follow the mooc standard to see mooc?

Conclusion:
1. MOOC and traditional universities face completely different groups, and the starting point of curriculum setting is also different. To cultivate students as a computer Major in a science class, MOOC learns python for the purpose of the effectiveness of communication programming as a tool and takes care of the enthusiasm of learners.
2. in general, the advanced or advanced learning methods of C language are not simply learning the language itself, but using C as a tool to learn operating systems, compilers, and embedded systems, in the study of specific fields, we constantly practice the ability to use C Programming and enhance the understanding of C.

First, who are learning MOOC? The number of students completed in most courses is less than the percentage of students selected. Coursera data science certificate sold tens of thousands (by impression, data may be incorrect), and only over 500 people finally completed the capstone project. In addition, most of the people who have completed the work have already had a background in computer science.

This can be the result of teaching python. One of the easiest to learn, the best to get started, the most productive, and most motivating languages. If you teach C, there will be fewer people who can stick to it. The CSAPP of CMU is open on the Internet, but without the help of professors and Ta, how many people can stick to thoroughly understanding the concept and fix all the bugs, improve performance to the optimum?


So let's talk about the second point: "C language is not a language that you can only read the code to explain, you often have to go down to the system level to discuss the specific architecture and specific compilation to explain why your code is correct and efficient. 」
C is a very architecture-sensitive language. Although you write C for different architectures, the design philosophy and various considerations may be completely different. Therefore, learning C is not just a language, but the underlying system design concept of your specific learning scenario.

Let's take a look at the computer course schedule of the non-Chinese university CMU. The python intro course 15112 is for students with no base or non-cs majors. Undergraduate Normal first Basic Course 15122 is to use C: basically use C to learn some basic data structures. The next major C course is 15213: CSAPP: use C to implement underlying functions of various systems. Most of the subsequent "system electives": computer networks, operating systems, parallel computing, distributed systems, cloud computing, embedded systems, including some machine human courses, all use C. I think this is the way in which Chinese universities should attend and take it as the standard, rather than MOOC. What do you think.

However, I think the person who designs the course in CMU really does not like java. Except for the soft engineer, java is not used in the course.

Then I noticed a word used by the subject: "Advanced C language course 」.
I personally think that C is a very refined language. It does not have as many messy functions as C ++, and there are so many Java design patterns. The language itself has nothing to do with deep learning. You can see many C ++ and Java books on the market, but there are few C books. Moreover, coursera, edx, and many of the universities I know do not seem to have any "advanced courses" for learning a programming language. They only use "advanced courses" for a certain language 」. The things that the subject looks for are basically common. Even my strong soft powder, I don't know how to use vim and gdb to write code under linux. You can even learn how to use a language. According to the curriculum arrangement and teaching requirements of most colleges and universities in China, mooc is not required for a simple language such as c. American universities are still teaching C. Our school C is one of the six CS basics... If you do not want to learn, do not think about a track =. = The topic is full of Chinese universities that are too low and outdated. Which of the following advanced languages have you learned, still difficult to use c subject can take a look at a Open Class Stanford programming paradigm. A very good course, which analyzes the various mechanisms of C language from the underlying layer. The basics of this course are not syntax, but the changes in the memory of various C language syntaxes. The most important thing to learn C language well is the memory 6.

Have time to read some excellent open-source operating system or database code. It is very helpful for learning C well. I have seen the source code of the embedded system ucos and database Redis. They are all very good code. This invites me ..

What do you think mooc is a standard? [Region]

If you have the skills, don't learn it. My understanding:
People who really play C 6 are too lazy to teach others. People who know C and know little about C are self-aware and do not teach others randomly. Exam-oriented education makes Chinese people like to learn things that are difficult but useless.
In computer science, C is required for lower grades, compilation, and compiler operating systems.
Of course. But how can I skip functional programming? How can we skip GPU parallel computing? How can I skip distributed machine learning.
It can be seen that the Course settings of the three/four universities in China are severely eccentric and well-rounded. I couldn't find out what the problem was. Do you only find the class C in the name?
Put one: hwswinterface
Forcibly put one (isn't it good to treat CUDA as C): hetero
The last name is C: arduino-platform.

Unless you are concerned about the language itself, advanced courses are clearly related to specific application scenarios. C Common application scenarios and Python common application scenarios have a lower threshold. Obviously. Which application scenario should be followed by more people and more MOOC? Obviously.

I think it is natural for the subject to be sprayed out, because the question and the question are not the same thing at all. If you are just curious, don't talk about other things. These classes are not very difficult to find.

I have been wondering how the university that does not teach C (because C ++ is taught, C is not counted as a separate course class) launches the architecture and operating system related courses, if someone's school looks like this, I hope to introduce the teaching ideas in the comments. Thank you.

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.