导航:首页 > 编程语言 > 多处理器编程的艺术习题

多处理器编程的艺术习题

发布时间:2024-07-27 23:47:44

㈠ 计算机基础课程有那些

您好!
请看资料,或许会有帮助的。

根据不同专业对计算机的不同需求,北京大学计算机基础课程教学体系划分为计算机专业(A类)、理科非计算机专业(B类)、文科专业(C类)三类。

为了了解北京大学计算机基础教学的课程体系和知识点设置的情况,以及学生的学习效果,我们在北京大学计算机基础任课教员和低年级理科学生中进行 了计算机基础课程分类分级教学情况的调查。下面重点介绍北京大学计算机基础课程教学体系、课程设置以及教学效果、教学经验、教学改革等方面的调查结果。

一、北京大学计算机基础课程教学体系
北京大学计算机基础课程教学体系按照计算机专业(A类)、理科非计算机专业(B类)、文科专业划分为三类。A类和B类的计算机基础课程有三门课程:计算概论、数据结构与算法、微机原理。为了加强计算机专业学生的程序设计能力,在信息学院专门为计算机专业学生开设了程序设计实习、数据结构与算法实习这两门实践课程,进行系统的程序设计训练。C类计算机基础课程包括两学期的内容:文科计算机基础(上)、文科计算机基础(下)。

三类教学体系中不同的课程都设有主持教员和主讲教员,这些来自北京大学不同的院系的教员组成教学小组,共同制定教学大纲、选取教材、统一教学进度、定期交流教学经验。

1.计算机专业计算机基础课程体系(A类)
在设置计算机专业的基础课程时,基于如下的考虑:

(1)首先要给学生提供对计算机学科的一个全局性了解,建立学科全局观,既有利于日后深入学习做出选择,也有利于对各学科分支在学科全局中的位置和相互关系有透彻的理解。

(2)设计程序解决一个问题时,除了认真分析问题之外,最重要的是选择合适的数据结构,并设计满足限制条件(或者更优)的算法。因此,计算机专业的学生要熟练掌握各种常见的数据结构,深刻理解某些经典算法,如快速排序、二分法等等的原理和时间、空间复杂度,掌握算法设计的一般步骤。

(3)计算机专业的学生应该从理论和实践上掌握微型计算机的基本组成、工作原理及常用接口技术,建立微机整体概念,具备利用微机进行硬、软件开发的初步能力。除此之外,还要初步掌握汇编语言程序设计的基本方法和上机调试过程。

因此,北京大学计算机系设置了计算概论课程、数据结构与算法课程、数据结构实习、程序设计实习和微机原理课程。其中,计算概论作为总论性质的课程,是其他课程的先修课程。

2.理科非计算机专业计算机基础课程体系(B类)
非计算机专业学习计算机技术的目的很明确,不是把它作为纯理论的课程来学习,而是作为应用技术来掌握。对于理工类非计算机专业的学生来说,虽然他们在学习和工作中不是以计算机为中心,但是很多情况下却离不开计算机,他们需要结合自己的专业,利用计算机作为工具来开展工作。

与计算机专业一样,对理科非计算机专业的计算机基础课程体系同样也设置了计算概论、数据结构与算法、微机原理三门课程。但是,由于两者的学习目的不同,故而要求也有很大不同。

3.文科专业计算机基础课程体系(C类)
对文科学生在计算机方面的要求比对理科非计算机专业学生的要求更低一些,教授的内容也更偏向于应用,结合使用计算机和应用计算机,讲解计算机与信息技术的基本知识和基本方法。文科专业计算机基础课程包括两学期的内容:文科计算机基础(上)、文科计算机基础(下)。

二、课程的主要教学目标和教学内容
各门课程的主持和主讲教员参考各门课程的主持和主讲教员参考CCC2002(China Computing Curricula, 中国计算机科学与技术学科教程)、CC2001、“计算机基础教学白皮书”和CFC2004(China Fundamental-computing Curricula, 中国高等院校计算机基础教育课程体系)等课程体系为不同类型的计算机基础教育课程分别制定了教学大纲。

1. 计算机专业
计算机专业的计算机基础课包括五门课程:计算概论、数据结构与算法、数据结构与算法实习、程序设计实习、微机原理。其中,计算概论是其他课程的先修课,数据结构与算法和数据结构与算法实习是两门同修课程。

