课程

中国大学MOOC,为你提供一流的大学教育

认证学习
为你提供认证成绩和证书,以及AI高效学习服务
查看详情
大学

国家精品

认证学习

智慧课程

理学工学农学

计算机

经济管理

外语

音乐与艺术

心理学

文史哲法

医学与保健

教育教学

大学生竞赛

软件实训

人工智能

升学/择业

考研

期末突击

大学生涯规划

专升本

四六级

保研及论文

求职就业

专四专八

大学应试英语

期末资料

终身学习

名师专栏

兴趣技能

hi,小mooc
揭秘大学信息差
SPOC学校专有课程
2024秋计算思维
第4次开课
开课时间: 2024年09月15日 ~ 2025年01月16日
学时安排: 3-5小时每周
当前开课已结束 已有 153 人参加
老师已关闭该学期,无法查看
spContent=本课程以 C 语言为媒介,讲授如何利用计算思维和编程技术解决复杂工程问题的方法论。 计算思维是以系统的方式解决问题,创建和表达解决方案以便它可以由计算机执行的过程。许多定量和以数据为中心的问题可以使用计算思维来解决,对计算思维的理解将为您解决具有现实社会影响的问题奠定基础。 本课程将帮助没有编程基础的同学学习如何开始为计算机编写程序。通过若干模块的学习和编程训练,您将学习系统地开发算法,并能通过阅读和编写 C语言代码来实现它们。课程也将介绍当今最先进的人工智能原理,帮助学生理解人工智能,并能利用AI工具解决实际问题。
本课程以 C 语言为媒介,讲授如何利用计算思维和编程技术解决复杂工程问题的方法论。 计算思维是以系统的方式解决问题,创建和表达解决方案以便它可以由计算机执行的过程。许多定量和以数据为中心的问题可以使用计算思维来解决,对计算思维的理解将为您解决具有现实社会影响的问题奠定基础。 本课程将帮助没有编程基础的同学学习如何开始为计算机编写程序。通过若干模块的学习和编程训练,您将学习系统地开发算法,并能通过阅读和编写 C语言代码来实现它们。课程也将介绍当今最先进的人工智能原理,帮助学生理解人工智能,并能利用AI工具解决实际问题。
—— 课程团队
课程概述

本课程将帮助学生了解计算机的基本工作原理,并培养学生利用计算机系统的解决问题的能力。

课程主要包括如下几个单元:

Unit 1. 算法与计算机(Chapter1-3)

Unit 2. 程序阅读与数据类型(Chapter4-5)

Unit 3.  程序编写与流控(Chapter6-7)

Unit 4.  指针与数组(Chapter 8)

Unit 5.  函数与递归(Chapter 9-10)

Unit 6.  程序与系统交互(Chapter 11)

授课目标

本课程假设您没有任何编程基础,并引导你理解计算机和编程,学习如何使用c语言在计算机硬件和软件的支持下,学习计算思维的思想,并利用编程解决可能遇到的复杂工程问题。

成绩 要求

考核及成绩评定方式

考核方式为平时综合成绩+期末考试成绩,其中平时综合成绩占50%,期末成绩占50%

平时综合成绩由单元测验成绩,编程作业(上机实验)成绩综合评定。

 

教材及参考资料


1. 教材

谭浩强著、清华大学出版社出版的《C程序设计》 第五版

Brian W. Kernighan, Dennis M. Ritchie - The C Programming Language (2nd Edition) (1988, Prentice Hall)

2. 参考资料

Computer Science: An Overview J.Glenn Brookshear

