动静 光影 快乐生活分享 http://blog.sciencenet.cn/u/mLinking

博文

一得集[I]:《计算机和计算: 概述》

已有 2723 次阅读 2013-1-1 11:50 |个人分类:生活中的计算|系统分类:教学心得| 计算机, 计算


引言
内容概述: "讲什么"和"怎么讲"的思考
Part I: 所谓编程
第一章 编程 - 从数学谈起
  1. 其实你已经知道编程

  2. 编程的本质规律
    • 所谓编程
    • 基本的编程元素:
      • 整数, 实数, 数组+它们的操作
      • 三种控制结构 - Sequential, Decision/Selection, Repetition/Loop
    • 编程确实是将解决步骤规范化地描述出来 "Dr. IPO"
    • 幸好你知道框架的重要性
      • 数学的 GCD
      • 数组上的简单运算
    • 如何构建复杂的程序? - 函数的概念和函数调用
      • 你要计算多组数据的GCD, 当然不能只是一个主函数里重复多次 - 引入函数, 和函数调用
      • 数组上的运算

  3. 用几个例子更透彻地理解: 突出逻辑表述的重要性
    • FindLargest
    • 显然排序后找最大最小更快 - 引入编程的两个常见的任务: 排序和查找 - 排序往往是为查找服务的.
    • 插入排序 -
    • binary search -
  4. 所谓编程语言


第二章 来一点C语言 - 运行你的程序
  1. C语言也没那么难
  2. 工欲善其器必先利其具 - Code::Block
  3. 还需要了解下IO - 其实就是调用而已
  4. 你的第一个C语言程序
  5. 运行它 - 活用printf()语句

第三章 更复杂的例子 - 需要更复杂的数据结构和算法, 但是框架还是可复用的
  • string? - 编程, 可以借助调用别人的代码来简化
  • Insertion Sorting
  • Binary Search


第四章 实际的编程语言开发工具也会提供一些现成的代码
  • Basic IO - scanf(), printf()
    • 所谓的菜单
  • File - and its operations

Part II: 程序如何运行在计算机上
第五章 二进制 - 所有的一切都可以用二进制表示
  • 二进制?
  • 与程序有关的元素都可转换为二进制表示
  • 其实, 计算机硬件也是依赖二进制

第六章 现代计算机 - von Neumann architecture
  • von Neumann Architecture - 现代计算机的基础, 各部件的功能
    • 阐述程序执行的流程 - 要运行程序, 需要获得必要的资源: 内存, CPU等. 然后...
  • 如何基于二进制开关实现加法器
  • 计算机发展的简单历史 [在了解了基于开关实现加法器后, 计算机划分为四代的标志也就是实现"开关"的技术不同而已 - 真空管, 电子管/晶体管, IC, VLSI/Microprocesor - 其实, 后面的标志都还是晶体管为基础]

第七章 操作系统 - 为程序运行做好准备
  • 在计算机上运行程序, 是需要准备资源的 - CPU, 内存, 甚至共享资源 - File, 磁盘等等
  • 操作系统就是这样的一个软件 - 核心功能就是管理计算机的资源为运行程序做准备, 其次是为用户提供友好界面 (GUI)
  • 突出的问题 - 多道程序运行: CPU切换, 线性内存分配多个程序
  • 操作系统的核心任务也就是完成两个映射
    • 从文件/程序的逻辑空间映射到内存(线性)空间
    • 从文件/程序的逻辑空间映射到磁盘空间

第八章 运行别的计算机上的服务 - Internet编程
  • 现代Internet基础 - TCP/IP
  • Internet 编程的框架
  • 简单的例子

Part III: 编程语言
第九章 编程语言的历史
第十章 基于C语言的编程
  • C 语言支持的数据类型及其操作:
    • 字符串
    • 指针
    • 多维数组
    • 结构体和结构体数组
    • 文件也是个数据而已, 它也有相应的操作
  • 高级编程案例1 - 提取字符串中的单词, 并计算单词出现的频率
  • 高级编程案例2 - 线性链表及其操作, 兼论"数据结构"课程的学习
  • 高级编程案例3 - 复杂数据结构的文件保存, 兼论数据库系统的实现

第十一章 其他语言简介
  • 基于Java语言的编程 - 所谓面向对象语言
  • 基于Pyhton语言的编程 - 所谓脚本语言
  • 基于Haskell语言的编程 - 所谓函数语言


https://blog.sciencenet.cn/blog-112715-648500.html

上一篇:不可思议的e
下一篇:一得集[II]:《计算机和计算:基于Code::Block的C编程实训》
收藏 IP: 218.241.232.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 23:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部