(1) 计算概论A(54学时,3学分)

这门课程的教学目标是给计算机专业的学生提供一个对计算机学科的全局性认识,让学生一开始就有全局观,既对日后深入学习做出选择提供帮助,又有利于透彻理解各学科分支在整个计算机学科中的位置和相互关系。在教学实践中,既要遵循人的认识习惯,又能让学生有效地掌握学科哲学思想。

该课程的基本目的是:使学生了解‘计算科学’的意义、内容和方法,从基础理论、基本开发技术和应用三个层面来介绍;使学生对计算机的认识由感性的、功能的认识深入到内涵的、机理的认识;使学生对计算机学科的主要骨干课的内容以及相互关系有一个概括的了解,对计算机专业的课程体系建立一个整体印象;使学生掌握程序设计的基本方法,可以用C++语言编写应用程序。

在教学实践中,我们采用了两条主线:计算科学简介,C++程序设计。即在介绍计算科学的同时也讲解C++程序设计,实践证明,这样收到了很好的教学效果。

教学方式:既有课堂教学(多媒体教学),又有网络课堂:http://162.105.80.97 ,可以进行课后复习、交作业、讨论、辅导答疑,等等。

(2) 程序设计实习(36学时,2学分)

这是信息学院本科生必修课。

该课程的基本目的是:了解程序设计语言的本质,并熟练掌握一种程序设计语言;培养学生的实际动手能力, 为进一步学习其他专业课程奠定良好的基础。目前程序设计使用的高级语言是C++。

教学方式:课堂授课和上机实习相结合。

(3) 数据结构与算法A(54学时,3学分)

该课程为信息学院本科生必修课,又是计算机软件专业一门十分重要的基础课。计算机科学各领域及有关的应用软件都要使用到各种数据结构。这门课程向学生详细讲解各种常见的数据结构及其特点,讲授算法设计和分析技术的一般方法,使学生能够熟练运用各种数据结构,针对具体问题设计出合适的算法。

课程网站: http://db.pku.e.cn/mzhang/ds/

该课程的基本目的是:通过本课程的学习,学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制;培养学生逻辑思维能力、独立思考能力、分析问题和解决问题能力,以及严谨的科学作风。

(4) 数据结构与算法实习(周学时4,2学分)

该课程为信息学院本科生必修课,先修要求:计算概论A ,同修要求:数据结构与算法。

课程网站:http://db.pku.e.cn/mzhang/ds/shixi/index.htm

该课程的基本目的是:配合“数据结构”理论课程的学习,提高学生的实际动手能力;能够独立地实现常用基本数据结构的ADT,能够灵活地应用基本ADT,以及相应的STL中设置的常用数据结构,解决一些实际问题,独立编写中小型应用程序;应用基本数据结构,并结合排序、检索、文件、索引等技术,合作编写比较综合的大型应用程序。

(5) 微机原理A(54学时,3学分)

该课程为信息学院本科生必修课,先修要求:计算概论A,数字逻辑。

该课程的基本目的是:从理论和实践上掌握微型计算机的基本组成、工作原理及常用接口技术;初步掌握汇编语言程序设计的基本方法和上机调试过程;建立微机整体概念,具备利用微机进行硬、软件开发的初步能力。

教学方式:课堂讲授,示教演示,上机实习。

2. 理科非计算机专业
理科非计算机专业计算机基础课程包括3门课:计算概论、数据结构与算法、微机原理。其中,计算概论是其他两门课程的先修课。

(1)计算概论B(51学时,3学分)

该课程为理科本科通选基础课B。

课程网站:http://162.105.30.60/course/index.htm; http://icl.pku.e.cn/member/hujf/;ftp://162.105.20.22/courses/; http://gis.pku.e.cn/Course/ComputerCourse02/index.htm

该课程的基本目的是:使学生初步理解有关计算机和信息技术的基本概念和基础知识,学会使用计算机进行信息处理,使用常用软件,使用因特网;讲授程序设计基础,侧重其基本部分。

教学方式:课堂讲授,配以上机。每次课都布置作业,包括上机作业。

(2)数据结构与算法B(2(课堂教学)+2(教学实验)课时/周,3学分)

该课程为理科本科生必修课 。

先修课程: 计算概论(通过学习计算概论,学生要有一定的程序设计能力,能熟练掌握运用C的控制结构,函数定义与调用,数组,结构,指针。

课程网站:http://162.105.69.120/teachers/zhangnx/ds/算法与数据结构/INDEX.HTM;ftp://162.105.20.22/courses/;http://db.pku.e.cn/ds/

该课程的基本要求是:从每个数据结构的逻辑结构、相应的一组基本运算和实现三个方面去掌握线性表、栈、队列、串*、树、图和字典等常用的数据结构;掌握在顺序存储结构上实现的重要的几种排序算法;对算法的时间和空间复杂性有一定的分析能力;针对简单的应用问题,应能选择合适的数据结构及设计有效的算法解决之。

教学方式:以课堂讲授为主,并根据教学进度安排上机实验。上机内容包括:单链表、栈、二叉树操作、图的遍历、检索、排序。

(3)微机原理B(54学时,3学分)

该课程为理科非计算机专业限制性选修课。由于绝大部分非计算机专业的学生没有学过数字逻辑课程,所以与计算机系微机原理课程相比,增加了数字逻辑的基本内容;在内容的深度上也比计算机专业略浅一些。

该课程的基本目的:理解微型计算机的基本组成、工作原理及常用接口技术;初步掌握汇编语言程序设计的基本方法和上机调试过程;建立微机整体概念。

教学方式:课堂讲授,示教演示,上机实习。

3.文科
文科专业计算机基础课程分两学期讲授。

(1)文科计算机基础(上)(48学时,2学分)

该课程为文科必修课程。这门课的目的是向文科学生介绍计算机的发展,计算机的使用与维护,计算机网络方面的常识,以及常用软件(如word、excel)的使用。通过本课程的学习,希望学生能够较为熟练地使用计算机,真正把计算机作为日常生活和学习中的工具。

课程网站:http://162.105.30.75;http://162.105.30.75:8080;http://162.105.30.80:8000

教学方式:对于基础知识采用课堂讲授的形式,对于其他需要动手操作的技能采用上机实验。

(2)文科计算机基础(下)(周学时3,2学分)

该课程为文科类必修课程。该课程讲授较为高级的计算机应用技术,一共包含7个模块:网络、多媒体、数据库、VB、ASP、网页制作、动态网页制作。我们将这个7个模块组合起来,一共形成了7门课程,学生可以任选其中1种或2种。这7门课程是:网络与多媒体技术,网络与数据库技术,网络与VB程序设计,数据库与VB程序设计,VB与ASP,(静态)网页制作,动态网页制作。

三、教学效果的调查结果
参与调查的学生一共626人(包括网上答卷和纸质答卷),其中计算机专业(简称A类)343人(只学过计算概论的学生153人,学过数据结构和计算概论的学生71人,全部基础课程都学过的学生119人),理科非计算机专业(简称B类)165人,文科专业(简称C类)118人。

我们从基本信息、师资力量、教学方式、教学效果、课程安排五个方面进行了调查,并对结果进行了初步分析。由于文章的篇幅的限制,本文只给出教学效果,也就是学生对课程的知识点的了解程度。

在教学效果的调查中,对每门课程,我们让学生选出他们认为重要的知识点(多选),这样可以从结果看出不同年级和专业的学生对所学过每门课程的认识。

对理科专业(包括计算机专业)的学生考察了他们对4门课程的认识:计算概论、程序设计、数据结构与算法、微机原理。由于文科专业课程内容相对简单,我们将各个知识点汇聚在一起作为一门课程(文科计算机基础)来考察。

1.计算概论
调查结果表明,“学习写出正确、简洁的程序”被所有的学生(包括计算机专业和非计算机专业)认为是计算概论课程中最重要的知识点。计算机专业学生认为最不重要的知识点是机器指令与汇编,其次是布尔代数与逻辑电路。理科非计算机专业学生认为最不重要的知识点是布尔代数与逻辑电路,其次是计算模型。

计算机专业一年级学生对计算概论课程的各个知识点重要性的认识没有很大的起伏,而二年级学生(学过数据结构和微机原理的学生)对其中不同知识点有不同对待。二年级学生普遍认为机器指令和汇编、系统软件和应用软件、计算机网络等知识点不重要,原因可能是内容比较简单(例如系统软件和应用软件),或者以后会学到而且现在不急于了解(例如计算机组织与体系结构)。

2.程序设计
调查结果表明,学生认为最重要的知识点是指针,其次是基本程序结构;认为最不重要的知识点是贪心法,广度优先搜索。学生认为指针是程序设计中最重要的知识点,这和我们教学中采用C/C++作为入门语言不无关系。

观察计算机专业三类学生的看法,可以看出,随着学习的深入,认为数组、递归和回朔两个知识点很重要的学生比例在增加。例如一年级中只有37%的学生认为数组重要,而到二年级之后这个比例上升到70%以上。

3.数据结构与算法
调查结果表明,计算机专业学生认为数据结构中前几个最重要的知识点是:排序、二叉树、图的遍历、索引(包括B树/B+树);最不重要的知识点是高级数据结构(如字符树、广义表、AVL树)其次是树。

理科非计算机专业认为最重要的知识点依次是线性表、二叉树、排序,认为最不重要的知识点是高级数据结构、索引,其次是散列与检索。

教学实践中,我们的教学重点也基本上与学生认为最重要的知识点基本一致。同时在教学过程中没有重点讲授的内容(如高级树形结构),也被学生们认为是不重要的。

4.微机原理课程
调查结果表明,计算机专业学生认为最重要的知识点是汇编语言程序格式,其次是CPU的操作和时序、指令编码格式及80x86指令系统、中断的用途和中断控制器的作用;最不重要的知识点依次是伪指令和宏指令、外部引脚的功能、操作数的汇编表示、存储空间的扩展。

理科非计算机专业学生认为微机原理中最重要的知识点依次是定时器/计数器、中断的用途和中断控制器的作用、存储器的结构、存储器工作原理;最不重要的知识点是总线及常见总线标准、伪指令和宏指令、存储空间的扩展等。

5.文科计算机基础
由于文科专业课程内容相对简单,我们将各个知识点汇聚在一起作为一门课程(文科计算机基础)来考察。

调查结果表明,可以看出文科专业学生最感兴趣的知识点依次是:动画的处理、演示文稿的制作、文字处理软件的功能和用法、计算机安全与犯罪的有关常识;最不感兴趣的知识点是计算机文化与信息化社会、与计算机应用相关的道德与法规介绍、计算机的概念和发展史、软件与知识产权保护、计算机中的信息表示、网络教学与远程教育等。

6.教学效果小结
我们在分析了各专业各年级的调查数据之后,可以得出如下几个结论:

(1)在计算机专业,不同年级的学生对同一门课的认识可能会有比较大的出入;而在非计算机专业,不同年级的学生对同一门课的认识基本一致。例如计算机专业的学生对计算概论的认识,一年级学生认为较为重要的知识点如机器指令和汇编、系统软件和应用软件、计算机网络等,二年级的学生却认为都不重要。原因大概是内容比较简单,或者以后会学到。

(2)无论是计算机专业还是理科非计算机专业,学生普遍认为程序设计中最重要的知识点是指针。这和我们教学使用的编程语言有很大关系,因为目前教学实践中程序设计采用的入门语言一般是C/C++,而C/C++中指针功能强大但是不容易掌握,所以多数学生认为指针是程序设计中最重要的知识点。Java的语法中没有指针,面向对象的风格更完备,学生学起来可能比C++更容易一些。是否采用Java作为入门语言,是值得我们考虑的一个问题。

(3)学生认为数据结构中最重要的知识点是快速排序、二叉树、二叉树的遍历、图的遍历、最短路径、B树/B+树等,这基本上和我们教学中重点讲述的内容一致。

(4)文科学生对动画的处理、演示文稿的制作、文字处理软件的功能和用法、计算机安全与犯罪的有关常识最感兴趣,而对计算机文化与信息化社会、与计算机应用相关的道德与法规介绍、计算机的概念和发展史、软件与知识产权保护、计算机中的信息表示、网络教学与远程教育等内容没有很大兴趣,可以看出,文科学生希望老师多讲一些可以表现自己创造力和个性的、实用的或者学 生比较关心的内容。

四、教师的教学经验以及对计算机基础课程教学改革的看法
我们用e-mail采访了十几位担任本计算机基础课程的主讲教师,刘楚雄、陈泓捷、唐大仕、龙晓苑、李文新、胡俊峰、代亚飞、高军、王腾蛟等老师认真地回答了问卷,并提供了教学大纲等信息。他们其中有教学经验丰富的老教授,也有具有创新精神的青年骨干教师;有计算机专业的老师,也有其他学院担任本院计算机基础课程教学任务的老师。

1. 教学经验

归纳起来,各位老师的教学经验有以下几个方面:

(1)注重调动学生的积极性。可以让学生做一些小程序,提高学生的动手能力和信心来激发学生的积极性;可以增加鼓励措施,如请学生讲课,适当表扬,出一些需要创造性思维的作业;可以引入一些能用计算机解决的智力游戏,让学生积极思考;选取例子时也可以选一些短小简洁的问题,先提出问题,然后求解,容易集中学习注意力,等等。

(2)讲课内容注重实用性和具体性。学生对实际中存在的问题更容易感兴趣;对具体的例子比抽象的讲解更容易接受。可以通过让学生使用计算机去解决现实生活中的一些问题,因为学生大都希望能学以致用,能够解决一些具体的问题。他们在解决具体问题的过程中同时也学会了解决问题的方法。

(3)多与学生交流。可以在课程网站上建立留言板,在BBS上答疑,鼓励学生与教师和助教多交流,等等。这样能够发现学生的疑问甚至自己的不足,及时调整。

(4)选用内容新颖、编制优良的教材,参阅精品课程网站。

2. 教学改革设想

谈到计算机基础课程教学改革,老师们提出如下较为一致的看法:

(1)不同专业的计算机基础课程侧重点应该有所不同,强调针对性。有些工程性强的专业涉及到的科学计算比较多,艺术类专业可能会注重多媒体处理。不同专业的计算机基础课程应该包括针对该专业特点的内容。

(2)调整必修课和选修课的比例。有的老师认为,对于某些理科专业来说,计算机基础课程必修课应该包括计算概论、数据结构与算法,而像软件工程和Windows程序设计等课程可以作为选修课;对另外一些很少涉及编程的理工专业,必修课可以只包含计算概论,而数据结构与算法等作为选修课。对于文科专业来说,“计算机基础”应作为必修课,而程序设计可以作为限选课或者非限选课,算法与数据结构可以作为非限选课。

(3)教学内容应该突出应用性。希望学生能够学以致用,但是从学生的反应和老师的意见来看,在这方面仍有很大的努力空间。

五、结论

总的来看,我们的教学实践是成功的,但是也有一点不足。可以总结为以下几点:

1. 教学效果的评价

从学生对每门课程的认识来看,我们取得了很好的教学效果。学生认为课程中重要的知识点基本上和教学实践中重点讲解的内容一致。不过,在文科专业,学生希望可以学到更多的关于多媒体(动画、视频等)处理的实用技能。

2. 师资力量的评价

无论从计算机专业还是从非计算机专业来看,师资力量都基本能够满足要求。绝大多数理科学生认为教师和助教对学生认真负责,大部分文科学生也持相同看法。同时我们也注意到,理科非计算机专业学生虽然大部分认为老师很敬业,但是不是十分认可其能力。另外,计算机专业的计算概论课程需要增加助教。因此,提出应该很好解决教师的进修与充电的问题。

3. 课程安排和内容方面

老师和学生反映较多的问题是应该给不同学院甚至专业开设不同的计算机课程,教学内容应该和专业领域结合得更紧密一些。例如对于编程,不同专业要区别对待。有的学院除个别专业方向须掌握编程方法外,其余均是对现在已有程序的应用;而另外一些专业却对程序设计能力有较强烈的要求。再如对于美术相关的专业,可能会对电影制作方面有较高的要求。

4. 教学方式

老师如果能注重调动学生的积极性,教学效果可能会更好。可以讲解或布置有挑战性或应用性或有趣的任务、问题或习题,增加奖励和鼓励措施,讲授知识时能够做到理论联系实际,努力使该课程生动有趣且易懂等来调动学生的积极性并吸引学生的注意力。

5. 作业要求

大部分学生认为课程学习难度适中,能够独立完成作业,课程负担也比较合适。不过,在理科专业,数据结构课程作业偏多,而计算概论负担相对较轻。

全国高等学校教学研究中心

㈡ 0基础自学python,有入门书籍推荐下么

AlphaGo 都在使用的 Python 语言,是最接近 AI 的编程语言。

教育部考试中心近日发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自2018年3月起,在全国计算机二级考试中加入了“Python语言程序设计”科目。

9个月前,浙江省信息技术课程改革方案已经出台,Python确定进入浙江省信息技术教材,从2018年起浙江省信息技术教材编程语言将会从vb更换为Python。

小学生都开始学Python了,天呐撸,学习Python看完这些准没错。

安利一波书单

Python入门

Python数据分析》

作者: 【印尼】Ivan Idris

Python是一种多范型编程语言,既适用于面向对象的应用开发,又适合函数式设计模式。Python已经成为数据科学家进行数据分析、可视化以及机器学习的一种理想编程语言,它能帮助你快速提升工作效率。

本书将会带领新手熟悉Python数据分析相关领域的方方面面,从数据检索、清洗、操作、可视化、存储到高级分析和建模。同时,本书着重讲解一系列开源的Python模块,诸如NumPy、SciPy、matplotlib、pandas、IPython、 Cython、scikit-learn和NLTK等。此外,本书还介绍了数据可视化、信号处理、时间序列分析、数据库、预测性分析和机器学习等主题。通过阅读本书,你将华丽变身数据分析高手。

㈢ 游戏编程

re more disputes to come," he added.

㈣ 大学计算机专业用什么教材

一、需要的专业教材:

1、数据库方面:王珊等编的《数据库系统概论(第4版)》 高教版。

2、数据结构方面: 《数据结构》,清华严蔚敏版。

3、还有经典教材《操作系统设计与实现(第三版)》陈渝 译 电子工业出版社等

4、当然还有 《计算机系统结构》用西电的就行了,还有西电的《计算机操作系统(第 三 版) 》 ,《计算机组成原理》 作者唐朔飞,是高教版。

二、数学课程:

高等教育出版社出版的《线性代数》和浙江大学编写《概率统计》。

《离散数学》,用左孝凌教授等编的就可以,上海科学技术文献出版社。还可以参考左教授编的自学教材,经济科学出版社,也可以用北大、清华的教材。

《复编函数》、《计算方法》等也可以学一下。

三、英语课程:

可以选择《计算机英语学生用书》清华大学出版社,姜同强主编。

(4)多处理器编程的艺术习题扩展阅读

计算机科学与另外的一些学科紧密相关。这些学科之间有明显的交叉领域,但也有明显的差异。

1、信息科学—信息科学是指以信息为主要研究对象,以信息的运动规律和应用方法为主要研究内容,以计算机等技术为主要研究工具,以扩展人类的信息功能为主要目标的一门新兴的综合性学科。信息科学由信息论、控制论、计算机科学、仿生学、系统工程与人工智能等学科互相渗透、互相结合而形成的。

2、软件工程–(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。

典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏,app等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。

3、信息系统–所谓MIS(信息系统--Management Information System)系统 ,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。

它是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。

目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。

4、计算机工程–(也称为电子和计算机工程或计算机系统工程)是一门学科,结合内容都电气工程和计算机科学。计算机工程师正电气工程师有更多的培训领域的软件设计和硬件,软件一体化。反过来,他们注重减少对电力电子学和物理学。

电脑工程师都参与了许多方面的计算,从设计的个别处理器,个人电脑,和超级计算机,以电路设计。这一工程的许多子系统监控机动车辆。

5、信息安全 –本专业是计算机、通信、数学、物理、法律、管理等学科的交叉学科,主要研究确保信息安全的科学与技术。培养能够从事计算机、通信、电子商务、电子政务、电子金融等领域的信息安全高级专门人才。

密码学-是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学。



㈤ 学习C语言 必看的书籍

Brian W.Kernighan, Dennis M.Ritchie,《C程序设计语言》

清华影印版、习题集;机械译文版(新版、老版):习题集
这是迄今为止在所有程序设计语言书籍中最广受尊敬的一部经典,是任何一名C程序员的必读之作。因为出自C语言的设计者Dennis M.Ritchie和着名的计算机科学家Brian W.Kernighan之手,它被昵称为“K&R C”。是它首先引入了“Hello World!”程序,这个程序几乎成了后来任何一本入门性程序设计语言书籍中的第一个例子。
如同C语言本身简洁紧凑而极具威力一样,这本书轻薄短小而极富张力。通过简洁的描述和典型的示例,它全面、系统、准确地讲述了C语言的各个特性以及C程序设计的基

法,内容涵盖基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口以及标准库等内容。
简洁清晰是这本书最大的特色。这本小书可以教给你许多比它厚几倍的“大部头”的知识。我认为那些动辄洋洋洒洒拼凑出好几百页乃至上千页的技术作者应该好好向K&R学一学。对于中、高级程序员而言,如果希望迅速获得C语言的严肃知识而又不愿意多花费哪怕一丁点时间,这本书就是首选。
顺便说一句,这本书的索引制作非常出色,极具实用价值,这可能首先要归功于正文部分的简明扼要。此外,尽管它看上去很像一本教程,但其实更是一本写给专业程序员的指南。如果你不具备任何其他语言程序设计背景或基本的C语言知识,这本书也许并不适合用作你的C语言启蒙读物。
2. Perter Van Der LinDen,《C专家编程》

C专家编程
C语言是严肃的程序员语言,但这并不意味着C语言书籍必须板着面孔说教。在这本被C程序员昵称为“鱼书”(封面上有一条“丑陋的”腔棘鱼)的着作中,作为SUN公司编译器和操作系统核心开发组成员之一,Peter淋漓尽致地展示了其深厚的技术沉淀、丰富的项目经验、高超的写作技巧以及招牌式的幽默。在这部作品中,作者以流畅的文字、诙谐的笔法将逸闻典故、智慧和幽默自然地融入技术描述中,读来宛若一本小说,极富趣味。 本书讲述了C语言的历史、语言特性、声明、数组、指针、连接、运行时以及内存使用等知识,揭示了C语言中许多隐晦之处,尤其深入解析了声明、数组和指针、内存使用等方面的细节。要想成为一名专家级C程序员,这些内容都是必须掌握的。和其他满是抽象例子的C语言书籍不同,这本书充满了大量的来自真实世界的C程序设计实例,它们对C程序员具有很高的参照价值。另外,每一章都以极富趣味的“轻松一下”收尾,而附录A“程序员工作面试的秘密”则是任何语言的程序员在应聘工作前增强自信的好材料。

我怀疑真正的C专家可能用不着看这本书 ——从内容到组织方式到行文风格都决定了这是一本轻松愉快的“从菜鸟到高手”的进阶读本,所以,它理应拥有更广泛的读者群。初级程序员往往更需要热情的鼓励,在阅读这本书的过程中,你定会深深地被作者对编程的激情所感染。
世间并无完美。我认为这本书的缺陷在于,和大多数平庸的C语言书籍一样,它画蛇添足地加入了一章关于C++的描述。在今天看来,这个描述既不全面也有失公允。不过,鉴于作者是在1994年从一名C程序员的角度去观察C++,这一点也就不足为奇了。 3. Samuel P. Harbison, Guy L. Steele,《C语言参考手册(第五版)》

影印版(机械工业出版社)、中文版(机械工业出版社)
在C语言参考手册类书籍里,Samuel P. Harbison 和Guy L. Steele合着的C: A Reference Manual是非常出色的一本。这本手册的第五版新增了对C99标准的介绍,以便满足新时期C语言学习的需要。全书共分为两大部分,第一部分专注于C语言特性,第二部分则全面讨论了C标准库。本书涵盖C99、C89、传统的C、所有版本的C运行库以及编写与C++兼容的C代码等一切知识。
这本手册只是中等厚度,但它比“比它更厚”的其他参考手册更清晰地描述了C语言的现在和过去的方方面面。整本手册技术细节描述精确,组织条理清楚,内容完备详尽而又简明扼要。可以这么说,它在广度、深度和精度方面都是出类拔萃的。对于中、高级C程序员而言,这本手册值得常备案头,它几乎肯定要比K&R的着作使用频率更高。
4. David Hanson,《C语言接口与实现:创建可重用软件的技术》,机械工业出版社

C语言接口与实现:创建可重用软件的技术
C语言能够历经三十多年而不衰,一个重要的原因在于它的适应能力。在这“复用”、“面向对象”、“组件”、“异常处理”等先进机制漫天飞舞的年代,C语言仍然能够凭借它小而优雅的语言特性,在相当程度上满足现代软件体系架构提出的要求。只不过,想要达到这个程度,必须要在C的应用功力上达到最高层次。在嵌入式、系统软件以及对性能要求极高的系统开发中,开发人员必须达到这样的层次,熟练掌握C语言的高级特性,才能够同时满足效率和灵活性、复用性的要求。可惜,虽然C语言技术图书汗牛充栋,但是关注这个峰顶之域的作品却是屈指可数。David Hanson的C Interfaces and Implementations就是个中翘楚。
David Hanson是业内大名鼎鼎的自由编译器lcc的合作者。在这个项目中,他负责提供高度可复用的基础架构。在不断的实践中,他完全使用ANSI C形成了一整套可复用组件库。这套组件库架构清晰,性能优异,而且提供了很多高级的特性,比如类Win32 SEH的异常处理机制、可移植的线程库、高性能的内存池、丰富的可复用数据结构组件。David Hanson把他在创作这些组件的过程中所积累的心得以及对其源码的精致剖析原原本本地写在了这本书里。这样的着作,当然堪称C语言领域里的铭心绝品。难怪已故着名技术作家Richard Stevens对此书赞不绝口,他说:“这本书中的技术,对于大部分C程序员来说,已经遗忘得太久了。”对于希望能在C语言应用上达到最高层次的核心程序员而言,这本书是难得的必读之作。
其他除了以上四本书以外,我还乐意推荐Andrew Koenig的着作《C陷阱和缺陷》(人民邮电出版社)和Deitel父子合着的C How to Program两本书。

C专家编程
Andrew Koenig是世界上屈指可数的C++专家,他的这本书可能是最薄的一本C语言经典。它简明扼要地讲述了C程序设计中的陷阱和缺陷,包括词法陷阱、语法陷阱、语义陷阱、连接、库函数、预处理器以及可移植性缺陷等,最后一章还给出了关于如何减少程序错误的建议以及前面各章问题的参考答案。尽管这个小册子成书于C89标准制定之前,然而,即使到了C99早已颁布的今天,书中提到的大多数陷阱和缺陷一如十五年前那样使我们警醒。

C程序设计教程
Deitel父子合着的C How to Program一直是非常好的C语言入门教程,我手头的中译本名为《C程序设计教程》(机械工业出版社出版,原书第二版)。除了对技术的正规描述(辅以许多简明扼要的例子)外,每一章后面都带有小结、术语、常见的程序设计错误、良好的程序设计习惯、性能忠告、可移植性忠告、软件工程评述、自我测验练习及答案等。整书内容清晰,组织良好,易于阅读和理解。值得一提的是,有许多入门书读完一遍即可扔掉,而这一本是个例外。
结语以上这几本书很大程度上局限于描述C语言及标准库本身,如果希望学习更专业的、领域相关的C程序设计技术,你可以在选择阅读这几本书的基础上继续查阅专门书籍。此外,在C语言书籍领域,水平不相上下的作品有很多,这几本只是根据我自身的阅读体验

阅读全文

与多处理器编程的艺术习题相关的资料

热点内容
天津ug编程教育机构排名 浏览:291
网站搜索显示固定文件夹内容 浏览:871
单片机ad采集程序 浏览:75
看电视可以用什么app 浏览:943
安卓路由表怎么看 浏览:77
10个小孩分糖果python 浏览:827
安卓app小红点怎么取消 浏览:288
马哥linux面授 浏览:772
2345程序员 浏览:374
怎么开启网速显示安卓 浏览:206
索尼950app怎么样 浏览:400
计算机毕设论文源码 浏览:148
小米手机怎么下载易媒体App 浏览:191
还原系统设计可以怎样清理文件夹 浏览:670
北京时间校准服务器云服务器 浏览:844
pythonexcel数据计算 浏览:49
内医附院党建APP怎么下载 浏览:356
荣耀v20刷加密门禁卡 浏览:329
app缓冲视频怎么保存在手机 浏览:433
广度优先算法c语言 浏览:680