We may earn an affiliate commission when you visit our partners.
Course image
Ge Li 李戈, Ph.D.

你有没有好奇过:计算机为什么能够进行计算?计算机程序是怎样运行的?你是否想知道:计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些?《计算导论》这门课将帮助你解决这些疑惑。

学完这门课,你将能够解释计算机和程序的基本运行原理以及它们的特性,向你的朋友讲述计算机的历史和发展趋势;同时,你也将充分“热身”,迎接“计算机程序设计语言”的学习!

Enroll now

What's inside

Syllabus

欢迎加入《计算导论与C语言基础》!
欢迎大家来到《计算导论与C语言基础》!在这门课程当中,我们将敲开神秘的计算机世界之门,探索它的历史,解读它的基本原理,讨论它未来的发展趋势;同时我们还将学习C语言这一经典的编程语言,开启我们充满趣味与挑战的程序设计之旅。这个欢迎模块就让我们在出发之前读好“地图”,通过观看两段视频来了解一下这段奇妙的旅程都将涵盖哪些内容吧!PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长。
Read more
计算机的基本原理
作为开篇的第一次课,我们先来了解一下现代计算机运行的基本原理。我们将从历史上的三次数学危机开始讲起,引出现代计算机的基本原型——图灵机的基本原理,进而解释支撑现代计算机技术的几个基础性理论(二进制、布尔代数、数字逻辑电路)及其解决的基本问题。本次课的主要目的:帮助同学们了解现代计算机的基本原理。本次课的焦点问题:计算机为什么能利用电路实现计算? PS:我们这门课程一直处在不断地建设与优化当中,吸取了很多以往课程的经典视频,所以如果你看到视频中出现了不同课程的名字,也不要惊讶哦,因为你正在集百家所长:)
计算机的历史与未来
本次课将带领同学们了解计算机的演变历史,希望通过这个历史演变的过程帮助同学们了解“人类在计算科学方面是如何一步步积累成果的“。在此基础上,我们再来讨论一下未来计算机的发展趋势,并重点介绍了量子计算机的基本原理与研究现状。 本次课的主要目的:希望透过历史引发大家对计算机发展现状的思考。 本次课的焦点问题:未来计算机的发展趋势是什么?为什么不能把CPU造得更大些?什么是量子计算机?
程序运行的基本原理
本次课带大家走进计算机,了解计算机的几个基本构成成分及其作用,在此基础上,了解CPU指令的基本执行过程、了解计算机执行程序的过程。 本次课的主要目的:了解计算机是如何运行程序的。 本次课的焦点问题:为什么说现代计算机是冯诺依曼式计算机?电路为什么能存储数字?CPU是不是任意命令都能执行?
感性认识计算机程序
本次课也许是计算机程序设计部分“最重要”的一次课程,在这次课程中,我们将通过一个例子,感受一个结论——“计算机程序 其实是对 人们思维过程的一个描述”;在此基础上,我们将立刻把自己放置于一个“计算机程序设计语言”的设计者的角度,去思考“如果让我们设计一门程序设计语言,我们将如何设计?” 进而,在我们给出关于这个问题的“抽象回答”的基础上,我们迅速地带领大家“快步走进C程序”,迅速了解在C程序设计语言中,都有哪些成分。在这次课的最后,我们通过一个例子,以“感性的方式”让大家感受了一下“什么样的程序是好程序”。 下面就让我们开始这次“最重要”的课程吧——
从现实问题到计算机程序
本次课程堪称计算机程序设计部分“第二重要”的课程。本次课将在大家感受过“什么是计算机程序”的基础上,来回答一个非常基本的问题——“如何设计计算机程序?” 我们将明确阐述“计算机程序是人们对自己头脑中构想的解决方案的描述”这一思想,并通过例子说明“要想写出计算机程序,必须先想出解决方案”的基本道理。 在此基础上,我们还希望通过一个简单的例子,让大家“感性地”了解一下,什么是“结构化的程序设计”(“结构化程序设计”是比“面向对象的程序设计”更基础的设计思想,因此,了解这种思想,非常重要!)。
理性认识C程序 导论
本次课帮助大家了解C语言的历史,了解C语言规范(Specification)的版本演进,了解C语言的规范是一个“宽松”的规范;在此基础上,我们将阐述一门程序设计语言所包含的四种基本成分(如上所述)。 焦点问题:为什么相同的C程序在不同的C程序编译器上,会编译出不同的结果?
C语言中的数据成分
本节我们将介绍C语言中的“数据成分”。重点在于:掌握各种数据类型在内存中所占的空间大小,掌握各种数据类型的特点。
C语言中的运算成分
本节我们将介绍C语言中的“运算成分”。重点在于:掌握各种运算符的基本含义,特别需要掌握“由各种运算符引起的数据类型转换规律”。
C语言中的控制成分
本节我们将介绍C语言中的“控制成分”。重点在于:掌握各种控制语句的使用方式。顺便,了解一下历史上的Goto之争。
C程序中的数组
在学习了C程序语言的几种重要的构成成分之后,为了帮助大家能够更好地使用已经学到的C语言成分编写程序,我们再介绍一种非常重要的数据结构——数组。 本部分的重点在于:掌握数组的定义、引用方法,并掌握数组的基本作用。特别的,需要大家掌握利用数组的下标来解决问题的“技巧”。
C程序中的字符串
在能够运用“数组”来解决问题的基础上,再来学习一下“字符串”的特性,在此基础上,我们将讲授C语言的中的“第四种成分”——输入输出成分。 本部分的重点在于:掌握“数组”与“字符串”的区别,理解“输入缓冲区”的基本机理,掌握cin cout的使用技巧。
期末考试
谢谢你一路的陪伴,我们终于来到了《计算导论与C语言基础》这门课的最后一个模块,现在就让我们给这段难忘的学习里程画上一个圆满的句号。我在期末考试中为大家设计了几道有趣的编程题目,让我们来一起迎接挑战,证明自己的实力吧!如果测试没有一次通过也不要紧,我们的自助平台课程鼓励你反复尝试直到取得满意的成绩,加油!如果你成功地通过了测试,那我们就相约在专项课程的下一门《C程序设计进阶》中见咯!

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Helps learners understand the fundamentals of computing, including its history and principles
Develops foundational skills in programming, particularly with the C programming language
Teaches learners about the evolution of computers and forecasts future directions, fostering an understanding of the field's progression
Examines the implementation details of a modern computer system, covering topics such as binary, Boolean algebra, and digital logic circuits
Presents a practical perspective on C programming, guiding learners through code examples and problem-solving exercises
Provides a solid grounding in computer architecture and assembly language

