程序设计方法学
① 程序设计方法学的与软件工程的关系
程序设计方法学也与软件工程关系密切。方法学对软件的研制和维护起指回导作用。软件工程要求程序答设计规范化,建立新的原则和技术。而一种新的方法的出现,又要求制订出相应的规范。方法和工具是同一问题的两个侧面。工具的研究以方法学为基础,而工具的研制成功又会影响程序设计。程序设计方法学还涉及程序推导、程序综合、程序设计自动化研究、并发程序设计、分布式程序设计、函数式程序设计、语义学、程序逻辑、形式化规格说明和公理化系统等课题。 软件工程的研究对象是软件系统。目标是降低软件的开发成本,提高软件的质量,提高软件的可维护性,提高软件开发的效率。着重于软件的宏观可用性。程序设计方法学研究对象是程序。目标是保证程序的正确性。着重于程序的微观正确性。软件工程与程序设计方法学的界限变得越来越模糊 程序设计方法学是软件工程的基础。
② 程序设计方法有那些()
程序设计方法学(Programming Methodology)有两种含义: 一种是以程序设计方法为研究对象的学科,它不仅研究各种具体的方法,而且着重研究各种具体方法的共性,涉及规范的全局性方法,以及这些方法的显示背景和理论基础;另外一种含义是针对某一领域或某一领域的一类特定
程序设计方法学(Programming Methodology)有两种含义:
一种是以程序设计方法为研究对象的学科,它不仅研究各种具体的方法,而且着重研究各种具体方法的共性,涉及规范的全局性方法,以及这些方法的显示背景和理论基础;另外一种含义是针对某一领域或某一领域的一类特定问题,所用的一整套特定程序设计方法所构成的体系。
作为一门学科(第一种含义),程序设计方法学可对程序设计人员选用具体的程序设计方法起指导作用,而具体的程序设计方法对程序设计工作的质量以及所设计出大程序的质量影响巨大。因此,对程序设计方法学的研究是非常重要的。
作为一套完整特定的程序设计方法所构成的体系(第二种含义),如逻辑式程序设计方法学、函数式程序设计方法学、对象式程序设计方法学等。它们有各自的利弊得失,与具体领域、具体问题以及具体环境相关。
两种含义之间的关系是:第二种含义是第一种含义的基础,第一种含义是在第二种含义的基础上的总结、提高,并上升到原理、原则和理论的高度。这两种含义的程序设计方法学都非常重要。
③ 程序设计方法学课程设计——万年历
人类的生存方式,20万年前与10万年前相比,不会有太大的改变;3000年前与2000年前相比,不会有太大的改变;600年前与500年前相比,不会有太大的改变。但是,今人与古人其实早已今非昔比,即使是现在与100年前相比,也已完全不一样。是什么推动了人类历史的发展?是什么让人类开始了新的生存方式?
我说,这便是科技,是科技的发展才推动了人类的进程,是科技的发展才使人类有着这崭新又美好的生活。纵观千古,哪朝哪代不是重视科技的发展?回首过去,看四大发明,独具鳌头;观天文历法,为之惊叹;览赵州拱桥,设计精妙;窥《本草纲目》,东方巨典;瞻圆周率值,七位小数;眺丝绸之路,发展经济;端青花瓷器,扬名海外。科技发展是强国之路,科技发展是中华民族进步的第一动力,没有科学,我们哪来的今天的幸福生活?没有科技,我们哪来的舒适的物质生活与精神享受?没有科技的进步,我们哪能吃到杂交二号?我们哪能穿上全棉衣服,我们哪能住进高楼大厦?
问,科技发展利大还是弊大?毋庸置疑,当然是利大!作何解释?不用解释!中华文明八千年历史文明就是铁证如山,历史每时每刻都在改变,科技每时每刻都在发展。人类从茹毛饮血原始生活学会利用或烧熟食物,从依靠自然到繁殖饲养,从手无寸铁到冶金炼石,这不都是进步,这不都是发展?如果是弊端大于利的话,那人类为什么都还不约而同的选择了进步?只有进步才能使明天更美好!
一个人不进步是可悲的,一个国家不进步是没落的,一个世界不进步是黑暗的。只要在不断的进步中,人类的生活才可以得到升华。人类是渺小的,人类是脆弱的,他没有庞大的身躯,没有牛似的力气,没有乌龟的硬壳。但上天给予了人类一颗聪慧的大脑,一双勤劳的双手,人类没有坐享其成,而是选择了不断进步,才可以在今天站在了食物链的顶端。
让我们把今天的生活和十万年前相比,我们是至高无上的;把今天和几千年前相比,我们是居高临下的;把今天和几百年前相比,我们是幸福舒适的;把今天和明天相比,未来是美好光明的。几千年来,从马车变成了轿车、火车、飞机;从煤油灯变成了白炽灯、霓虹灯、节能灯;从海角天涯变成了近在咫尺、视频聊天、鼠标一点尽知天下事。
我们是幸福的,我们是幸运的,我们赶上了一个科技高速发展的时代,一个充满高科技的时代,这不光光是我们的祖先在进化时选择了发展,选择了进步,也包括了所有人的不懈努力,刻苦钻研,我们今天的日子时有多少辛勤的科学家们用智慧甚至生命换来的。
因为法拉第,我们生活的周围才充满了各种各样的电器;因为达尔文、因为孟德尔,我们才可以更好地了解自己,认知自己;因为扁鹊,因为华佗,因为李时珍,我们的生命才能得到保障。
我们周围的一切,不都是他们给我们换来的吗?生活如此舒适,生活如此惬意,生活如此美妙,我们的平均寿命比古代提高了30岁,看望亲友甚至不用出家门,这不都是科发展给我们带来的好处吗?
所以说,科技改变历史,我们探讨科技的发展利大还是弊大是不需要质疑的,因为就是利大!利大!利大!你说科技发展带来了大气污染、你说科技发展产生了白色垃圾、你说科技发展形成了气温变暖……所有的事情不可能都是十全十美的,越明亮的地方后面的阴影就越暗,但就凭这些你就断定科技发展弊大于利?“ 世异则是事异”时代不同,所遇到的问题也不同,再说大气污染,各省各市都推出了预防预案;白色垃圾,统一处理;汽车尾气造成气温变暖科学家们也研发了太阳能汽车。看看现在、太阳能热水器、太阳能空调、太阳能电池……环保节约的太阳能已经逐步进入千家万户,这不是科技在发展吗?
虽然有弊端,但比起造福人类,环保家园的科技发展理念,无关痛痒,只要有弊端,科学家们同样会想办法去解决,我们不能因噎废食,科技发展的步伐一刻也不会停止。科技发展,无可厚非,就是利大,这个辨题唯一的答案!就因为科技一直在进步,科学一直在发展,狡猾的诡辩,笼统的只言片语,无理的胡搅蛮缠都改变不了这个真理。如果你说科技发展弊大于利,请问,你能在一周之内不坐车来上课,不用中性笔、不用圆珠笔、不用钢笔?你能在一周之内不看电视、不听新闻,不看报纸,不读书,不上网?你能在一周之内不吃研发的杂交水稻?不吃面食?不喝饮料?不能不能,你不能也不可能能,因为科技已经和你息息相关,已经和你密不可分!在请问,如果你给主席写信,说建议停止一切科研活动,大家是送给你鲜花,还是那板专拍你?
科技改变历史,不错的,没有科技发展,我们的生活是无法想象的,我们的日子是昏天黑地的,是科技发展救了我们,是科学把我们从水生火热的年代拯救了出来。我们更应该怀着一颗敬畏之心去尊敬他,怎能口是心非地说科技发展弊端累累?
科技改变历史,知识改变命运。我们跨入了21世纪,跨入了一个充满高科技的时代。科学改变了我们的生活,科学改变了我们的命运。“知识就是力量 ”,我们中华人民共和国,13亿人口的泱泱大国,为何能在世界面前挺起胸脯?因我们的科技在不断的发展!我们的科技在不断的进步!
科技发展利大于弊,这是一个亘古不变的主题!
④ 关于计算机程序设计的习题,不是C语言的,谢谢
“计算机程序设计基础”是计算机基础教学系列中的核心课程,主要介绍程序设计语言的基本知识和程序设计的方法与技术。其内容以程序设计语言的语法知识和程序设计的基本方法为主,同时包括程序设计方法学、数据结构与算法基础等方面的初步内容。本书旨在,使学生掌握计算机程序设计的基本思想和方法,初步具备在各领域应用计算机的能力,并为后续课程的学习创造条件。本套教材分为《计算机程序设计基础》和《程序设计基础实验指导与习题》,力求详细介绍C语言结构化程序设计,并涵盖了计算机等级考试的要求。《计算机程序设计基础》教材是以程序设计的基础理论为主,重点介绍程序设计的基本理论和方法及C语言的语法知识。《程序设计基础实验指导与习题》教材与《计算机程序设计基础》配套,包括实验上机指导、实验思考题、练习题、二级考试等内容。本书是以计算机基础课程教学指导分委员会制定的“计算机程序设计基础课程教学基本要求”为依据,结合近年来C语言程序设计基础的教学实践经验编写而成。其内容涵盖了C语言结构化程序设计的基本理论、基本概念、方法和规范。以培养学生掌握程序设计的基本理论和方法及计算机应用编程能力为目标。本书以一个小型的学生成绩管理系统为主线,将C语言程序设计的各个知识点分配到各个章节中详细介绍,并逐步实现该系统的全部功能。通过该案例,使学生对C语言程序设计的过程和所涉及知识有一个清晰的理解,力求理论与实践相结合,从而培养学生分析问题和解决问题的能力。本书共分8章,内容包括:第1章——程序设计概述,介绍程序、程序设计、算法等基本概念,程序设计的过程和程序设计的方法,以及C语言字符集、词法符号和C语言程序的基本结构。第2章——数据类型、运算符与表达式,介绍C语言的数据类型、各种类型的常量、变量的声明和使用方法,各种类型运算符及表达式求值的运算规则。第3章——程序控制结构,介绍结构化程序设计的基本概念和结构化程序设计的方法,C语言的顺序控制语言、选择控制语句、循环控制语句及应用问题的求解方法。第4章——函数与预处理,介绍用函数实现模块化程序设计的思想,函数定义、函数声明、函数调用的基本概念和方法,函数的返回值及其类型,函数参数传递机制,递归函数,变量的作用域和存储类型及预处理等。第5章——数组,介绍数组的概念,一维数组的定义、初始化及应用,二维数组的定义、初始化及应用,字符串与字符数组的概念及应用。第6章——指针,介绍指针的基本概念,指针变量的定义及其相关运算,指针与函数,指针与数组,动态内存分配。第7章——结构体与共用体,介绍结构体、共用体等自定义数据类型的机制,结构体类型与结构体变量,结构体数组,结构体与函数,链表的概念和常用操作,共用体的概念及应用。第8章——文件,介绍文件的基本概念及对文件的常用操作。第9章——面向对象程序设计,介绍面向对象程序设计的基本概念及类的基本操作。附录包括ASCII码表、C语言运算符、常用C标准库函数。本书第1章、第2章由田红梅编写,第3章由郭炜编写,第4章由刘菲编写,第5章由姬涛编写,第6章由江红编写,第7章、第8章由周启生编写,第9章由陈青编写。全书由周启生和姬涛统稿与审定。特别感谢刘宝忠教授对本书的指导与审阅。在编写本书的过程中,还得到了王海晖教授、庄鹏老师的大力支持,在此也表示衷心感谢!本书的编者都是长期从事程序设计教学的教师,本书凝集了各位教师多年的教学实践经验。由于计算机科学技术发展迅速,程序设计的教学内容、方法和手段日新月异,加之编者水平有限,书中不足之处在所难免,敬请读者批评指正,以便今后进一步完善。
⑤ How to design programs【程序设计方法学】作者傅雷森谁有中文版的
http://ishare.iask.sina.com.cn/f/36128627.html
⑥ 通过程序设计方法学 谈谈面向对象程序设计方法出现的必然性 并展望未来新的程序设计方法
程序设计方法学 ——第4章面向对象程序设计方 法学 徐承志 [email protected] 4.1 面向对象程序概述 ? 面向对象技术的产生与发展 ? ? 随着人们对数据抽象的不断加深认识,逐渐将类型的 概念扩展到数据抽象上,即将数据与操作不仅当做一 个整体来理解,还当做一个整体来实现。 Simula67(引入对象和类的概念)→美国国防部开发的 ADA(支持重载、多态等多种早期对象机 制)→Smalltalk(比较完整的实现了面向对象的思想, 但是弱类型)→C++(面向对象的思想从实验室走向实 际商用应用)→Java、Delphi、VB、C#...... 4.1 面向对象程序概述 ? 随着硬件的发展,软件设计从原来重视运行效率 转移到设计效率,于是各种高级语言出现不断抽 象发展的趋势,大致分成四个阶段: ? ? ? ? 符号抽象 模块化和信息隐藏 抽象数据类型 面向对象 ? 语言抽象的发展还没有结束,像Java、C#等语 言从具体的运行环境抽象到虚拟机环境;程序设 计方法从硬代码抽象到设计模式、范型编程; UML的产生使得程序设计脱离具体语言而抽象为 纯概念模型。 4.1 面向对象程序概述 ? 4.1.2 面向对象抽象的原理 ? ? 数据抽象 ? 模块化与信息影藏 行为共享 ? ? 分类:水平共享 分层:垂直共享 指系统随需求变化而修改和增加 指对复杂问题的增量式(大问题转换为小问题)的求解过程 调用时系统必须保证在共享的行为中找到正确的行为 ? 进化 ? ? ? 正确性 ? 4.1 面向对象程序概述 ? 4.1.3 面向对象计算的模型(指4种实现技术) ? 封装(模块化和信息隐藏) ? ? ? ? ? ? 表示:类的标识 属性:类中值的标识 算法:一个过程和函数的具体实现 约束:对类的行为特性进行某些限制(如CHECK、ASSERT) 触发:一对对象的变化导致另外一个对象的行为 可见性:那些行为和状态对外公开 集合(实际中很少使用) 抽象数据类型(抽象类、接口) 类(具体类) ? 分类(3种情况) ? ? ? 4.1 面向对象程序概述 ? 4.1.3 面向对象计算的模型(指4种实现技术) ? 共享(又称为多态性) ? ? ? ? 强制:类型转换,如实数运算可以处理整数 重载:通过参数的不同函数有不同的实现 参数化多态:函数的参数不制定一个具体类型(如模板函数) 包含多态性:一种分类可以替换另一种分类,类与类之间不完 全孤立(有人认为这种方式破坏了OOP的优秀性) 4.1 面向对象程序概述 ? 4.1.3 面向对象计算的模型(指4种实现技术) ? 解释 ? 静态绑定 ? 编译时绑定,运行开销小,缺点是必须重新编译才能解除绑定 ? 动态绑定 ? 运行时绑定,运行开销大,不需要重新编译就能建立新的绑定 4.2 可复用面向对象程序设计的基本原
⑦ 本科的计算机科学与技术专业的课程按大一、大二、大三、大四分别介绍下,谢谢!
计算机导论实验 1 18 36 1
专业必修课 专业必修 21301801 计算机导论 2 36 0 2
专业必修 21301802 C语言程序设计 3 54 36 4
专业必修 21301803 电子技术及实验 3 54 18 3
专业必修 21301804 数字逻辑及实验 4 72 18 4
专业必修 21301806 数据结构 4 72 18 4
专业必修 21301807 信息系统安全概论 2 36 0 2
专业必修 21301809 离散数学 5 90 0 4
专业必修 21301811 计算机组成与结构 4 72 0 4
专业必修 21301812 操作系统 3 54 0 3
专业必修 21301813 嵌入式系统引论 4 72 0 4
专业必修 21301814 数据库系统原理 3 54 0 3
专业必修 21301815 计算机网络 3 54 18 3
专业必修 21301816 编译原理 3 54 0 3
专业必修 21301818 计算机新技术讲座 0 0 1
专业必修 21305801 计算机组成与结构实践 1 18 36 2
专业必修 21305802 操作系统实践 1 18 36 2
专业必修 21305803 嵌入式系统实践 1 18 36 2
专业必修 21305804 数据库系统实践 1 18 36 2
专业必修 21305805 编译原理实践 1 18 36 2
专业必修 21305810 毕业论文 0 0 6
专业必修 21305818 计算机编程实践 0 0 0 0 36 1
专业必修 30000001 高等数学A(一) 5 108 0 5
专业必修 30000002 高等数学A(二) 6 120 0 5
专业必修 30000008 线性代数A 3 54 0 3
专业必修 30000010 概率论与数理统计A 3 54 0 3
专业必修 30000015 大学物理B(一) 3 54 0 3
专业必修 30000016 大学物理B(二) 3 54 0 3
专业必修 30000017 大学物理实验B
专业任意选修 21303801 面向对象程序设计(基于C++) 2 36 18 2
专业任意选修 21303802 面向对象程序设计(基于Java) 2 36 18 2
专业任意选修 21303803 算法分析与设计 2 36 18 2
专业任意选修 21303805 现代软件工程 3 54 0 3
专业任意选修 21303807 信息系统建模与设计 2 36 18 2
专业任意选修 21303811 单片微机原理与应用 2 36 18 2
专业任意选修 21303816 计算机网络工程 2 36 36 3
专业任意选修 21303817 通信原理 2 36 18 2
专业任意选修 21303820 无线局域网 2 36 0 2
专业任意选修 21303822 人-机交互与虚拟实现 2 36 0 2
专业任意选修 21303823 XML技术与应用 2 36 0 2
专业任意选修 21303826 计算机视觉与模式识别 2 36 0 2
专业任意选修 21303827 抽象代数 2 36 0 2
专业任意选修 21303831 数值计算及其计算机实现 2 36 18 2
专业任意选修 21303836 程序设计方法学 3 54 0 3
专业任意选修 21303837 现代计算机网络 3 54 0 3
专业任意选修 21303838 高级计算机系统结构 3 54 0 3
专业任意选修 21303839 计算理论基础 3 54 0 3
专业任意选修 21303840 计算机辅助教育 1 18 36 2
专业任意选修 21303841 人工智能 2 36 18 2
专业任意选修 21303843 Web应用技术 1 18 36 2
专业任意选修 21303844 数字图像处理 2 36 18 2
专业任意选修 21303845 Windows应用程序设计 2 36 18 2
专业任意选修 21303848 现代CAD技术 2 36 18 2
专业任意选修 21303850 多媒体技术 2 36 18 2
专业任意选修 21303851 计算机图形学 2 36 18 2
专业任意选修 21303852 数据挖掘与知识发现 2 36 0 2
专业任意选修 21303853 网络安全基础 2 36 36 3
专业任意选修 21303854 生物信息学 2 36 0 2
专业任意选修 21303855 存储技术基础 2 36 0 2
专业任意选修 21303859 实时嵌入式系统 2 36 0 2
专业任意选修 21303860 自然语言处理导论 2 36 0 2
专业任意选修 21303861 信号与系统 2 36 0 2
专业任意选修 21305811 问题求解与程序设计 1 18 72 3
专业任意选修 21305813 程序设计方法课程设计 1 18 54 2
专业任意选修 21305814 应用系统课程设计(软) 1 18 72 3
⑧ 程序设计员需要哪些基本知识
要学硬件知识,软件知识、数据结构、计算方法、程序设计方法学、数据库结构和管理知识、具体的语言和数据库的管理知识等等。当然也需要精通一门开发语言!
⑨ 计算方法与程序设计学什么的
程序设来计方法学是讨论程序自的性质以及程序设计的理论和方法的一门学科,
是研究和构造程序的过程的学问,
是研究关于问题的分析,环境的模拟,概念的获取,需求定义的描述,
以及把这种描述变换细化和编码成机器可以接受的表示的一般的方法。
⑩ 程序设计方法学的介绍
用以指导程序设计各阶段工作的原理和原则,以及依此提出的设计技术。有时也指研究这内些原理、容原则和技术的学科。程序设计方法学的目标是能设计出可靠、易读而且代价合理的程序。程序设计方法学包括程序理论、研制技术、支援环境、工程规范和自动程序设计等课题,使程序设计更加科学化和工程化。其基本内容是:结构程序设计;程序理论在程序设计技术中的应用,以及规格说明和变换技术。程序理论与程序设计方法学的发展密切相关,它丰富了程序人员的思维方法,促进了程序设计技术的发展。