technifyed

Peking University via Coursera

C程序设计进阶

4.9827 ratings at Coursera

Overview

如果说学习过《计算导论与C语言基础》,你已经迈入了C语言的殿堂,那么《C程序设计进阶》将帮助你更上一层楼,理解“结构化程序设计的基本思想”,掌握“C程序设计的基本技巧”,养成“良好的编程习惯和编程风格”,编写出“真正具有生命力的计算机程序”。完成这门课的学习,你将能解释C程序设计语言的基本概念与知识,并且使用C语言编写计算机程序解决生活工作中的实际问题。

Syllabus 9

  1. 欢迎加入《C程序设计进阶》 5 minutes

    在学习完“理性认识C程序”之后,我们希望同学们能够自己动手编写一些简单的C程序了!如果你还没有具备这个能力,一个可能的原因是因为你还没有进行“足够的训练”。因为,学习一门程序语言,需要你获得的有两样东西——“知识”和“技巧”。“知识”可以通过讲授传递,但“技巧”却只能通过训练获得。因此,我们鼓励同学们在“理性认识C程序”这个迭代周期中,多多进行简单的编程练习,以便获得“技巧”。(注意:我们特别鼓励同学们多多进行“简单”的编程练习,因为,所有复杂的问题,都是简单问题的组合。我们的教学实践表明:多做简单练习,不但可以提升学习者的学习信心,也非常有助于编程技巧的提升!)在完成“理性认识C程序”部分…

  2. C程序中的函数 4.5 hours

    本次课,我们讲授“函数”的基本概念、定义方式、调用方式、参数传递方式等基本知识。其间,我们还将讨论“变量的作用域”的问题。PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)

  3. 函数的递归 5.5 hours

    本次课是C程序设计部分的一个难点。但,请不要担心,我们将按照“由简单到复杂”的方式进行讲解。我们先为大家讲解“递归调用”的执行过程,以便让大家看到“其实,递归调用与普通函数调用没什么不同”的道理,在此基础上,再去详细分解递归调用的过程,以印证我们学到的知识。 在此基础上,我们将通过几个典型的递归函数设计范例,向大家讲授递归函数的作用和使用技巧。 需要强调的是,如果在这个部分大家感觉到困难,请不要气馁:)因为,根据我们的教学经验,80%以上的同学都会感觉到同样的困难。当你也感觉困难时,可以先耐心听完我们的讲解,然后再通过练习慢慢体会。只要稍加练习,这个困难的感觉就会逐渐消失,因为,到那时,你已…

  4. 指针(一) 2.5 hours

    本次课我们为大家讲解“指针”“指针变量”“指向变量的指针”等名词的基本含义。在此,需要特别提示大家:请大家务必明确区分上述的基本概念,以便在后面的课程中准确的使用它们。 同时,我们还将向大家阐述一个重要的理解——数组名 与 指向数组首元素的指针 之间的关系,也请大家务必反复印证,以便日后轻松使用:)

  5. 指针(二) 4 hours

    这次课是上次课的延续,我们将为大家讲解“指针与字符串”之间的关系,“二维数组名的含义”(这也是一个小难点,不过,只要大家谨记上次课中的结论,一切将会变得简单:)),以及“指针与函数参数”之间的关系(这种情况很常见哦:))。

  6. 指针(三) 4 hours

    这次课我们将紧跟上一节的脚步,继续为大家讲解“指针做函数参数”及“指针做函数返回值”的两种情况,到此为止,你应该对于指针在C程序设计里的应用有一个比较全面的了解啦,不妨在本次课末尾画个思维导图考考自己,是否弄清楚了这个重要的概念。

  7. 结构体与链表 55 minutes

    这次课,我们将为大家讲解“结构体”的基本概念、定义方式和使用方式,结构体的使用将为某些程序的编写带来极大的便利:)在此基础上,我们还将介绍“链表”的基本概念和创建方法。需要说明的是,在我们的课程上,链表将不作为一个重点练习的内容,因为,在后续的课程中,它将被反复大量的讨论:)

  8. 最后一次课 40 minutes

    这是C程序设计课程的最后一次课,也是一次“承前启后”的课程。我们将介绍“面向对象”编程方法的基础思想。我们希望通过这个简短的介绍能够让大家对“面向对象”的软件设计方法有一个最初步的了解,以便顺利步入后续的课程:)

  9. 期末考试,课程结语 3 hours

    恭喜你顺利完成了所有教学模块的学习,来到了我们的终极挑战-期末考试!不要紧张,考试中所涉及的内容都是为了帮助你自我检测是否真正掌握了C程序的相关知识,达到了你的目标,所以只要认真复习所学的模块,我想你一定没有问题的!加油吧,我在这趟《程序设计与算法》学习旅途的下一站等你哦!

Skills you'll practise

Computer ProgrammingC (Programming Language)

Advantages and disadvantages

Advantages

  • Structured courses with graded quizzes, assignments and deadlines you can reset.
  • A shareable certificate from the university or company when you pay.
  • Financial aid is often approved for students in India (apply 15 days before you need it).
  • From Peking University, a well-regarded name.
  • Rated 4.9 out of 5 by 827 learners.
  • Self-paced: start any time.
  • A clear syllabus (9 parts) you can see before you start.

Disadvantages

  • Paid after a 7-day free trial (Coursera Plus or per course).
  • Some courses can be audited for free, but graded work and certificates need payment.
  • Taught in Chinese.

Some points apply to every course of this kind; see how we rank.

This course is paid. Here is how to take it for free

  • Free trials: You can start a 7-day free trial for many individual courses, Specializations, or a Coursera Plus subscription to test full course features. Cancel before the seventh day if you do not want to be charged.
  • Financial aid: If you cannot afford the fee for a certificate, you can apply for financial aid through the link on the course home page by filling out an application about your background and goals.

Taught by

  • Ge Li 李戈, Ph.D.Associate Professor, School of Electronics Engineering and Computer Science

Peking University is in Tier 2: excellent universities and the companies that build the technology of our institution ranking (86/100).

Similar courses

Compare these

Massachusetts Institute of Technology · YouTube

MIT 6.01SC Introduction to EECS I

Instructor: Dennis Freeman, Kendra Pugh This course provides an integrated introduction to electrical engineering and computer science, including modern software engineering, linear systems analysis, electronic circuits, and decision-making. The lecture videos provide an overview of each topic, whi…

Free video27 videos, 17 hours

Harvard University · edX

Fundamentals of TinyML

4.567 ratings

Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML.

Free to audit5 weeks, 2 - 4 hours per week

Harvard University · edX

Introduction to Data Science with Python

4.3174 ratings

Learn the concepts and techniques that make up the foundation of data science and machine learning.

Free to audit8 weeks, 3 - 5 hours per week

Harvard University · edX

CS50's Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.

Free to audit12 weeks, 5 - 14 hours per week

Harvard University · edX

Data Science: Building Machine Learning Models

4.4133 ratings

Build a movie recommendation system and learn the science behind one of the most popular and successful data science techniques.

Free to audit8 weeks, 2 - 3 hours per week

Harvard University · edX

CS50's Introduction to Programming with Python

An introduction to programming using Python, a popular language for general-purpose programming, data science, web programming, and more.

Free to audit10 weeks, 3 - 6 hours per week

Enter your email and the official page opens. Phone is optional.