Save this course

Save 计算导论与C语言基础 to your list so you can find it easily later:
Save

Reviews summary

Excellent course for beginners

This course is a great introduction to the basics of computing and the C programming language. It starts with the basics of how computers work, then moves on to more advanced topics such as algorithms, data structures, and programming techniques. The instructor is knowledgeable and engaging, and provides many examples and exercises to help students understand the material.
This 5-star review says it is great for beginners.
"GOOD CLASS FOR C BEGINNER."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 计算导论与C语言基础 with these activities:
整理和回顾课程笔记和材料
整理和回顾课程笔记和材料有助于加深理解,查漏补缺。
Show steps
  • 定期整理课程笔记,确保清晰和完整。
  • 回顾课程材料,包括讲义、作业和练习。
  • 识别薄弱领域,并集中精力复习相关内容。
Show all one activities

Career center

Learners who complete 计算导论与C语言基础 will develop knowledge and skills that may be useful to these careers:
Professor
Professors of computer science teach and conduct research in computer science. They need a deep understanding of computer science, including the theory of computation and data structures. This course will provide Professors with the skills they need to be successful in their roles.
Computer Scientist
Computer Scientists research and develop new computer technologies. They need a deep understanding of computer science, including the theory of computation and data structures. This course will provide Computer Scientists with the skills they need to be successful in their roles.
Computer Architect
Computer Architects design and develop computer systems. They need a deep understanding of computer architecture, data structures, and the theory of computation. This course will provide Computer Architects with the skills they need to be successful in their roles.
Software Architect
Software Architects design and develop software systems. They need a deep understanding of computer science, including the theory of computation and data structures. This course will provide Software Architects with the skills they need to be successful in their roles.
Computer Programmer
Computer Programmers write and maintain computer programs. They need a solid foundation in computer science, including the theory of computation and data structures. This course will provide Computer Programmers with the skills they need to be successful in their roles.
Computer Engineer
Computer Engineers design and develop computer hardware and software. They need a solid foundation in computer science, including the theory of computation and data structures. This course will provide Computer Engineers with the skills they need to be successful in their roles.
Web Developer
Web Developers will need to understand computer architecture and data structures to create websites that are both efficient and visually appealing. In this course, Web Developers will begin a journey into the world of programming with C, a language used in developing many popular websites.
Machine Learning Engineer
Machine Learning Engineers need to have a deep understanding of computer science fundamentals, including the theory of computation and data structures. This course provides Machine Learning Engineers with the skills they need to build and deploy machine learning models.
Artificial Intelligence Engineer
Artificial Intelligence Engineers need a solid foundation in computer science, including the theory of computation and data structures, to design and develop AI systems. This course will provide AI Engineers with the skills they need to be successful in their roles.
Software Developer
Software Developers will be able to use their knowledge of the logic of computation to create applications that utilize appropriate data structures. In this course, Software Developers will build a foundation in the C programming language which is essential to their field.
Data Scientist
Data Scientists need to have a solid foundation in computer science, including the theory of computation and data structures. This course covers these topics in detail, providing Data Scientists with the skills they need to succeed in their roles.
Information Security Analyst
Information Security Analysts will benefit from this course, which can provide them with a deep understanding of computer systems, data structures, and the theory of computation, which are essential for protecting computer systems from cyberattacks.
Database Administrator
Database Administrators need to have a solid foundation in computer science, including the theory of computation, to manage and maintain databases effectively. This course will provide Database Administrators with a strong foundation in the fundamentals of computer science, including the theory of computation and data structures.
Network Administrator
Network Administrators must have a strong understanding of computer architecture, data structures, and the principles of computation to ensure that networks run smoothly. This course can help Network Administrators to develop the skills they need to be successful in their roles.
Computer Systems Analyst
Computer Systems Analysts will be able to make use of this course to enhance their understanding of the fundamentals of computation. It will boost their problem-solving abilities and understanding of data structures, both of which are essential to becoming a successful Computer Systems Analyst.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 计算导论与C语言基础.
程序设计领域经典之作,全面深入地阐述算法设计与分析的思想和方法。
一本经典的C语言教材,由C语言之父Dennis Ritchie合著,内容权威,适合有一定基础的读者学习C语言。
机器学习领域的权威教材,深入讲解机器学习的基础原理和算法。
人工智能领域的经典教材,全面介绍人工智能的基础理论和应用技术。
一本機器學習教科書,內容全面,講解深入淺出,適合初學者入門機器學習。
计算机网络领域的经典教材,全面介绍网络协议、体系结构和应用。
数据库领域的经典教材,全面介绍数据库系统的设计、实现和应用。
一本操作系統教科書,內容全面,講解深入淺出,適合初學者入門操作系統。
一本數據結構教科書,內容全面,講解深入淺出,適合初學者入門數據結構。
一本计算机组成与体系结构教材,内容全面,讲解深入浅出,适合初学者入门计算机组成与体系结构。
这本书提供了计算机系统的全面介绍,包括硬件和软件接口。对于理解计算机程序如何与硬件交互非常有帮助。作为补充读物,这本书可以提供对课程中介绍的概念的更深入理解。

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser