Skip to content

Syllabus2016

fanju1984 edited this page Sep 18, 2017 · 2 revisions

参考书目: C Primer Plus

课程大纲(2016 - 2017秋季学期)

第一讲 9月20日 程序设计概述

本讲主要给出程序设计的概述,让学生了解计算机科学是怎样的学科,计算机能够帮助人们做什么事情,以及人们怎么操作计算机解决问题。本讲会以一个扑克牌排序的具体案例串联起以下四部分内容:

  • 计算机如何表示信息
  • 计算机硬件体系结构
  • 从程序设计到硬件执行
  • 教学计划与考核要求

课件下载: [01-Introduction.ppt] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/slides/01-Introduction.ppt)

第二讲 9月23日 认识C语言与编程准备

本讲通过简单的C语言程序实例,带领学生认识C语言,掌握C语言最基本的术语与结构,包括以下内容:

  • 认识C语言
  • 如何开始写C程序
  • C程序的基本结构
  • 扑克排序C程序第一版

课件下载: [02-Introducing-C.ppt] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/slides/02-Introducing-C.ppt)

C语言要点总结Cheat Sheet: [C Reference Card (ANSI) 2.2.pdf] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/refs/C%20Reference%20Card%20(ANSI)%202.2.pdf), [C Reference Cheat Sheet by Ashlyn Black - Cheatography] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/refs/C%20Reference%20Cheat%20Sheet%20by%20Ashlyn%20Black%20-%20Cheatography.pdf)

源代码: [hello.c] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/code/hello.c), [first.c] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/code/first.c), [second.c] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/code/second.c)

第三讲 9月27日/9月30日 数据与C语言

本讲主要给出作为C语言的程序员应该如何处理数据,具体细分为以下四个部分:

  • C语言的数据类型:介绍C语言针对整数、实数、字符等数据的表示与存储方法,并介绍了变量与常量的概念
  • C语言的格式化输入输出:介绍C的程序员如何将输入从IO设备输入以及输出
  • C语言的运算符和表达式:介绍数据是如何进行操作的
  • C语言的数据类型转换:介绍不同数据类型是如何转换的

课件下载: 9月27日课件 03-Data-And-C-1.ppt, 9月30日课件 03-Data-And-C-2.ppt

源代码: 计算BMI代码 third.c, 输入输入代码样例 showIOs.c

习题课 10月9日 第一次上机问题分析与随堂测验

本次上机题目(均来自[友学系统] (http://202.112.113.8/problemlist.php),简称YOJ)

课件下载: [Dis01.ppt] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/slides/Dis01.ppt)

测验题目下载: [quiz-1.pdf] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/assignments/quiz-1.pdf)

第四讲 10月11日/10月18日 C语言的控制语句

本讲主要介绍作为C语言的程序员应该如何针对上讲介绍的数据进行控制操作,具体细分为以下三个部分:

  • C语言的分支控制语句:介绍分支与条件程序结构的概念、逻辑表达式、N-S图表示法,并介绍C语言实现分支的三种语句格式
  • C语言的循环控制语句:介绍循环与条件程序结构的概念,并介绍C语言实现循环的语句格式
  • 逻辑思维与计算机解题:侧重引导学生将真实问题转换为逻辑操作,掌握枚举法,并利用循环语句实现。

课件下载: 10月9日课件 04-Control-Statement-1.ppt, 10月18日课件 04-Control-Statement-2.ppt, 10月21日课件 04-Control-Statement-3.ppt

源代码: 计算分段(符号)函数代码 piecewise_func.c, 输入数字并加总 summing.c, 数列求和 zeno.c

第五讲 10月25日/10月28日 C的数据组织-数组

本讲主要介绍作为C语言的重要数据组织方式数组,具体细分为以下几个部分:

  • 数组的概念、定义和初始化
  • 二维数组
  • 数组的排序问题
  • 筛法求素数

课件下载: 10月25日课件 05-Array-1.ppt, 10月28日课件 05-Array-2.ppt

源代码: 输出字母金字塔 loop_print.c, 教室分配代码 classroom_assignment.c, 冒泡排序代码 bubble_sort.c, 选择排序代码 select_sort.c, 插入排序代码 insert_sort.c

第六讲 11月1日/11月4日 C语言的函数

本讲主要介绍作为C语言的重要功能函数,具体细分为以下几个部分:

  • 函数的简单使用
  • 枚举、递推和递归
  • 函数的深入分析

课件下载: 11月1日课件 06-Function-1.ppt, 11月4日课件 06-Function-2.ppt

源代码: 打印井号 pound.c, 计算指数 power.c,

习题课 11月8日 第一次期中模拟试题分析

课件下载: [Dis02.ppt] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/slides/Dis02.ppt)

习题课 11月15日 第二、三次期中模拟试题分析

课件下载: [Dis03.ppt] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/slides/Dis03.ppt)

特别注意::本次课件的第25-27页为期中前内容小节,应仔细阅读,并结合进行复习。

源代码-1: func.c, pi.c,minmax.c,split_sequence.c,plan.c

源代码-2: sequence.c, buddy.c,miner.c,add.c,log.c

习题课 11月22日 2016期中考试试题分析

课件下载: [Dis04.ppt] (https://github.com/fanju1984/introduction-to-programming/blob/master/introduction-to-programming/slides/Dis04.ppt)

源代码: piecewise-func.c, vowel.c,occurrence.c,series-sum.c,gene.c, series-sum-plus.c

第七讲 11月25日/11月29日/12月2日 递归

本讲主要介绍一种重要的编程方法——递归,具体细分为以下几个部分:

  • 递归初步
  • 递归的典型问题:查找与排序
  • 递归的其它问题

课件下载: 11月25日课件 07-Recursion-1.ppt, 11月29日课件 07-Recursion-2.ppt, 12月2日课件 07-Recursion-3.ppt

友学练习源代码: pro49.c, pro50.c,pro51.c,pro57.c, pro69.c,pro74.c,pro92.c, pro86.c pro98.c

第八讲 12月9日 结构与结构数组

课件下载: 12月9日课件 08-Struct.ppt

第九讲 12月9日/12月13日/12月16日 指针

本讲主要介绍C语言中的一项重要概念——指针,具体细分为以下几个部分:

  • 指针的基本使用
  • 指针与数组
  • 指针与字符串
  • 指针与函数
  • 指针与结构体

课件下载: 12月9日课件 09-Pointer-1.ppt, 12月13日课件 09-Pointer-2.ppt, 12月16日课件 09-Pointer-3.ppt, 12月20日课件 09-Pointer-4.ppt

源代码: simple.c, swap.c, sorted_create.c

课程项目 英文单词智能查询

课程项目介绍: CourseProject-Intro.ppt

词典数据下载: vocabulary.csv