❶ 谈一下你对计算机网络技术专业的认识
计算机网络技术专业就业方向与就业前景分析
1、计算机网络技术专业简介
计算机网络技术专业培养具备扎实的电子技术、计算机技术、网络技术等方面的基本理论知识与技能,具有计算机网络实际组建、管理、维护等基本能力,能在各企事业单位进行网络设计、安装、调试和管理等工作的应用型技术人才。
2、计算机网络技术专业就业方向
本专业面向各企事业单位计算机网络应用技术岗位群,能进行计算机操作维护,计算机局域网的设计、安装、调试;计算机网络通信产品的系统集成;广域网的管理、维护;网络管理信息系统的设计、开发及应用、网站设计与开发等工作。可在软件园、高新技术园区、各大电脑公司、网络公司、网站、高新技术企业、公司、企事业单位和信息部门中从事网络管理、网站维护、网页设计与创意和电子商务等工作。
从事行业:
毕业后主要在计算机软件、新能源、互联网等行业工作,大致如下:
1 计算机软件
2 新能源
3 互联网/电子商务
4 计算机服务(系统、数据服务、维修)
5 通信/电信/网络设备
从事岗位:
毕业后主要从事网络工程师、运维工程师、技术支持工程师等工作,大致如下:
1 网络工程师
2 运维工程师
3 技术支持工程师
4 售前工程师
5 网络技术员
工作城市:
毕业后,上海、南京、北京等城市就业机会比较多,大致如下:
1 北京
2 上海
3 深圳
4 广州
5 杭州
3、计算机网络技术专业就业前景
从目前的情况看,企业的IT技术管理岗位一般设置为企业信息主管、总监等; 工程技术岗位设置为网络工程师、 软件工程师和数据库工程师等;运行维护岗位设置为数据库管理员、 系统管理员、 网络管理员、 设备管理员等; 操作岗位则设置为办公文员、CAD设计员、网页制作员、多媒体制作员等。 与软件技术人员相比,网络技术人员的从业范围更广,知识体系更复杂,职业技能要求更高,目前网络工程师成为实施国内信息化的巨大瓶颈。
就网络工程师的学习方面来说,网络工程师学习过程中注重实践,对于基础相对薄弱的人来说较为容易学习,对自身将来就业也大有帮助. 网络产业作为21世纪的朝阳产业,有很大的市场需求。网络工程师是通过学习和训练,掌握网络技术的理论知识和操作技能的网络技术人员。网络工程师能够从事计算机信息系统的设计、建设、运行和维护工作。规模较小的企业,一个岗位可能涵盖几个岗位的内容
❷ 计算机网络技术专业的介绍
能不能具体介绍下计算机网络技术专业?
计算机网络技术专业:主要培养计算机网络安装、测试、维护、管理和应用技术人员。掌握计算机电路、计算机操作与计算机网络组成的基础知识;具有网络操作系统与应用程序安装、设置的基本技能,具有网络硬件规划、安装施工、调试与维护的能力;掌握计算机多媒体技术的基础知识,具有一定的网页制作能力。
❸ 计算机专业的学生应具备怎样的能力
计算机专业是计算机硬件与软件相结合、面向系统、侧重应用的宽口径专业。通过基础教学与专业训练,培养基础知识扎实、知识面宽、工程实践能力强,具有开拓创新意识,在计算机科学与技术领域从事科学研究、教育、开发和应用的高级人才。本专业开设的主要课程有:电子技术、离散数学、程序设计、数据结构、操作系统、计算机组成原理、微机系统、计算机系统结构、编译原理、计算机网络、数据库系统、软件工程、人工智能、计算机图形学、数字图像处理、计算机通讯原理、多媒体信息处理技术、数字信号处理、计算机控制、网络计算、算法设计与分析、信息安全、应用密码学基础、信息对抗、移动计算、数论与有限域基础、人机界面设计、面向对象程序设计等。
本专业毕业生应获得以下几个方面的知识和能力:
1.掌握电子技术和计算机组成与体系结构的基本原理、分析方法和实验技能,能从事计算机硬件系统开发与设计。
2.掌握程序设计语言、算法与数据结构、操作系统以及软件设计方法和工程的基本理论、基本知识与基本技能,具有较强的程序设计能力,能从事系统软件和大型应用软件的开发与研制。
3.掌握并行处理、分布式系统、网络与通信、多媒体信息处理、计算机安全、图形图象处理以及计算机辅助设计等方面的基本理论、分析方法和工程实践技能,具有计算机应用和开发的能力。
4.掌握计算机科学的基本理论,具有从事计算机科学研究的坚实基础。
计算机应用基础、应用文写作、数学、英语、德育、电工与电子技术、计算机网络技术、C语言、计算机组装与维修、企业网安全高级技术、企业网综合管理、windows server 2008操作系统、局域网组建、Linux服务器操作系统、网络设备与网络技术(主要学习思科、华为公司设备的配置、管理、调试)、SQL Server、网络综合布线技术、CAD绘图等。
就业方向:
市区及周边地区的党政机关、企事业、社会团体从事网站美工、网页设计、企业网络维护、电脑销售及从事相关专业等岗位。
电子商务(职业资格证书:电子商务员、助理电子商务师)
主要课程:
电子商务设备与工具安全操作与维护、电子商务流程、电子商务网站设计与制作、网络营销实务、电子商务数据安全实务、条码编制实务等。
就业方向:
担任电子商务等专业公司项目策划与管理、技术管理;从事电子商务网站管理和维护、安全防范;机关、企事业的相关单位。
❹ 计算机网络技术专业特点
网络技术专业的特点是计算机网络技术他应用的计算机技术加上网络技术至两个技术相结合。
❺ 计算机网络有什么特点最大的特点是什么
资源共享和信息传输;
数据通信、资源共享、分布处理;
信息 [information]∶有目的地标记在通讯系统或计算机的输入上面的信号……(如电话号码的一个数字)
信息技术(InformationTechnology简称IT)特指与计算机、网络和通信相关的技术。信息技术教育不是单纯技术教育,也不是以信息技术研究和开发为目标的教育信息技术教育的内函由信息技术课程和信息技术与其他学科的整合两大部分组成。信息技术教育是素质教育的重要组成部分。要培养学生的创新精神和实践能力,促进人的发展。;
❻ 女生学计算机网络技术专业可以吗
男女各有自己的优势,不用在乎别人的看法。
男生专业课强点,女生应该是创新思维强一点。
市场分析
①毕业生主要从事岗位
在调查中,计算机网络技术专业毕业生就业在硬件维护岗位的约占
18%,网络建设及管理约占31%,技术服务18%,软件编程约占12%,从事网页制作占9%行政管理占9%。有3%做普通技术工人。
②急需人才
目前企业急需的人才主要是(按先后顺序):软件编程,网络建设及管理管理,技术服务,硬件维护和产品开发。调研的这个结果对于我们以后开展教研教学,培养学生专业知识与指导学生就业都有了明确的导向。
折叠编辑本段人才需求
随着我国互联网行业的全面发展以及网络应用在更高层次上的大规模展开,我国的网络人才需求也在全新的层面上逐步呈现了出来。我国网络人才缺口主要在以下几个方面:
1、政府机关上网工程的实施,造就了对网络人才的巨大需求。
2、现代社会处于全球信息化时代,企业上网需求量猛增。企业网络工程的建设、网络设备的配置、网络安全维护等方面都增加了对网络方面的相关人才的需求。
3、现有的媒体网站、商业网站和专业性质的网站对专业人才的渴求迫不及待,网站今后的长远发展需要更加专业的人才来开拓。
❼ 谈谈对计算机网络技术的理解,以及就业方向至少4种(急用)
培养目标:计算机网络技术(网络安全方向)是我校与美国VCampus公司合作建立的CIW(Certified Internet Webmaster)网络安全专业,主要面向我国各类企事业单位、IT行业和其它需要进行信息保护的公司培养专业的网络安全技术人才及高级管理人才,保证企业计算机网络信息系统稳定高效的运行。通过本专业的学习使学生掌握必需的科学文化知识,培养具有良好的职业素养、计算机网络管理的理论和实践知识、计算机信息管理和数据恢复、服务器配置和保护、网站和数据库维护、计算机网络安全的设计与实施,防范和监控等能力的应用型高技能型人才。主要课程:计算机语言C、数据结构、计算机网络基础、交换与路由技术、数据库概论、计算机语言Java、计算机语言Java、Linux网络管理、网络安全基础与防火墙、实用网络程序设计、操作系统安全、安全审核与风险分析、数据加密与PKI技术、数据备份与灾难恢复、下一代互联网技术、网络协议分析等。相关证书:通过参加CIW网络安全认证课程的学习和认证,成绩合格者可以获得相应证书,如CIW 网络安全操作能手、网络安全高级工程师、CIW网络安全专家以及CIW网络安全大师等专业证书。还可以参加职业技术认证培训,获得Linux网络管理员、网络管理专家(MCP70-290/291/293)、RCNA和CCNA网络工程师等证书。专业特色:(1)中立厂商背景:CIW网络安全专业秉承了中立认证的特点,强调技术与应用技能,开放性与通用性;网络安全专业不以厂商技术作为课程主线,保证了技术适用于最广泛的行业与领域; (2)以职业发展为导向的课程思想:CIW网络安全专业课程根据中国IT人才教育的新模式:职业为导向进行设置;强调人才培养的目标是职业发展,与学生的职业生涯紧密联系; (3)强大完善的课程整体解决方案:CIW将向教师及学生提供最强大完善的课程整体解决方案,解决方案包括:标准的教师教学时所使用的教案与PPT,考试提纲及练习、复习资料,标准认证教材,多媒体实验光盘和教学辅助资料;(4)重视实操培养:以网络安全课程着称的CIW认证体系,在课程中融合大量网络安全实验,让学生学习网络安全前沿理论知识的同时掌握实际操作能力,培养应用型人才,弥补了当前中国大陆地区网络安全教育领域中的空缺。职业前景:本专业毕业生可在中小企业、金融、证券、政府部门、学校、医院等单位进行信息安全的设计、管理和维护,或在计算机信息相关公司的工程部、技术服务部、市场部等工作。通过2-5年的锻炼、提高和深造,可以成为信息安全工程师或更高层次的技能型应用人才。可适应岗位:安全集成公司和安全咨询服务公司的网络安全技术工程师,各企事业单位IT部门的信息安全工程师;各企事业单位IT部门的信息安全管理策略工程师和策略推广工程师;各企事业单位的计算机网络维护和管理人员;银行系统及保密机构、财务税控单位等安全系统维护及管理人员。 培养目标:计算机网络技术(系统集成方向)主要培养从事计算机网络建设、管理和应用的技术人才。侧重掌握计算机网络建设工程中规划与设计、系统部署与实施、智能楼宇安防监控与设备调试以及网络运行服务管理等知识和技能。专业培养德、智、体、美全面发展,具有良好的职业素养、创新与创业意识,熟悉国家信息产业的政策和法规,能胜任计算机网络以及楼宇智能化工程设计、建设、测试、验收与维护等相关工作的高级技术应用性人才。主要课程:计算机语言C、数据结构、计算机网络基础、交换与路由技术、实用网络程序设计、局域网技术与组网工程、无线局域网组网技术、网络系统工程集成、网络管理与设备维护、广域网互联技术、智能卡技术与门禁系统、楼宇智能化技术等。主要实践环节,网络构建技术训练、网络管理与维护训练、网络工程集成训练、网络应用系统构建与项目开发以及智能建筑弱电设备安装与调试,在企、事业单位或计算机网络部门的工作实习及岗位实践。相关证书:可以参加网络技术的职业资格认证考试,获得相应证书,如网络测试CCTT认证、RCNA和CCNA网络工程师、网络安全专家等。职业前景:网络系统集成公司的网络工程设计、规划、营销和维护工程师,网络系统设计与施工技术员、网络工程监理员、智能建筑技术员、网络应用软件的开发与维护技术员、网络安全防范技术员、网络管理与维护人员、网络设备销售与技术支持人员。 培养目标:计算机网络技术专业是校级品牌专业,主要面向苏州地区信息产业的制造、服务类企业、以及与信息化有关领域的一线岗位,培养德、智、体、美全面发展,具有良好的职业素养、创新与创业意识,熟悉国家信息产业的政策和法规,掌握一定的网络技术基本理论,具有较强的实践能力,能胜任与网络系统管理及维护、计算机网络工程设计、网络编程等相关工作的高级技术应用性人才。主要课程:计算机语言C、计算机网络基础、交换与路由技术、网络安全、Windows安装与配置、Linux基础、局域网技术与组网工程、无线局域网组网技术、网络系统工程集成、网络测试与故障诊断、SQL Server数据库程序设计(网络工程方向)、Windows网络管理、Linux网络管理、JSP商务网站设计、网络管理与设备维护、基于.NET的Web应用程序设计。相关证书:可以参加网络技术的职业资格认证考试,获得相应证书,如网络管理员、CIW网络安全专家、RCNA和CCNA网络工程师、微软认证专家MCP、Linux网络管理员等。职业前景:可在各类信息化部门、IT企业、通信设备营运商从事计算机网络维护与管理,参与计算机网络建设的分析、设计和实施,计算机技术服务和网络软件开发等工作。
</SPAN> </SPAN></SPAN></SPAN>
❽ 计算机网络技术是怎样的一门技术
计算机网络技术是指培养适应生产、建设、管理、服务第一线需要的德、智、体、美全面发展,掌握计算机网络技术基础知识,培养具有一定计算机网络基本理论和开发技术,具备从事程序设计、Web的软件开发、计算机网络的组建、网络设备配置、网络管理和安全维护能力的网络高技术应用型人才。
主要课程:
数据库原理与SQLSERVER,Oracle数据库管理、面向对象程序设计,网络安全管理与维护技术,HTML与JavaScript,网络后期维护与运营,网络规划、设计方向:Linux系统及网络管理、网络服务器配置与管理、路由器交换机配置与管理、构建企业网络、网络综合布线技术、网络测试与故障诊断、网络入侵的检测与防范;网站设计方向:ASP动态网站建设、JAVA网络程序开发,php服务器端脚本语言,Dreamwearver firework Flash网页设计,div+css网页布局。
❾ 计算机科学与技术专业的特色怎样
计算机学科定期组织教学改革大讨论,结合美国ACM-IEEE计算机分会提出的示范性教学计划,修订本专业教学计划和课程大纲,使计算机专业教学接近国际水平,2002、2005、2010 年三夺ACM国际大学生程序设计竞赛全球总冠军。 随着我国信息化规模不断扩大,计算机人才结构性矛盾日益显得突出,全国计算机应用专业人才的需求每年将增加百万,但国内学历教育目前只能提供5-6万人。为此,上海交通大学在继续办好全日制的计算机科学与工程专业基础上,面向计算机行业从业人员,由上海交通大学继续教育学院开办计算机科学与技术专业网络教育,培养在计算机行业第一线工作的高级技术与管理人才。 本专业旨在培养计算机软件开发、网络应用开发的高级复合型人才,注重培养全面掌握计算机科学与技术基础理论、方法与技能,不仅具有计算机软、硬件系统的开发、设计能力,还具有一定计算机网络系统规划、设计、建设和维护的能力,能够在计算机及相关领域中从事各种应用系统开发、设计的应用型技术与管理人才,使其具有良好的系统设计与工程实践能力、组织能力和协作能力,能够很好地适应现代社会对计算机软件及网络系统开发人才的需求。 【教学特色】 面授和网络相结合的多样化学习途径 所有专业课程均提供业余时间面授课程,同时现场录制所有课程内容,课后上传至学习系统,以供学生反复学习。课堂面授、网络点播均计入考勤,学生可根据自身需求在两种模式之间随意切换。 多种考核手段相结合 按照课程性质的不同,期末考试有大作业、开卷、闭卷等多种考核形式。课程成绩中考勤占百分之十五,平时作业占百分之十五,期末考试成绩占百分之七十。课程考核强调学习过程,而不仅是单次考试成绩。总体成绩按照正态分布调整,保证科学的考试合格率。 注重学生反馈 每学期由学生对任课教师及其授课进行网络评价,得分低于标准的教师将不再被续聘,整个教学过程强调互动、学生满意度以及适合在职人员的需求。 提供高端讲座 充分利用上海交通大学优势教学资源,定期向学生开放免费高端讲座,邀请企业家、专业资深人士或交大知名教授开设各类专业讲座,丰富学生知识面,拓展专业视野。 共享交大资源 学生入学后可办理上海交通大学学生证、图书证、校园消费卡,同时可作为在校大学生报考全国英语四六级考试、专业英语等级考试,可享受由甲骨文公司、微软公司面向交通大学提供的经典培训课程学生优惠价。 【专业课程体系主要包括】 <程序设计 旨在使学生掌握C语言的基本语法、基本语句、基本控制结构以及自顶向下结构化程序设计的基本方法,使学生认识到算法、良好的程序设计风格以及实践在本课程学习中的重要性,培养学生熟练使用C语言编程分析和解决实际问题的能力。该课程为学生进一步学习其他专业课程和今后从事软件开发工作打下坚实的基础。 <计算机网络 在描述计算机网络体系结构及Internet协议集的基础上,着重讨论数据链路层的差错控制、流量控制和介质访问技术,网络层的路由技术和拥塞控制,以及传输层的连接管理和网络编程接口,使学生不仅了解计算机网络的全貌,而且掌握基本的网络原理和网络应用开发技术,为进一步深入学习相关网络课程及开发基于网络的分布式应用打下良好的基础。 <计算机组成与系统结构 以介绍计算机组成和系统结构的基本概念和原理为主要内容,重点介绍新型多核计算机系统的CPU、存储器、总线和I/O系统的硬件组成与工作原理,同时介绍并行计算机系统的发展趋势。通过对内在原理、本质特点的深入浅出的介绍,帮助学生建立新型计算机系统的完整概念,学习计算机系统各组成部件的新技术、新型设计思想和未来发展趋势,了解计算机系统的最新研究成果。 <数据结构 数据结构是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术专业的核心课程,是操作系统、数据库系统等课程的基础,同时,数据结构技术也广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。通过学习,使学生初步具备分析问题、解决问题的能力,养成良好的程序设计风格,提高基本的分析设计能力,为后续课程的学习打下坚实的基础。 <操作系统 操作系统管理和控制着计算机系统中的所有软、硬件资源,可以说操作系统是计算机系统的灵魂。本课程使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。 <数据库原理与应用 系统地介绍数据库的原理知识,并结合具体的数据库管理系统软件来介绍原理的应用过程。通过这门课程的学习,使学生在数据库软件开发的过程中能够选择正确的开发平台,正确地、合理地进行数据库设计,从而提高软件开发的整体质量。 <面向对象程序设计(Java) 在讲授Java语言编程技术的同时,介绍面向对象技术的基础理论,包括抽象、类、对象、合成、关联、聚集、概化、多态性、继承、重载、覆盖等,提出面向对象设计的主要原则和思维方法。 <嵌入式系统及应用 使学生从理论和实践上了解或掌握嵌入式系统的体系架构、工作原理与特点、程序设计与应用开发初步等相关知识点,最终建立起嵌入式系统的整体概念,达到嵌入式系统应用、设计和开发的初步能力。相关了解:
❿ 结合计算机专业特点,谈谈在学习和生活中如何做到以实际出发
一、广泛了解,从科普书籍开始
选择计算机专业的同学,也许是因为原先有一定的基础,也许是因为一时的激情,但更多的人,可能对自己的选择没有深刻的认识,或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科?才华能够在哪个分支领域有所施展?抑或是真的不适合这个专业?诸多疑问,解决的方法首先便是了解和认识我们的学科。浓厚的兴趣是学好任何学科的源泉;而广泛的了解则是获得兴趣的途径。当今我们对于信息的获取已非难事,其中“阅读”是一个简洁而有效的方法。
也许你认为阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。所有理工学科都有这样的性质,计算机专业也不例外。
我们知道,计算机理论是建立在数学基础之上的。大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难” 外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数学课程大都偏重实用性。比如我们的离散数学课程中涉及到的逻辑代数奠定了计算机一切运算的基础,形式语言构成了计算机程序编译的模型,代数系统则是当前各类数据库系统的理论依据等等。因此,如果能够提前地了解到并简单地学习一下这些数学知识的具体应用,对理解理论是很有益处的。此外,电子学、信号与系统、控制理论等也是计算机专业学生必修的公共课,然而不少同学往往认为它们与计算机专业的关系不大,从而放松了学习。事实上这些学科是计算机硬件与网络通信的基础,学好这方面知识的前提是认识它们的现实应用及其与计算机的密切联系。
也许你将来学习图论的时候,对“欧拉路”的概念会很清晰,这是因为你在小时候的图画书上玩过“一笔画”的游戏;然而“二分图”、“生成树”这些概念又是怎么回事呢?你的理解可能就不是那么深刻了——因为你一时难以找到一些生活中的实例,并从中抽取出特性。在这种情况下,翻阅一些涉及这些知识的科普书籍就十分有必要了。我曾读过一套《数学游戏》(《科学美国人》杂志汇编,中文版:科学技术文献出版社),它将图论、逻辑代数、自动机理论等领域的抽象的概念具体化为一个个有趣的故事,引导读者了解这些知识的现实应用,启发读者将抽象思维与感性生活有机结合。我还读过一本《编码的奥秘》(《CODE》中文版,机械工业出版社),它则将逻辑代数、数字电路、汇编语言等知识以实物和简单电路的形式进行类比,揭示其中的原理,并引导读者动手实践。事实上这类与计算机专业相关的科普书籍还有很多,在学习课本的间隙阅读一下,绝对能起到催化剂的作用。
谈到科普书籍,相关的另一个问题便是计算机科学与计算机技术之间的关系。也许不少同学选择计算机专业,是源于对计算机令人眼花缭乱的应用的认识。所谓计算机技术,一般是指包括文字处理、信息管理、多媒体、网站建设等在内的计算机应用技术;而所谓计算机科学,一般指数据结构、组成原理、操作系统、编译原理等计算机内部实现机制。前者是计算机在各行各业提高生产力的体现,属于各类职业教育和专科教育的范畴;而后者是研究是计算机本身的理论,是本科计算机教学的重点。市面上大多数计算机书籍与杂志是计算机应用技术方面的,属“技术普及型”,从受众角度来看与科普书籍有着类似的性质。适当地涉猎一些自己感兴趣的应用技术,对培养学习兴趣、增强实践能力、了解业界行情是很有好处的。不过如果确实想在计算机行业长期做下去,仍然应当将主要精力放在对计算机科学的学习方面。毕竟用科学的理论指导实践是大学教育的意义所在。
总之,广泛了解计算机学科基础科普知识,在今后学习具体理论的时候才会少一些盲目,多一些顿悟。
二、把握全局,学习计算机导论
当你对计算机学科涉及的领域有所了解后,就应该着手展开专业学习了。初读本专业的教学计划与课程设置,你或许会被诸如离散数学、编译原理、接口技术等生疏的课程名称弄得一头雾水。这些课程都是研究什么的?它们各自与我们面前的计算机有哪方面的联系?要回答这类问题,首先需要把握全局,从整体上认识计算机科学。
国内高等院校一般都为大一学生开设计算机基础课程。这类课程的受众面广,主要涉及计算机基础应用知识。各种版本的计算机基础教程几乎都以计算机科学导论作为开篇。对于把计算机作为应用工具的其他专业的学生而言,导论只算是“内容概要”,他们往往更注重后面的应用型知识;而对于把计算机作为研究对象的我们,则决不能忽略这类指导性的内容。专门地、有意识地学好计算机科学导论,能够使你对计算机科学有一个大局观,清楚地认识到每一个分支学科的研究领域与重要意义,从而在今后的具体学习中明确方向,加深理解。
依我个人的学习经验,建议初学者阅读一些国外优秀计算机基础与导论教材。与国内大多数讲解软硬件具体使用的同类教材相比,国外教材更偏重以应用为切入点,深入浅出地阐述计算机科学原理。诸如《计算机文化(第8版)》(《New Perspectives on Computer Concepts》中文版,机械工业出版社)、《计算机科学导论》(《Foundations of Computer Science: From Data Manipulation to Theory of Computation》中文版,机械工业出版社):前者适合于各种信息类专业的学生或计算机爱好者阅读。该书图文并茂,语言生动,从应用角度出发,广泛涉及计算机软件、硬件、网络的基本原理,同时概述了计算机学科的历史背景与行业现状。随书的光盘中给出了不少影音材料,在学习的同时还可以提高计算机专业英语听说能力。后者在风格上与前者类似,但内容更适合计算机专业学生阅读,被美国不少高校定为计算机专业学生的入门课。它以实例作为出发点,系统地讲解了计算机组成、计算机网络、操作系统、数据结构、算法设计等分支学科的研究领域、基本原理和应用方向,而几乎不涉及晦涩的数学模型与实现细节。阅读此类书籍,可以在潜移默化中理清初学者对于计算机科学学习的思路。
计算机科学是一个有机联系的整体,每个分支都或多或少地与其它分支存在依赖关系。如果死板地依照教学计划线性地进行学习,往往会遇到知识理解上的问题。例如算法分析课程与程序设计课程分属理论与实践;组成原理课程与体系结构课程是对计算机系统不同层面的剖析。我们不能简单地找出它们的先修、后修关系,这样难以建立完整的知识体系。因此在把握大局之后,我们仍有必要简单了解一下每个分支学科的基础知识。在这方面,推荐大家阅读《编程卓越之道(第一卷):深入理解计算机》(《WRITE GREAT CODE: Volume 1:Understanding the Machine》中文版,电子工业出版社)这本书。分开来看每一章节,其内容编排结构与国内高校计算机课程体制相近,涵盖了逻辑代数、数字电路、机器指令、体系结构、存储器管理等方面的基础知识和实现方法,特别是阐明了各个分支学科之间的本质联系。有了这些基础之后,在遇到更高阶的问题时,你至少会明白这个问题应该在哪个分支学科中寻找答案了。
当你有了一定的计算机理论基础,尤其是程序设计基础后,想更加深入地把握计算机科学的脉络,不妨看看这本书:《深入理解计算机系统(修订版)》 (《Computer Systems A Programmer's Perspective》中文版,中国电力出版社)。它与《编程卓越之道》系列的共同特点是从程序员的视角观察计算机系统。而这本书作为国外数十所高校的计算机系统导论教材,其组织更加严密,风格更加严谨。它以“程序在计算机中如何执行”为主线,全面阐述计算机系统内部实现的诸多细节。当你在学习数据结构、组成原理和体系结构等课程和时候,翻阅一下此书的相应章节,同时编程实现其中的例子,一定会对课本上单纯的文字型理论有更加感性的认识——原来它们是这样活生生地存在于我的计算机里的!
正所谓“会当凌绝顶,一览众山小”,从计算机科学全局的高度整体把握其分支学科,在头脑中率先构建计算机科学的整体框架并为其夯实最基层的结构,就能够为你在未来每一步的学习中扫清迷雾,指明方向。
三、运筹帷幄,掌握编程的思想
程序设计与开发是计算机学习的一个关键环节,编程能力是衡量一名计算机专业人员素质的重要考核点。这是因为程序是连接理论与实践的纽带,是计算机科学与计算机技术相交融的领域。作为一名计算机专业学生,我们一方面有别于其它专业将计算机作为工具的应用型人才,不能仅仅利用计算机,而要为他人利用计算机提供平台;另一方面我们暂时达不到计算机科学家的水平,不能做出理论研究成果,但能为理论学习铺垫实践基础。因此,只有具备足够的程序设计与开发能力,才能真正体现我们的智慧,同时充分发挥计算机的潜力。
学习编程,首先应掌握至少一门程序设计语言。C语言作为一种语法清晰、功能强大、应用广泛的高级语言,长期以来被国内大多数高校的定为程序设计必修课。全面理解和掌握C语言的脉络的重要意义这里毋庸多言。市面上C语言的教程多如牛毛,但最经典的当数C语言的设计者Kernighan与 Ritchie 合着的权威白皮书——《C程序设计语言(第2版)》(《The C Programming Language》中文版,机械工业出版社)。书虽不厚,但绝对全面而准确。其语言简洁,例证通俗,实用性强。相比之下国内的一些C语言教材在学习曲线可能比前者平滑,但它们往往以考试为导向,过多地纠缠语法死角,同时大都未遵从ANSI标准。对于计算机专业学生来说,前者能够让我们看到更加严谨与实务的态度。当你的语言功底达到一定程度后,就需要从一个更高的视角来探察语言的本质,不妨看看这本:《计算机程序的构造和解释(第2版)》 (《Structure and Interpretation of Computer Programs》中文版,机械工业出版社)。它阐述了编程语言本身的机制与实现,同时引入了一门对于大多数中国学生来说不甚了解的语言——LISP。 LISP是很多美国高校计算机专业的入门语言,也是一种结构上与C、Pascal、Java、Basic等完全不同的非冯·诺依曼语言。研读SICP,体味LISP,给你耳目一新的感觉之后更多地可以加深对编程思想本质的理解。
大学的各类程序设计与开发课程旨在培养我们两方面的能力——算法设计能力与应用开发能力。前者偏重计算机科学,后者偏重计算机技术。算法是用计算机思维解决现实问题的理论,具有较强的数学性。算法学的旷世巨着应数Knuth的《计算机程序设计艺术》(《The Art of Computer Programming》中文版,清华、机工、国防等出版社皆有授权),不过要彻底读懂这个大部头需要相当的数学理论基础与编程实践经验积累。对于初学者,建议首先培养使用常规算法解决小规模问题的能力,并行地提高驾驭语言的水平与抽象问题的思维。针对这个目的,结合程序设计实践一类的课程,可以读读这几本书:《编程珠玑(第2版)》(《Programming Pearls》中文版,中国电力出版社)、《程序设计实践》(《The Practice of Programming》中文版,机械工业出版社)、《代码阅读方法与实践》(《Code Reading: The Open Source Perspective》中文版,清华大学出版社)、《C专家编程》(《Expert C Programming》中文版,人民邮电出版社)。它们的侧重点各有不同,但对于通过实践来学习算法与数据结构都是很有益处的。
应用开发方面,实践是第一要务,然而高效的实践是建立在科学的程序设计方法之上的。以C语言为代表的结构化程序设计方法是规范的程序逻辑的基础,目前主要使用在系统级开发中,前面所提到的诸多书籍都或多或少有所涉及。而以Java、C++为代表的面向对象程序设计方法广泛应用于实用项目开发, 这方面的经典之作中,推荐阅读Bruce Eckel的《Java编程思想(第3版)》(《Thinking in Java》中文版,机械工业出版社)与《C++编程思想(第2版)》(《Thinking in C++》中文版,机械工业出版社)。此外软件架构设计、编码规范与风格、代码除错与质量管理以及软件工程的各类原则在实际项目开发中都是及其重要的,在具备了一定的编程经验、准备投入一些实际项目开发的时候务必要了解。建议阅读《代码大全(第2版)》(《Code Complete》中文版,电子工业出版社)这本大而全的软件构建综合性宝典,它在从总体上指导软件开发的各个环节的同时也引入了一些细节问题(诸如 goto的使用)的讨论,引导我们对一些司空见惯的程序设计理念不但要知其然,而且要知所以然。
有一位热衷于游戏的同学告诉我,游戏给予他满足控制欲的空间。但是请放眼看看,游戏的控制范围不外乎一个特定进程中他人预先设定好的一系列数据,并以有限的图像与声音形式体现出来。然而如果你掌握了编程这一强大的武器,就能够面对眼前的计算机游刃有余,在硬件条件允许的情况下尽你所能将控制欲升华为创造力,方便自己的同时造福他人。运筹帷幄,掌握编程的思想,无论走向科学研究或是应用开发,这都将为你奠定坚实的基础!
四、理性思辨,体味计算机哲学
Bill Gates对计算机事业充满激情——“每天早晨醒来,一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化,我就会无比兴奋和激动。”自由软件运动的精神领袖Richard Stallman几十年如一日,将打破知识垄断、共享人类智慧作为己任,带领着数以万计的软件志愿者推动着开源世界的发展。但并非每个计算机业者都能有Gates那样豪迈的气度和Stallman那种坚定的信仰,计算机及其相关技术对于大多数业者来说仅仅是兴趣爱好或者谋生的工具。计算机行业半个多世纪以来形成了其独有的文化氛围,作为一名计算机专业学生,了解专业文化,体味专业哲学,对于学习和从业都是具有指导意义的。
首先必须承认,计算机世界中存在着形形色色的意识理念差异。诸如微软帝国与开源世界的明争暗斗,不仅仅是一场商战,更多的是两种哲学的搏击。当代大学生多数是在微软Windows光环照耀下认识计算机的。在这种环境下,多接触一些开源世界的事物,对于理解计算机的本质不无裨益。《共创未来:打造自由软件神话》(《Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans》中文版,上海科技教育出版社)是一本讲述开源世界发展史的书,你可以从中了解自由软件运动及其领袖人物的传奇故事,从而对GNU、 Linux、OpenSource这些概念蕴生人性化的理解。清华大学王垠的《完全用GNU/Linux工作,摈弃Windows——你我共勉》、兰州大学黄平的《自由,你忘记了吗?》等长篇文章则是国人对开源运动的慷慨陈辞。尽管这些文章常常被指为“偏激”,但没有调查就没有发言权,无论支持还是反对, 客观的认识是第一位的。
其次,我们应该用平和的心态对待知识与技术,衡准专业学习在生活中的位置。一些同学出于种种原因,成为了“先进技术”的追随者:通晓各类流行的编程语言,一有新版本的工具推出立即安装学习,一有新的技术论战立即关注其走向。还有一些同学成为了某些技术的忠实信徒:看准了Java就对.NET的东西置之不理。这些追随者和信徒们往往为突飞猛进的技术所累,以至于有感于学习的空虚。过分追捧技术可谓舍本逐末,死扣某一知识也显得目光短浅。一方面百变的技术离不开计算机科学的本源,在实践过程中深入理解基础知识是关键;另一方面任何技术都有统领其实现细节的思想精髓,观其形不如知其神。我们不妨甩开冗繁的技术,换个角度静下心来读几部计算机文化与哲学作品:
程序人生方面:《编程之道》(《The Tao of Programming》双语版,电子工业出版社)一书出自一位对东方道家与禅宗思想有着独特理解的美国软件工程师之手,全书由一则则短小而富有哲理故事组成,以类似寓言的形式生动地反映了程序员群体的生活以及计算机文明的演进。闲暇时随手翻阅,即使不能立刻体会到每个故事的真谛,但随着自身阅历的增长,相信你会领悟程序人生的“道法自然”。
设计理念方面:开源软件界的“斗士”级元老Eric Raymond所着的《Unix编程艺术》(《The Art of Unix Programming》中文版,电子工业出版社)一书,以Unix系统的设计原则为主线,展示了Unix所开启的“KISS”(Keep It Simple, Stupid!)编程文化与思维方式。对于很多干啃千篇一律的课本、禁锢于Windows开发的计算机专业学生来说,这本书一定能够使你眼界大开——“结构化”并非真理,“面向对象”也不是王道;而对于有一定Unix/Linux使用或开发经验的同学,这本书也一定会使你豁然明朗——原来一个程序的设计竟可以如此精巧!
管理哲学方面:对于有志于软件工程,想涉足项目管理的同学,《人月神话》(《The Mythical Man-Month》中文版,清华大学出版社)这本书就有必要读一读了。它拿真实案例说事,仿佛一部实例化的软件工程课本。如果你在团队开发的道路上陷入了困境,不如参考一下前辈们是如何处理“人”与“月”二者之矛盾的吧。事实上不仅是软件工程,任何事业的成功,往往技术不是关键,社会科学的因素才是埋 头技术的朋友们更应当关注的。
归根结底,计算机的哲学依旧是人的哲学。抛开理念之争议,超越技术的形式,以人为本地认识我们的行业与自身的地位,或许会使将来的发展道路走得更舒心一些。
