计算机操作系统原理-我们的开发总是在特定的操作系统上进行,假如不是,只有一种可能:你在自己实现一个操作系统。无论如何,操作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也更多,我没有发现哪一本书非常出众。只是觉得在看完了这些书后假如有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。关于学习它的必要性,ZDNET上的另一篇文章已经有过论述。
Windows 程序设计-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教学材料进行授课。可见其重要。
我是计算机系的学生,现在大二,我给你说一下我们的课程吧
大一的上学期时候计算机方面主要是学习编程语言,我们学的c++,下学期学的也是c++,也就是说掌握一门变成语言很重要
大二上学期学的是汇编语言,是比较原始的语言了,但是可以让你更加了解计算机工作机理,为以后的学习打下基础;大二下学期学的是数据结构和计算机组成原理,两门课都很重要,计算机考研就考四门计算机课程,其中这两门占一半的分值
我们大三还要学习操作系统,也是考研专业课的四门之一。
大四的时候就是其他的一些课程了
总之vc 数据结构 计算机组成原理 操作系统都很重要,一定要学好。要是只是为了学习操作计算机可以看一下技术书,理论书可以不看,另外最好是看一些专科书籍,本科书籍无所谓,我们南开老师就是这么门槛的。
希望帮的到你
1. 计算机数学基础
本课程4学分,课内学时72,开设一学期。
课程的主要内容:线性代数、概率基础、数理统计基础等。
2. 计算机电路基础 (1)
本课程4学分,课内学时72,其中实验18学时,开设一学期。
本课程是计算机应用专业的专业基础课。主要内容包括:电路基本概念(电路与电路模 型、电路基本物理量、电路基本元件、基尔霍夫定律、简单的电阻电路),半导体基本器件 ;开关理论基础,门电路,组合逻辑电路与时序逻辑电路,可编程逻辑器件(随机读写存贮 器、只读存贮器、可编程逻辑阵列、通用逻辑阵列、现场可编程门阵列、在系统(ISP)编 程技术),数字系统的组成。
本课程后续课程:计算机电路基础(2)等。
3. 计算机电路基础(2)
本课程4学分,课内学时72,其中实验14学时,开设一学期。
本课程是计算机应用专业计算机控制方向的一门必修课。主要内容包括:模拟电路基本 概念,运算放大器的原理及应用,功率放大及稳压电路;测验技术概述,机电系统运动参 数 (位移、速度、加速度、力、力矩、应变及应力等)的测验,过程系统参数(压力、温 度、 流量等),测验数据处理。
本课程先修课程:计算机电路基础(1)等。
本课程后续课程:微机接口技术、计算机控制技术等。
4. C++语言程序设计
本课程5学分,90学时,开设一学期。
C++语言程序设计是计算机应用专业的专业基础课。该课程的主要内容:算术、逻辑、 比较、位、要求、逗号、赋值、输入、输出等运算符和表达式,分支和循环控制结构,模块 化程序设计(函数定义、函数调用、函数重载、库函数、变量作用域和存贮类),数据类 型 (整型、实型、字符型、枚举、数组、结构、指针、类等),动态存储空间的分配与释 放, C++操作环境、编译预处理、文件链接和工程文件的使用,类与对象的概念,操作符重 载与 函数模板,C++标准输入输出流、文件流和串流,等等。
本课程先修课程:计算机入门及操作技术训练(在集中实际操作环节中)、计算机组成原理 与汇编语言等。
5. 计算机组成原理与汇编语言
本课程5学分,课内学时90,开设一学期。
本课程是计算机应用专业的专业基础课。主要内容包括:计算机系统概述,计算机中数 据的表示,运算方法和运算器,指令系统,控制器,存贮器组织,输入输出系统;汇编语 言 ,汇编语言基本程序设计,程序设计举例(输入输出程序设计、中断程序设计、系统调 用及 程序设计)。
本课程先修课程:计算机电路基础(1)等。
本课程后续课程:操作系统,计算机网络等。
6. 数据结构
本课程5学分,90学时,其中实验占27学时,大作业占18学时,开设一学期。
数据结构是计算机应用专业的专业基础课。该课程的主要内容:线性表、栈、队列的定 义、顺序存贮和链接存贮结构,进行插入和删除等运算的算法;树、二叉树、二叉排序树 、 哈夫曼树的定义、性质、存贮结构及建立过程,二叉树的先序、中序和后序遍历算法, 二叉 排序树的查找、插入和生成算法,图的定义,图的邻接矩阵、邻接表和边集数组存贮 结构, 图的深度优先和广度优先遍历算法,求图的最小生成树和最短路径算法,拓扑排序 算法,数 据查找和排序的各种算法,文件的概念和组织方法等。
本课程先修课程:计算机组成原理与汇编语言、C++语言程序设计等。
7. 微机接口技术
本课程5学分,课内学时90,其中实验27学时,大作业18学时,开设一学期。
本课程是计算机应用专业计算机控制方向的一门必修课。主要内容包括:微机接口技术 概述,模拟量输出输入通道(A/D、D/A变换及其接口电路),数字量输出输入通道,常用 可编程并、串行接口电路,工业控制计算机总线技术,人机界面接口技术。
本课程先修课程:计算机组成原理与汇编语言、计算机电路基础(2)等。
本课程后续课程:计算机控制技术、单片机技术等。
8. 数据库基础与应用
本课程6学分,108学时,开设一学期。
数据库基础与应用是计算机应用专业信息管理方向的一门必修课,其它方向的选修课。 该课程的主要内容:数据库系统的概念、组成和主要功能,数据库保护和数据模型,关系 模 型和各种关系运算,利用SQL进行数据库的定义、查询、更新、插入和删除数据,关系规 范 化和函数依赖,第一、二、三范式和BCNF范式,数据库的概念结构设计、逻辑结构设计 和物 理结构设计,FoxPro数据库的建立、显示、修改、查询、统计、复制、索引、排序、 更新、 关联等,Foxpro应用程序设计和用户界面设计。
先修课程:计算机入门及操作技术训练(在集中实际操作环节中)、离散数学等。
9. 操作系统
本课程5学分,课内学时90,开设一学期。
操作系统是计算机应用专业的专业基础课。操作系统对计算机系统资源实施管理,是所 有其他软件与计算机硬件的唯一接口。学生通过本课程的学习,理解操作系统的基本概念 和主要功能,掌握常用操作系统的使用和一般管理方法,了解它是如何组织和运作的,从 而为今后的学习和工作打下基础。
课程主要内容:操作系统引论;进程管理;处理机管理;存储器管理;文件系统;设备 管理;中断和信号机构;死锁;微内核体系结构;网络操作系统;操作系统展望与中文操 作系统。
本课程先修课程:计算机组成原理与汇编语言、C++语言程序设计、离散数学基础等。
本课程后续课程:网络操作系统等。
10. 计算机控制技术
本课程4学分,课内学时72,其中实验15学时,开设一学期。
本课程是计算机应用专业计算机控制方向的一门必修课。主要内容包括:自动控制的基 本概念,计算机控制系统基本组成及工作原理,计算机控制系统的基本特性,计算机控制 系统的控制算法,控制用计算机系统的配制,实时控制软件技术,计算机控制系统的抗干 扰技术,可编程序控制器的原理及应用,分散型控制系统及其应用,计算机控制系统设计 与调试举例。
本课程先修课程:计算机组成原理与汇编语言、C++语言程序设计等。
本课程后续课程:单片机技术等。
11. 单片机技术
本课程4学分,课内学时72,开设一学期。
本课程是计算机应用专业计算机控制方向的一门必修课。主要内容包括:单片机概述, 单片机芯片结构,单片机指令系统,单片机程序设计,单片机系统扩展,单片机开发系统 及应用,单片机在控制系统中的应用(数据采集系统,智能数字电压表,机械手控制系统 等) 。
本课程先修课程:计算机组成原理与汇编语言等。
12. 计算机网络
本课程5学分,课内学时90,开设一学期。
本课程是计算机应用专业的专业基础课。主要内容包括:计算机网络概述(计算机网络 基本概念、计算机网络硬件、计算机网络软件、互连网络标准体系、开放式系统互连参考 模型、计算机网络的新进展及发展趋势);计算机网络的层次模型,计算机网络中的通信 子网 (概述、数字通信基础知识、局域计算机网络、城域计算机网络、广域计算机网络、 网际互 连技术);计算机网络中的高层服务(概述、局域网络服务/广域网络服务、电子邮 政服务 、WWW多媒体信息发布服务、文件传输与终端仿真服务、其他网络高层应用);计算 机网络应用开发与相关技术,使用计算机网络的道德和法律法规。
本课程先修课程:计算机组成原理与汇编语言等。
本课程后续课程:组网与网络管理技术、Internet与Intranet应用、网络操作系统、计 算机组成原理与汇编语言、网络信息制作与发布等。
13. 多媒体技术基础
本课程4学分,课内学时72,其中实验24学时,开设一学期。
多媒体技术基础课程是计算机应用专业计算机应用软件开发方向的一门必修课。通过本 课程的学习,使学生了解多媒体技术的发展,掌握多媒体软硬件的配置及使用,为今后更 好地应用多媒体技术打下基础。
课程主要内容:多媒体计算机技术概论;视频与音频信息获取与存储技术;多媒体计算 机硬件结构;压缩技术;超文本和超媒体;多媒体素材的采集和处理;动画制作工具和创 作技术;编辑多媒体软件。
本课程先修课程:Windows使用、计算机组成原理。
14. 软件工程
本课程4学分,课内学时72,开设一学期。
软件工程课程是计算机应用专业计算机应用软件开发方向和计算机信息管理方向的必修 课。本课程阐述了软件开发、维护和管理等方面的软件工程学的概念、原理以及典型的技术 方法。通过本课程的学习,使学生树立软件工程的科学思想,能自觉按照软件工程的方法学 进行软件的开发和维护工作,并掌握与此相应的方便的工具,形成良好的软件开发习惯。
课程主要内容:软件工程概述;可行性研究;需求分析;总体设计;详细设计;编码; 测验;维护;原型法。
本课程先修课程:一门高级程序设计语言,操作系统,数据结构等。
15. Visual Basic程序设计
本课程5学分,课内学时90,其中实验32学时,开设一学期。
Visual Basic程序设计课程是计算机应用专业计算机应用软件开发方向的一门必修课。 通过本课程的学习,使学生熟悉VB这一集应用程序开发、设计、编辑、编译和调试为一体 的集成化开发环境,掌握VB的基本语言和语法,培养学生使用VB进行程序设计的技术。
课程主要内容:VB集成化开发环境;VB 窗体;VB控件;VB模块;VB类;VB输出;VB创 建并使用菜单和工具;VB使用数组、变量和常量;VB存储和获取数据;VB创建和使用帮助文 件;VB使用对话框;VB使用鼠标;VB使用Dll和API;VB使用ActiveX;VB面向对象的编程方 法。
本课程先修课程:程序设计基础、Windows操作系统、多媒体技术基础。
16. 软件工具与环境
本课程3学分,课内学时54,其中实验34学时,开设一学期。
软件工具与环境课程是计算机应用专业计算机应用软件开发方向的一门必修课。在软件 开发活动中,采用合适的软件开发工具、平台和环境,可以大大提高软件生产率,也是保 证软件产品的质量的一个重要手段。应用软件开发人员掌握有关概念,熟悉常用软件开发 工具、平台和环境是十分必要的。
课程主要内容:软件开发环境概论;人机界面;程序设计环境;系统集成环境;维护环 境;速成原型环境;程序自动生成环境。
本课程先修课程:软件工程等。
17. 信息管理系统
本课程4学分,72学时,大作业占18学时,开设一学期。
信息管理系统是计算机应用专业信息管理方向的一门必修课,它综合利用了先前学过的 知识,解决信息管理系统的实际问题。主要内容有:信息管理系统的概念与结构,信息管理 系统的开发过程,信息管理系统的管理与维护,信息管理系统的开发环境与工具,信息管理 系统的开发实例等。
本课程先修课程:计算机组成原理与汇编语言、计算机网络、数据结构、数据库基础与 应用、管理学基础等。
18. 组网与网络管理技术
本课程4学分,课内学时72,开设一学期。
本课程是计算机应用专业计算机网络方向的一门必修课。主要内容包括:组网用的物理 信道,组网实际操作,计算机网络互连(交换网络的概念、局域网络互连、局域网与广域网的 互连),计算机网络管理(网络管理的基本概念、简单网络管理协议SNMP、全面网络管理 ,计算机网络的测验与维护)。
本课程先修课程:计算机网络等。
19. 网络操作系统
本课程4学分,课内学时72,开设一学期。
本课程是计算机应用专业计算机网络方向的一门必修课。主要内容包括:网络操作系统 概论(网络操作系统概念、功能描述),网络操作系统比较(UNIX、Windows NT和Netware 网络操作系统性能价钱比较),网络操作系统的发展预测,UNIX操作系统及使用,Windows NT操作系统及使用,Netware网络操作及使用。
本课程先修课程:计算机网络、操作系统等。
20. Internet与Intranet应用
本课程4学分,课内学时72,开设一学期。
本课程是计算机应用专业计算机网络方向的一门必修课。主要内容包括: Internet和 Intranet应用及互连网络应用概貌,域名服务(DNS),电子邮政服务(E-mail),文件 传输服务(FTP),远程登录服务(Telnet),Web服务,代理(Proxy)服务,其他互连网 络服务,新的应用,ISP的实施例子。
本课程先修课程:计算机网络等。
21. 网络信息制作与发布
本课程5学分,课内学时90,开设一学期。
本课程是计算机应用专业计算机网络方向的一门必修课。主要内容包括:网络信息的收 集与组织,网络信息制作工具介绍( Word、Front Page),网络信息的制作(预备知识: 色彩、构图与网页设计;利用Word制作简单网页,利用Front Page制作网页;视觉与创意 ),网络信息的发布,网络信息的维护。
先修课程:计算机网络等。
22. 英语Ⅰ(1) (2)
本课程6学分,课内学时108,开设一学年。
本课程为公共英语课程。通过课程的学习,学生应能掌握1600左右的常用词汇(包括入 学时门槛掌握的600词)和若干相关的常用词组及基础语法知识;能够听懂发音清楚、语速较 慢的教学用语和日常生活用语,并能用英语进行简单的日常交谈;能够读懂所学词汇和语法 范围内的故事、短文及通知、便条等;能够写出简短的私人信函,或用便条转达具体信息。
统设服务课程:
1. 计算机入门及操作技术训练
本实际操作环节4学分,实验36学时(2学分),开设一学期。
主要内容:计算机系统组成与基本工作原理,计算机的基本操作与维护(键盘和鼠标使用, 中英文输入,外设与主机的连接、配置与使用,计算机常规维护),操作系统使用(Window s95以上),字处理软件使用(Word 97以上),计算机网络基本知识,Internet实用(浏览 器IE5.0、电子邮件Email使用)。
2. OFFICE办公软件
本实际操作环节4学分,实验45学时(2.5学分),开设一学期。
主要内容:字处理软件Word (97以上)深入使用,电子表格处理软件Excel (97以上)使 用,电子演示软件Power Point (97以上)使用,OFFICE办公软件综合使用训练。
计算机专业是一个大的门类,主要看你想学哪个专业方向。假如想学广告设计方面,可以从平面设计photoshop开始学;假如想学网络技术方面,可以选择一些网页编辑、动画方面的书缉;假如想学程序设计方面可以选JAVA等方面书……
学习计算机读哪些书有什么用
1,高等数学:为了及格,同时帮助概率及格
2,概率:为了证明高等数学可以帮助及格
3,线性代数:假如你学习计算机图形学,就是opengl/direct3d的话,里面的3d模型的空间坐标用矩阵来表示的,假如你需要把它们进行投影,叠加,移动,就需要矩阵乘法/变换/转置等等,所以还是很有用的
4,离散数学:主要是给你打下计算机数据模型的理论基础。里面包含集合,数,图,等等,更重要的是假如你以后要搞研究,研究0错误程序,就是完全没有bug的程序,就需要用它上面的推导理论来对程序经行证明。假如你要通过系统分析员,这个也是要考试的
5,数字电路/计算机组成/计算机技术:假如你是一个很深入的程序员,你会问:为什么浏览器可以显示那么多东西->有html语言->html语言是怎么开发的->高级语言->高级语言怎么完成的->汇编->汇编怎么来的->固化/机器语言->机器语言如何能操纵计算机->在节拍电路的干预下,内部芯片的结构把0/1字符串译码,操作累加器,总线,内存做不同的操作那好,这个过程差一个东西都不可以,假如你只学习里面的高级语言部分,那岂不是神龙见首不见尾,感觉很不爽???所以你要能自己做一个计算机出来才好!!!
数字电路是学习门电路组成的,就是如何把流动的电信号保持下来,同时让他们有规律地变化
计算机组成是让你用门电路来设计内存/cup/时钟等等
计算机技术是让你综合学到的东西,做一个简单的计算机出来。
有了哪些知识,当然还要包括编译原理,软件工程,操作系统,数据库,网络,你学习其他的语言,什么vc/vb/deliphi等等,每种语言不超过3个月你就是高手。你要学windows程序,要用api,只需要15天就可以作出像模像样的东西。当然,我这里是指语言本身而言。有了这些基础和语言掌握的熟练,你想学数据库编程,好,复习一下数据库的课程,查阅一下sql的语法,1天就有眉目了。你要学网络编程,选择一种库,看看文档,明白函数的用法,也就是一两天的问题。等你做出点东西,有了信心,你也就有了经验。这个时候去明白j2ee/.net 等等的frame work,就很容易了。参看以下design pattern,你也就胸有成竹,做个小组长也可以。再过几年,有了机会,说不定就当了manager,等了到了三十多岁,你不想干软件了,你有计算机组成的基础,找几个高手带你一下,你可以去做单片机的汇编语言编程,可以去做embeded system
所以,学好了基础,也就是厚积薄发,后面你想怎么发展都可以!
学了数字电路才知道,原来很神秘的电脑是由一些触发器,逻辑门组成的,把它们集成再集成,就成了电脑了,译码器,全加器,计数器......
CMOS不过就是一种存储器,BIOS不过就是面向硬件的一种已编好的子程序,(和C的库函数差不多,我认为)学好了汇编,我可以自己编(还让我花了30人民币,买了一本CMOS设置书,认为它很高深莫测)
不学好C,怎么学好WINDOWS程序设计,怎么能做一个优秀的程序设计人员
不学好前人花几十年时间总结出来的数据结构,你的进步能有多快,那是让你踩在巨人的肩膀上。(你要是天才,我就没话说了,不过要是学了,你会更天才)
这是我自己经历的一点学习基础课的过程,它给我解疑释惑,当然这些问题在行家眼里可能不值一哂,但它是每一个新手必经的过程。
更为关键的是,基础课给了我们最核心的知识,让我们能在离开学校后有继续学习的能力。它给了我们一个知识结构,让我们能在他的基础上扩充,把新的东西加入自己的知识框架中,这是基础课重要的意义所在。更多人提到基础学好之后,学习新东西很快,就是这个道理。
不可否认的是,基础课很枯燥,很费劲。但这要看你怎么去看它,你想一想,学好了他,就能抓到计算机的本质,能让他对你俯首帖耳,这难道还不够激动人心吗?老在别人的基础之上作设计,却不懂所以然,不闷吗?
既然讨论的题目是给在校大学生一点建议,那我也说一点儿。
先说技术层面的,在学好专业课的基础上看一些学校里不讲的新知识,新技术,能促进你的融会贯通,但不可本末倒置。
再说最关键的,最想说的,请在校的学生们珍惜你的时光,不要都去打了游戏,谈了恋爱,时光宝贵,机会难得。
我经常对自己说,假如再让我上一次学,我会......
可是不会了,我只好对自己说,假如我现在再不学,就会......
于是我努力去学,边工作,边学习,舍不得丢掉一节课,在校的学生们可能无法体会听老师讲课的幸福,自学时怎么也搞不清的东西,老师一句话就茅塞顿开,老师那清晰的思路也让你受益匪浅(在这里应该感谢那些老师们,虽然他们有些时候的简略很让人恼火)。但越学,心里越没底,有太多的东西我都没学好,更有更多东西根本就不知道,正所谓皓首穷经。
我不时的咒骂自己的懒惰,也许是过于愚笨,努力不够,学习计算机也有三年多了,直到现在,我才觉得自己开始了解计算机,才明确了方向。
我从文科转入这一专业,而且也不小了,就凭着我对计算机有着强烈的兴趣。他是人类智慧的体现,程序设计更是一种艺术,他能让我们的才华得到充分发挥,我会继续努力下去的,虽然有些迟了,但为了不更迟。
希望在校的学生们能多珍惜一些时间,不要比我还迟。
下来假如觉得自己接受能力强的话就可以开始学C语言了(注意不是C++),假如感觉有困难也可以先学Pascal过度一下。还有很重要的一点就是千万不要一开始就学VB,DELPHI,VC之类的东西,这些东西在一开始学会对你造成很坏的影响。有可能会把你引入另外一个错误的学习方向而忽略了真正应该掌握的东西。学C主要是学过程话的程序设计,学会把自己的程序分成许多的函数(或过程),养成良好的编程习惯。这时可以多看一下高人的程序,不一定要懂意思,主要是学会别人程序的格式(比如变量如何起名,怎么划分函数)。除开掌握基本的控制流语句外,应该学习一些很简单的I/O函数和数学函数。C的学习主要是你舍弃原来BASIC程序那种把所有语句积成一大堆的风格,要学会使用函数,提高代码重用性。对于指针之类的东西假如实在看不懂可以先不去管,到后面会有办法。当你能够比较自如的用C编写一些小的计算程序时,你就可以开始你的数据结构的学习了(数学的学习主要是在学校,自己要多用心)。数据结构你可以一点一点漫漫看,并不需要专门空出一段时间来专门研究,这样的目的是让你能够很好的掌握它,要学会用数据结构的知识来规范自己的程序设计和提高程序的效率。学完C我认为接着最好学习汇编。这个或许有许多人都会反对,然而我个人认为这样是很好的。从最基本的DOS汇编开始,买本《IBM PC汇编程序设计》(清华黄皮)一定要一点一点吃透,实在看不懂就跳,反复的严读是一定可以看懂的。汇编是一定要掌握的,因为它涉及到更多最基本的知识。掌握了汇编和对I/O有了个很彻底的认识后,应该去学编译原理。这个东西并不要精通,但是一定要知道,在大脑里要有一个这样的概念,这对你对程序语言的控制能力都有很大的帮助。这样最基本的学习就算完成了。一般智力正常的人前一段东西应该都是可以掌握的。接着后面的学习就要看你自身的造化了。这个时候你应该研究一下数据结构,不要分散自己学习的注意力,要知道数据结构是异常重要的(相信我,绝对没错)假如你觉得自己已经对于树,连表,堆栈之类的东西和排序,递归之类的算法已经十分清楚,就可以开始学习C++了。学习前一定要有个正确的认识,那就是C和C++是两个不同的东西。学习C++是为了学习面向对象的程序设计,这个时候你对于指针应该也能够掌握了(有汇编的基础),主要抓住C++和C相比的一些新特性,对于多态之类的特性要注意理解掌握,假如没有搞懂就坚决不要往下学习。一些基本的概念掌握以后可以看一些别人设计的程序,学习别人怎么利用面向对象的方法来设计程序的。这个东西也是人之间拉开档次的一个环节,可以和数据结构放在同等重要的地位。我就见过有的人都大学毕业了还搞不懂virtual到底是怎么一回事情。其实我认为学到这里你已经为你成为一个优秀的程序员打下了很好的基础,你已经能够应用C++,懂得面向对象程序设计,对数据结构掌握很好,掌握汇编和编译原理。接下来的学习就是基于操作系统平台的了,一般是先学windows(Microsoft毕竟是老大),先学win32 api,搞请windows基本消息机制和原理,有汇编基础基本上不会碰到什么困难。
其实只要会了API,其余什么MFC,VCL都是囊中之物了,都不过是对于API的封装而已。VC,C++Builder都可轻松拿下,这只是开发工具的问题。以后的OLE(ActiveX),.NET,数据库就要看自己的发展方向而定了。我在这里强调的是前面的基本能力的学习,后面操作平台虽然知识体系庞大,然而毕竟比较死,更好掌握。最后编程能力的高低主要还是有以下几点决定:1。编程的习惯 2。数学能力(包括逻辑思维,分析问题的能力) 3。对数据结构的认识能力 4。经验的多少(包括多使用语言的掌握能力)
学习编程的道路是充满艰辛,漫长而曲折的,作者罗列了一堆自己知道的编程方面的知识,并且给出了一个具体的顺序,所谓先学什么,后学什么;没学会什么,就一定不要去学另一个什么.....其中更多内容有一些道理。但是总是难逃片面。
从入门到精通一类的东西看的太多了,难道真的凭借一本书就能从一个电脑盲编程精通的专家了么。我郑重的建议那些想“速成”高手的人,放弃你的想法吧。一个计算机专业的本科生,要花上4年时间才能毕业,需要学习的专业知识岂是一朝一夕就能掌握的。就算去除一些公共课所占用的时间,我觉得要入计算机行业这个“门”,至少需要两年的时间。两年后才能说,对计算机有一些了解了,知道了计算机的基本组成原理,对时钟晶振,中断芯片有一定了解,用汇编简单控制8259编程。也知道了一些计算机程序设计语言方面的原理,掌握了一俩门传统的样板编程语言,了解了i++和++i对于VC的编译器来说意味着什么,有了一些数据结构方面的认识,能把现实生活中的一些问题用程序模拟出来。
但这一切也不过是刚刚入门而已,只是打基础。至于以后再学习Windows系统原理,消息机制,掌握这个类库,那个类库;抑或是研究Linux内核,进而了解嵌入式系统开发工具和方法,那要看个人喜好了。我只是举几个例子,但是随便那个,要敢说自己已经完全掌握,至少还要几年吧。
假如上面的东西中有的已经很精通了,可以称为专家了,那么恭喜你,你可以考虑把这些东西再总结,提升一个层次,从系统架构角度回顾一下要实现某个需求,通常需要使用什么技术,多少人,多长时间来开发,成本多少,收益多少,风险又有多少,还可以总结出一些控制软件开发进度的方法,生成软件的方法,人们把这些方法归纳起来叫做软件工程。而你,也应该是一个项目经理了吧。
假如这些东西都学会了,再次恭喜你,你可以考虑能不能把现有的客户拉到自己身边来,找个人给自己投资,成立自己的软件公司。成为浩浩荡荡的软件创业者中微不足道的一员。
自学了VB,VC,数据结构,离散,操作系统,数据库原理等。
开学以来做完了数字图像处理的所有的实验--有个别实验还是很难的。我从paperVC++被逼--也算是熟练(离精通差远了)而系里其他的同学却没有一个自己全部编出来的,都是抄书的。但并不能说明他们的计算机水平都差,比起编程水平,我更佩服那些真正计算机专家--尽管他们不编程。但是他们的研究成果往往大大帮助我们编程,更多编程思想都是他们过去的研究成果!!我们就算编出来了--也就是说明我们有点小聪明,但决不可以和系统完备的大智慧相比!就像我们可以利用数学定理计算一些复杂的数学题目一样,这没什么了不起--真正了不起了还是那些定理提出者,和证明者。这一个学期前我一直想好好地把编程好好学学,可是越来越觉得数学功底不足(当然不仅仅只高数)。现在真佩服那些数学家!真正的计算机专家!过去学数据结构时,八皇后,背包,搜索--一直令人头疼,好像懂,但不爽,记不住。在一个专家(图灵奖获得者)的看似简单思想的指引下--这些算法统一到了一起-------一切似乎都那么明了!显然假如你编程的话也提高编成的水平。还有记得学数据库原理,开始那段自己在没有规则指引的要求下想理清楚各种事物的关系时,是那么的混乱。而有了armstrong公理系统的三条规则---世界就一下子变得清晰!--这个最好的程序员能做到吗,他也只能每次遇到具体问题,每次发挥它聪明去理关系,也难保不出错,还要累死大量脑细胞!
既然读研究生,重点在思想。但我有自知之明,我们那么好的功底,也许以后就是编编程序,难弄出这种精华的东西,但是注重思想的学习-会对学具体知识起到巨大指导作用。所以我不会觉得编程水平低的就不行--很可能比程序高手的价值高更多倍!
但迫于个人造诣和以后就业的压力,还是把流行技术性的东西掌握一下好。
说到底,要想成为优秀的程序员,还是要注重基本理论的学习。
终于点到题目上来了。大多数的人都希望自己的东西能够马上跑起来,变成钱。这种想法对一个已经进入职业领域的程序员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进就是失业。但是对于初学者来说(尤其是时间充裕的大中专在校生),这种想法是另人费解的。一个并未进入到行业竞争中来的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习why 而不是how。时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于*乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能够显著的减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来说甚至是不可或*的。
一个活生生的例子是我和我的一个同学,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。我把大二的所有时间花在了汇编,计算机体系结构,数据结构,操作系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。大三的时候我开始学习Windows 操作系统原理,学习SDK编程,时间是漫长的,这时我才能够用VC开发出象模象样的应用程序。我曾一度因为同学的程序已经能够运行而自己还在学习如何创建对话框而懊恼不已,但临到毕业才发现自己的选择是何等的正确。和我谈判的公司开出的薪水是他的两倍还多。下面有一个不很恰当的比方:假设学习VB编程需要4个月,学习基础课程和VC的程序设计需要1年。那么假如你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,假如先学习后者,再来学VB,也许你只需要1个星期就能学得非常熟练。
几个重要的基础课程
计算机操作系统原理-我们的开发总是在特定的操作系统上进行,假如不是,只有一种可能:你在自己实现一个操作系统。无论如何,操作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也更多,我没有发现哪一本书非常出众。只是觉得在看完了这些书后假如有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。关于学习它的必要性,ZDNET上的另一篇文章已经有过论述。
数据结构和算法-这门课程能够决定一个人程序设计水平的高低,是**核心课程。我首选的是清华版的(朱战立,刘天时)。更多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。
软件工程-这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。
Windows 程序设计-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教学材料进行授课。可见其重要。
上面的几门课程我认为是必学的重要课程(假如你想做Windows 程序员)。
对于其它的课程有这样简单的选择方法:假如你是计算机系的,请学好你所有的专业基础课。假如不是,请参照计算机系的课程表。假如你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。假如一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽可能多的在计算机上实际操作一种理论或者算法。
你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书。
日三省乎己
每天读的书太多,容易让人迷失方向。一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣,在一本书上花的时间太长还是不够等等。同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。
把最多的时间花在学习上
这是对初学者最后的忠告。把每个星期玩SC或者CS的时间压缩到最少,不玩它们是最好的。同时,假如你的ASP技术已经能够来钱,甚至有公司请你兼职的话,这就证明你的天份能够保证你在努力的学习之后取得更好的收益,你应该去做更复杂的东西。眼光放长远一些,这无论是对谁都是适用的。
相信你已经能够决定是否学习C#或者什么时候去学它了。
计算机专业学习的专业课程有计算机应用基础,access数据库,vb语言,网页设计与制作,计算机组装与维护,计算机网络技术,flash制作等等课程。
计算*专业毕业后大致的工作方向是软、硬、网、图 四大类
尤其以软件、网络为现今的首选
从岗位**,又可以分为技术道路、营销道路两大方向
if 你选择作技术,then 从现在开始,牢记:
天道酬勤!!!
if 你选择软件技术 then 每天都要用大量的时间学习高级语言,绝对不能仅限于学校的安排。优秀的程序员都是大学阶段就已经自学得非常深入了。
if you选择网络技术,那么你就多多从网上阅读有关资料
if you 选择营销类,那么,你只要将老师教授的学好就ok
但是,一定要用大量的时间到计算*公司去兼职做营销,踏踏实实提高自己与客户接触能力。一、给计算*专业的同学1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。假如你不热爱她,或者只因为这是个热门专业,那么极力门槛你放弃这个专业,因为计算*是一把双刃剑,学好了你会飞黄腾达,学不好你毕业后会极其痛苦,高不成低不就,没有发展潜力,如同学英语专业的人到了美国一样。
2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站挣钱,不要想靠点击率增加广告,这个在4年前已经过时,假如你现在仍然这么想,千万别说出来,因为我会觉得你很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎,不夸张,这么帅的我工作了两个月以后发现开始掉头发了。
3.搞明白计算*“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网,听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这通通不叫计算*科学与技术,假如你是计算*的学生,会做以上事情,那是你应该的,不会做,也没什么丢人的,我们需要的不是让别人称作“高手”。
4.明确你最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。假如你是软件方向,请你在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,他对你有用。软件工程绝对不是背背就能过的课,计算*理论可能是一个人就能研究出来,软件工程是成千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问我应该学什么语言,计算级专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把"hello world"做出来。假如说有必须学的两种语言,那他们是c++与java,学他们不是在学语言,而是在学thinking in c++,thinging in java,一个是软件的基础理论,一个是面向对象的基础理论,从来没有人听说过“thinking in basic”。假如你说c++过时了,那么千万别告诉别人你的名字,因为很丢人。山科大的老师只会教给你c,不会教给你++,所以不要被他蒙蔽,大胆的问他++,假如他不会,干脆换老师。学硬件的同学在认真听听以上课程后,学精除了政治以外的其他课程。
5.即使你学好了以上课程,我们仍然差得很远,我们只弄清学什么了,但是还不知道做什么。我们的课程设计太小儿科了,别对你在国外的同学说,否则会被笑话,所以我们要尽可能的多做设计,别一个人们闷着头做,两三个人合作一个项目,不会交流的计算*人员30岁以后肯定会下岗。题目呢,尽量是一些简单的底层开发,可以去国外大学网站上搜一搜,要自信你一定能做出来,毕竟不是什么难题,而是我们应当具备的素质。
6.假如你对网络有意,在具备了一定动手能力后从协议或者底层硬件的角度去学习它。否则你是自甘从一名高贵的计算*专业人员堕落为做着沉重*械体力劳动的民工。对网络安全感兴趣,那么你就在学会使用各种工具的一个月后从**的角度深入学习网络协议和操作系统吧!只会用工具攻击无知人员的漏洞是一种意淫的行为,假如乐此不疲,并到处叫嚷“黑客”,那么这种行为可以被称作“手淫”。网上呼吁中美、中日黑客战时,希望你安心学习课程,或者睡觉休息,或者去运动娱乐,不要给祖国抹黑。
7.正确对待认证。绝大部分认证不是高薪的敲门砖,而是你上岗前的智商水平测验。假如你考过了认证,别对别人说这个认证是垃圾,请告诉别人你在学习中懂得了那些知识,假如你没有懂得知识,那么你是个paper,认证不是垃圾,你是垃圾。假如你连认证都没考就到处喊它垃圾,那么你就亲自考考试试,考过了,懂了,那么你随便;假如过了但是不懂,认证不是垃圾你是垃圾,假如没考过,那么看这个贴子的所有人都知道你是什么了。MCSE、CCNA、CIW等等都有它存在的意义,只要你有钱都值得一学,他们是最正规的知识来源,是经过理论、实际操作、时间与市场考验的产品。
二.给非计算级专业的同学的一点建议1.热爱你的原专业,尤其是自然学课和基础学科,为了计算*放弃他们就如同为了10张一元钱扔掉了一张100元一样。
2.计算*是具有学术性和工具性的双重属性学课。架设一做计算级专业与你本专业的桥梁,那对两个专业都是做出了贡献,假如你真的很牛,把计算*学的很深很好,那么你真的值得尊敬。
3.再次记住做网页,做图片,做flash,玩游戏,上网,听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这些不是计算*专业,也挣不到钱。不要让浮躁余功利蒙蔽你的双眼,毁掉你光明的前程。
当然,计算*语言更多种,每种都有他的特点,各种之间的**思想又是融会贯通的。只要你学精一门就不愁找不到工作的。加油!间到计算*公司去兼职做营销,踏踏实实提高自己与客户接触能力。
计算机科学与技术是学什么的?
流行的计算机语言如C、JAVA、VB、VF、DELPHI、汇编等等
微机原理
计算机基础
计算机网络基础
数据结构
高等数学
大学英语
大学物理
多媒体相关的课程:如网页制作、IT实用技术等
喜欢计算机、热爱计算机专业是不会觉得计算机专业无聊的,计算机科学与技术专业既学网络又学软件,只不过学的都不深,假如自己喜欢可以自学钻研。
记住我说的话,根本没有无聊的专业,只有自己热爱的专业,你认为自己的专业无聊,是因为你没有全身心的投入这个专业并不热爱这个专业,真正爱计算机的人,上计算机的专业课是一种享受。
每个学校计算机科学与技术的课程都有所不同!但大体相同!在大一大二学习一些基础课程!例如高等数学,英语,C语言,计算机导论,英语,离散数学,概率论,数值分析(计算方法),C++和一些人文课程;有些学校不学的有大学物理,电路,数字电路设计,信号与系统等.高等数学要好好学!学起来会很无聊,要有心理准备!
到大三会分方向:软件,网络,多媒体.可以按照自己的兴趣选择.
我是计算机专业的学生,我们的课程主要有操作系统,数据结构,计算机组成原理,c++,离散数学,编译原理,汇编语言,计算机接口,数据库,也有计算机网络。主要看你以后想做什么,是偏软件还是偏硬件,假如是偏硬件还要学习电路一类的课程
1、计算机组成原理(包括先修课程“数字逻辑与数字系统”,简称“数电”):这是一门硬件基础课,学完后你能清楚的知道如何从用最简单的数字元件,像搭积木一样构成整个计算机系统,那就算及格了。 一门名为计算机体系结构是本课程的扩充包,对于了解近代计算机结构体系当然是必要的,但由于这里讨论的是Top 5,因此我认为计算机组成原理更为基础。