课程大纲
计算与计算机
课时目标:了解计算机的历史和基本原理,理解计算思维的方法论。计算思维是以系统的方式解决问题并创建和表达解决方案以便它可以由计算机执行的过程。许多定量和以数据为中心的问题可以使用计算思维来解决,对计算思维的理解将为您解决具有现实社会影响的问题奠定基础。
1.0 What is a computer?
1.1 Computing history
1.2 Computational Thinking
算法与人工智能
课时目标:算法是我们利用计算思维求解实际问题的关键步骤。当我们面临具体或者一般性的问题时,算法思维可以将帮我们确定求解步骤,特别是当我们以计算机为主要工具时的问题求解步骤或者一般性考虑。
2.1 Algorithms : Find-Max
2.2 Algorithms : Linear Search
2.3 Algorithms Complexity
2.4 Binary Search
2.5 Brute Force Algorithms
数据表示和数据操控
课时目标:在我们利用计算机求解复杂工程问题时,一个重要的事情就是如何把问题表示成计算机能够理解的数据,这个过程我们也叫建模(Modeling)。本章介绍在计算机中,数据如何表示,如何存储,如何操控。
3.1 Data Storage
3.2 Data Representation
3.3 Data Manipulation
程序阅读
课时目标:介绍C语言的基本语法框架,使学生可以快速阅读C程序。在本模块中,您将学习阅读代码,这意味着您将能够手动执行一段代码,并清楚地说明每个语句的作用以及程序的状态。了解如何阅读代码是确保可以编写正确的代码的唯一方法。 在本模块结束时,您将能够使用函数,条件语句,循环语句和其他基本技术来阅读和理解代码。
4.1 Introduction to C Programming
4.2 Variables and Expressions
4.3 Functions
4.4 Conditional Statements
4.5 Loops for Repetition
4.6 Compiling and Running
数据类型、运算符和表达式
课时目标:变量和常量是程序中操作的基本数据对象。声明列出了要使用的变量,并说明它们的类型以及它们的初始值是什么。运算符指定要对他们做什么。表达式结合变量和常量来产生新值。对象的类型决定了它可以拥有的值集以及可以对其执行的操作。 这些构建块是本章的主题。
5.1 Variable Names
5.2 Data Types and Sizes
5.3 Constants
5.4 Declarations
5.5 Arithmetic Operators
5.6 Relational and Logical Operators
5.7 Type Conversions
5.8 Increment and Decrement Operators
5.9 Assignment Operators and Expressions
5.10 Conditional Expressions
5.11 Precedence and Order of Evaluation
流控制
课时目标:计算机语言中的控制流指定执行计算的顺序。 我们已经在前面的例子中遇到了最常见的控制流结构; 在这里,我们将完整介绍 c 语言中流控制语句和其用法。
6.1 Statements and Blocks
6.2 If-Else
6.3 Else-If
6.4 Switch
6.5 Loops - While and For
6.6 Loops - Do-While
6.7 Break and Continue
编写程序
课时目标:许多新手程序员都尝试着一上手就直接编写代码。一个好的程序员将首先计划然后编写代码,可能会在过程中将大型编程任务分解为几个较小的任务。在建造一座大厦之前,建筑师会首先设计建筑物的蓝图。这些蓝图将反复进行精炼,才会开始实际施工。编程应该以类似的方式进行 - 先计划(algorithm),后构建(code)。我们说过编程的核心是弄清楚如何解决一类问题,而不仅仅是一个特定的问题。
7.1 Write a Program with the Seven Steps
7.2 Problem as an example
函数与递归
课时目标:函数将大型计算任务分解为较小的任务,并使人们能够在其他人已经完成的工作的基础上进行构建,而不是从头开始。 适当的函数对程序中不需要知道它们的部分隐藏了操作的细节,从而使整体变得清晰,并减轻了更改的痛苦。
8.1 Basics of Functions
8.2 Functions Returning Non-integers
8.3 External Variables
8.4 Scope Rules
8.5 Header Files
8.6 Static Variables
8.7 Register Variables
8.8 Block Structure
8.9 Recursion
指针
课时目标:指针是包含变量地址的变量。 指针在 C 中被大量使用,部分原因是它们有时是表达计算的唯一方法,部分原因是它们通常会导致比其他方式获得的代码更紧凑、更高效。
9.1 Pointer Conceptually
9.2 Pointers to Sophisticated Types
9.3 Aliasing and Arithmetic
9.4 Function Pointers
数组
课时目标:数组是 c 语言中内置的基本数据结构。特点是将相同数据类型和空间大小的数据安排在连续的内存空间,以获得高效的随机数据访问能力。
10.1 Array Basics
10.2 Arrays in Action
10.3 Strings
10.4 Multidimensional Arrays
高级指针应用
课时目标:指针的高阶应用,包括多维数组指针,指针数组,函数指针等。
11.1 Multidimensional Arrays
11.2 Array of Pointers
11.3 Function Pointers
系统交互与内存管理
课时目标:编写代码后,需要对其进行编译才能运行。
12.1 The Operating System
12.2 Opening and Reading Files
12.3 Writing to and Closing Files
12.4 Dynamic allocation
展开全部
预备知识

基础数学知识。

基础科学素养。

基础语言和逻辑能力。

参考资料

Computer Science: An Overview J.Glenn Brookshear

Brian W. Kernighan, Dennis M. Ritchie - The C Programming Language (2nd Edition) (1988, Prentice Hall)

常见问题

Q : 如果单元测验或编程作业逾期提交会发生什么?

A : 无法提交,本次成绩为0分。

山东大学
1 位授课老师
邢跃林

邢跃林

副教授

下载
下载

下载App