计算机科学与技术,大二了,我该学些啥呢,现在只会写几行代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机科学与技术,大二了,我该学些啥呢,现在只会写几行代码相关的知识,希望对你有一定的参考价值。
现在大二了,按照学校的培养计划,现在学到数据结构,想自学点东西,至今不知道软件是怎么写出来了而不是printf。。。。求大神指教啊啊啊啊
我不是大神,事实上我还是大一呢。我已经学了C,正在学C++,我也是一头雾水。再好多看些相关书籍。我给你推荐些。我只看了一点就受益无穷。求采纳。计算机经典教材
目录
1 前言
2 Mathematics (数学)
3 Data Structures & Algorithms (数据结构、算法)
4 Compiler (编译原理)
5 Operating System (操作系统)
6 Database (数据库)
7 C (C 语言)
8 C++ (C++ 语言)
9 Object-Oriented (面向对象)
10 Software Engineering (软件工程)
11 UNIX Programming (UNIX编程)
12 UNIX Administration (UNIX系统管理)
13 Networks (网络)
14 Windows Programming (Windows 编程)
15 Other (其它)
前言
推荐原则:
宁缺勿滥,决不混进糟粕 (好书不一定对所有人都合适,但对于它的目标读者群来说,一定是好书)。
选书原则:
有国外的,不看国产的
有原版的,不看翻译的
看大师的作品
看书原则:
不要看C、C++、java……今天听说C好,就跑去学C。明天听说java好,就跑去学java,最后你什么也学不到。因为不管什么语言,永远不要忘记语言的本质。语言只是一种工具,它的作用就是完成你的工作。不管把
C 的语法学得如何透彻,也不管把 C 的
trick用的如何精妙,这都不能表示你会编程。要学会如何分析问题,如何设计程序,如何用一种具体的语言来实现。如果你只会做最后一步,你只是一个编码者(coder),还不是一个程序员(programmer)。做一个programmer,不要做coder。总之,不要为了学语言而去学语言(除非你是个语言学家)。
不要放弃对基础知识的学习。所谓基础知识,一般都有一个特点,那就是:它们可能看起来没用,但如果你忽视它们的话,总有一天你会后悔莫及。所以,如果不想以后再后悔的话,就在今天多花点时间。
不管学什么东西,学之前先弄明白自己要学的是什么东西,它有什么用,在你已经学和以后的发展方向中,它处于什么位值。如果这些都不明白,就好比在茫茫的丛林里面四处乱撞,就算能出去,也一定会走很多弯路。
对于软件工程之类的东西,不象 C
语言有着严格的标准,最好的办法就是兼收并蓄,能看的都看,然后(最重要的)在此之上形成自己的思想(不然就什么都白看了)。
尽信书不如无书。书里写的只不过是写书的人认为正确的观点而已。学习前人的知识和经验,在此基础上形成自己的知识结构、观点和思维方式,才是学习的真正目的。
一。Mathematics (数学)
书名(英文):Discrete Mathematics and Its Applications (Fifth Edition)
书名(中文):离散数学及其应用 (第五版)
原作者:Kenneth H.Rosen
书名(英文):Concrete Mathematics : A Foundation for Computer Science
(Second Edition)
书名(中文):具体数学:计算机科学基础 (第2版)
原作者:Ronald L. Graham / Donald E. Knuth / Oren Patashnik
二。Data Structures & Algorithms (数据结构、算法)
书名(英文):Data Structures and Algorithm Analysis in C, Second Edition
书名(中文):数据结构与算法分析--C语言描述 (第二版)
原作者:Mark Allen Weiss
大凡国外的数据结构教科书,都有一个共同的特点,就是他们的第一章都不是讲的数据结构,而是软件工程的基本原则。我个人认为这是十分必要的,特别是对于大
多数没有接触过程序设计的同学来说,在数据结构这个可以说是第一次接触程序设计的课程中能学习到基本的软件工程原则,对于以后的学习是十分有好处的。写一
个乱七八糟的程序出来还不如什么都不写。在我看来,这本书有两个优点:一:将软件工程的基本原则贯穿全书,二:简单,容易理解。对于初学者,这本书无疑是
非常合适的。mufasa
书名(英文):Data Structures & Program Design In C (Second Edition)
书名(中文):数据结构与程序设计 C 语言描述 (第二版)
原作者:Robert Kruse / C.L. Tondo / Bruce Leung
书名(英文):Data Structures with C++ Using STL (Second Edition)
书名(中文):数据结构C++语言描述描述—应用标准模版库 (第二版)
原作者:William Ford, William Topp
书名(英文):Introduction to Algorithms (Second Edition)
书名(中文):算法导论 (第二版)
原作者:Thomas H. Cormen / Charles E. Leiserson / Ronald L. Rivest /
Clifford Stein
书名(英文):The Art of Computer Programming, Volume 1 : Fundamental
Algorithms (Third Edition)
书名(中文):计算机程序设计艺术 第1卷 基本算法 (第3版)
原作者:Donald E. Knuth
书名(英文):The Art of Computer Programming, Volume 2 : Seminumerical
Algorithms (Third Edition)
书名(中文):计算机程序设计艺术 第2卷 半数值算法 (第3版)
原作者:Donald E. Knuth
书名(英文):The Art of Computer Programming, Volume 3 : Sorting and
Searching (Second Edition)
书名(中文):计算机程序设计艺术 第3卷 排序和查找 (第2版)
原作者:Donald E. Knuth
三。Compiler (编译原理)
书名(英文):Compilers: Principles, Techniques, and Tools
书名(中文):编译原理、技术与工具
原作者:Alfred V. Aho / Ravi Sethi / Jeffrey D. Ullman
书名(英文):Advanced Compiler Design and Implementation
书名(中文):高级编译器设计与实现
原作者:Steven S. Muchnic
书名(英文):Modern Compiler Implementation in C
书名(中文):现代编译原理--C语言描述
原作者:Andrew W.Appel / Maia Ginsburg
四。Operating System (操作系统)
书名(英文):Operating System Concepts (Sixth Edition)
书名(中文):操作系统概念 (第六版)
原作者:Abraham Silberschatz / Peter Baer Galvin / Greg Gagne
书名(英文):Operating Systems : Design and Implementation (Second
Edition)
书名(中文):操作系统:设计及实现 (第二版)
原作者:Andrew S. Tanenbaum / Albert S. Woodhull
翻译者:王鹏、尤晋元、朱鹏、敖青云
书名(英文):The Design and Implementation of the 4.4BSD Operating System
书名(中文):4.4BSD操作系统设计与实现
原作者:Marshall Kirk McKusick / Keith Bostic / Michael J. Karels / John
S.Quarterman
书名(英文):The Design and Implementation of the FreeBSD Operating System
书名(中文):FreeBSD操作系统设计与实现
原作者:Marshall Kirk McKusick / George V. Neville-Neil
翻译者:张辉
书名(英文):The Design of The UNIX Operating System
书名(中文):UNIX操作系统设计
原作者:Maurice J.Bach
书名(英文):UNIX Internals : The New Frontiers
书名(中文):UNIX系统内幕
原作者:Uresh Vahalia
书名(英文):UNIX Systems for Modern Architectures
书名(中文):现代体系结构上的UNIX系统--内核程序员的SMP和Caching技术
原作者:Curt Schimmel
翻译者:张辉
书名(英文):Lions' Commentary on UNIX 6th Edition with Source Code
书名(中文):莱昂氏UNIX源代码分析
原作者:John Lions
书名(英文):Distributed Systems : Principles and Paradigms
书名(中文):分布式系统:原理与范例
原作者:Andrew S.Tanenbaum / Maarten van Steen
五.Database (数据库)
书名(英文):An Introduction to Database Systems, Eighth Edition
书名(中文):数据库系统导论 (第八版)
原作者:C. J.Date
书名(英文):Database System Concepts, Fourth Edition
书名(中文):数据库系统概念 (第四版)
原作者:Abraham Silberschat / Henry F.Korth / S.Sudarshan
六。C (C 语
书名(英文):The C Programming Language, Second Edition
书名(中文):C程序设计语言,第二版
原作者:Brian W. Kernighan / Dennis Ritchie
书名(英文):The Art and Science of C : A Library-Based Introduction to
Computer Science
书名(中文):C语言的科学和艺术
原作者:Eric S.Roberts
书名(英文):Programming Abstractions in C : A Second Course in Computer
Science
书名(中文):C程序设计的抽象思维
原作者:Eric S.Roberts
书名(英文):Expert C Programming
书名(中文):C专家编程
原作者:Andrew Koenig
书名(英文):C Traps and Pitfalls
书名(中文):C陷阱与缺陷
原作者:Andrew Koenig
七。C++ (C++ 语言)
书名(英文):C++ Primer, Third Edition & Forth Edition
书名(中文):C++ Primer (第三版、第四版)
原作者:Stanley B.Lippman / Josée LaJoie / Barbara E.Moo
翻译者:李师贤、蒋爱军、梅晓勇、林瑛
平心而论,这本书的第三版并不适合入门,但是第四版适合。所以第四版的出现并不意味着第三版就失去了其价值。在我看来最好的办法就是买一本第四版的中文版和一本第三版的英文版。中文版用来入门,英文版用来作参考手册。mufasa
书名(英文):The C++ Programming Language, Special Edition
书名(中文):C++ 程序设计语言 (特别版)
原作者:Bjarne Stroustrup
书名(英文):Inside the C++ Object Model
书名(中文):深度探索 C++ 对象模型
原作者:Stanley B. Lippman
书名(英文):Effective C++, Thrid Edition
书名(中文):Effective C++ (第三版)
原作者:Scott Meyers
书名(英文):More Effective C++
书名(中文):More Effective C++
原作者:Scott Meyers
翻译者:侯捷
书名(英文):Thinking in C++, Second Edition
书名(中文):C++编程思想 (第二版)
原作者:Bruce Eckel
书名(英文):Thinking in C++, Volume 2 : Practical Programming
书名(中文):C++编程思想 第2卷:实用编程技术
原作者:Bruce Eckel / Chuck Alison
书名(英文):Ruminations on C++ : A Decade of Programming Insight and
Experience
书名(中文):C++沉思录
原作者:Andrew Koenig / Barbara Moo
八。Object-Oriented (面向对象)
书名(英文):Object-Oriented Analysis and Design with Applications, Second
Edition
书名(中文):面向对象分析与设计 (第二版)
原作者:Grady Booch
书名(英文):Object-Oriented Modeling and Design with UML,Second Edition
书名(中文):UML面向对象建模与设计 (第二版)
原作者:Michael Blaha / James Rumbaugh
翻译者:车皓阳、杨眉
书名(英文):Object-Oriented Software Construction (Second Edition)
书名(中文):面向对象软件构造 (第二版)
原作者:Bertrand Meyer
书名(英文):Design Patterns : Elements of Reusable Object-Oriented
Software
书名(中文):设计模式:可复用面向对象软件的基础
原作者:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides
九。Software Engineering (软件工程)
书名(英文):Software Engineering (7th Edition)
书名(中文):软件工程 (第七版)
原作者:Ian Sommerville
书名(英文):Software Engineering : A Practitioner's Approach (Fifth
Edition)
书名(中文):软件工程:实践者之路 (第5版)
原作者:Roger S. Pressman
书名(英文):Software Engineering : Theory and Practice (Second Edition)
书名(中文):软件工程:理论与实践 (第二版)
原作者:Shari Lawrence Pfleeger
书名(英文):The Mythical Man-Month
书名(中文):人月神话
原作者:Frederick Phillips Brooks
书名(英文):Software Architecture : Perspectives On an Emerging Emerging
Discipline
书名(中文):软件体系结构:一门初露端倪学科的展望
原作者:Mary Shaw / David Garlan
十。UNIX Programming (UNIX编程)
书名(英文):Advanced Programming in the UNIX Environment, Second Edition
书名(中文):UNIX 环境高级编程 (第二版)
原作者:W.Richard Stevens / Stephen A.Rago
翻译者:尤晋元、张亚英、戚正伟
书名(英文):The UNIX Programming Environment
书名(中文):UNIX 编程环境
原作者:Brianw. Kernighan
书名(英文):UNIX Network Programming, Volume 1 : The Sockets Networking
API (Third Edition)
书名(中文):UNIX 网络编程 卷1:套接字联网API (第三版)
原作者:W. Richard Stevens / Bill Fenner / Andrew M. Rudoff
书名(英文):UNIX Network Programming Volume 2 : Interprocess
Communications (Second Edition)
书名(中文):UNIX 网络编程 卷2:进程间通信 (第2版)
原作者:W. Richard Stevens
书名(英文):The Art of UNIX Programming
书名(中文):UNIX 程序设计艺术
原作者:Eric Raymond
UNIX Administration (UNIX系统管理)
书名(英文):UNIX System Administration Handbook (Third Edition)
书名(中文):UNIX系统管理技术手册 (第三版)
原作者:Evi Nemeth / Garth Snyder
书名(英文):Linux Administration Handbook
书名(中文):Linux系统管理技术手册
原作者:Evi Nemeth / Garth Snyder / Trent R.Hein
书名(英文):UNIX Unleashed (Fourth Edition)
书名(中文):UNIX 技术内幕 (第四版)
原作者:Robin Anderson / Andy Johnston
书名(英文):UNIX:The Textbook
书名(中文):UNIX操作系统教程
原作者:Syed Mansoor Sarwar / Robert Koretsky / Syed Aqeel Sarwar
书名(英文):Unix Backup & Recovery
书名(中文):UNIX 备份与恢复
原作者:W.Curtis Preston
十一。Networks (网络)
书名(英文):Computer Networks (Fourth Edition)
书名(中文):计算机网络 (第4版)
原作者:Andrew S. Tanenbaum
书名(英文):TCP/IP Illustrated, Volume 1 : The Protocols
书名(中文):TCP/IP 详解 卷1:协议
原作者:W. Richard Stevens
书名(英文):TCP/IP Illustrated, Volume 2 : The Implementation
书名(中文):TCP/IP详解 卷2:实现
原作者:Gary R. Wright / W. Richard Stevens
书名(英文):TCP/IP Illstrated, Volume 3 : TCP for Transactions, HTTP,
NNTP, and the UNIX Domain Protocols
书名(中文):TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议
原作者:W. Richard Stevens
书名(英文):Internetworking with TCP/IP Vol I : Principles, Protocols,
and Architecture (Third Edition)
书名(中文):TCP/IP 网络互连技术 卷1:原理、协议和体系结构 (第3版)
原作者:Douglas E. Comer
书名(英文):Internetworking with TCP/IP Vol II : Design, Implementation,
and Internals (Second Edition)
书名(中文):TCP/IP 网络互连技术 卷2:设计与实现 (第2版)
原作者:Douglas E. Comer / David L. Stevens
书名(英文):Internetworking with TCP/IP Vol III : Client-Server
Programming and Applications, BSD Socket Version (Second Edition)
书名(中文):TCP/IP 网络互连技术 卷3:客户服务器编程和应用BSD套接字版 (第2版)
原作者:Douglas E. Comer / David L. Stevens
书名(英文):Internetworking with TCP/IP Vol III : Client-Server
Programming and Applications, Windows Sockets Version
书名(中文):TCP/IP 网络互连技术 卷3:客户服务器编程和应用Windows套接字版
原作者:Douglas E. Comer / David L. Stevens
十二。Windows Programming (Windows 编程)
书名(英文):Inside Microsoft Windows 2000 (Third Edition)
书名(中文):Microsoft Windows 2000 技术内幕 (第3版)
原作者:David A.solomon Mark E.Russinovich
书名(英文):Programming Windows (Fifth Edition)
书名(中文):Windows 编程 (第5版)
原作者:Charles Petzold
书名(英文):Programming Applications for Microsoft Windows
书名(中文):Microsoft Windows 应用程序设计
原作者:Jeffrey Richter
书名(英文):Programming with Microsoft Visual C++ .NET (Sixth Edition)
书名(中文):Visual C++.NET 技术内幕 (第6版)
原作者:George Shepherd / David Kruglinski
书名(英文):Dissecting MFC
书名(中文):深入浅出MFC
原作者:侯捷
十三。Other (其它)
书名(英文):Computer Systems : A programmer' s Perspective
书名(中文):计算机系统
原作者:Randal E. Bryant / David R. O'Hallaron
书名(英文):Pattern Classification (Second Edition)
书名(中文):模式分类 (第2版)
原作者:Richard O. Duda / Peter E. Hart / David G. Stork
书名(英文):Code Complete 2
书名(中文):代码大全第2版
原作者: Steve McConnell
书名(英文):Programming Pearls (2nd Edition)
书名(中文):编程珠玑第2版
原作者: Jon Bentley
别人给我推荐的,我只看过一两本。 参考技术A 都是计算机要求学的基础!~!好好学!~!你会在某一方面找到自己准确的定位!~!
但基础要学好!~!想改哪一行都行!~! 参考技术B 看书没用的, 要实际操作, 经常论坛csdn这个论坛上面技术人员很不错本回答被提问者采纳
电子类专业大学生四年应该学些啥
参考技术A看这篇帖子的,我想都是电子爱好者或电类专业学生。不知道大家都处于什么一个阶段,这篇帖子是写给入门者的,要解决一个问题:初学者应重点掌握什么电子知识,大学阶段如何学习?
先说点貌似题外的东西——3个谬论。
谬论一:高中老师常对我们说,大家现在好好学,考上了大学就轻松了,爱怎么玩怎么玩。这真是狗屁。别的专业我不好说,电气、电子、电力、通信、自动化等电类专业,想要轻松那是不可能地(当然你是天才就另说),专业课上讲的东西对决大多数人来说那是云里雾里,从来都是一知半解,需要你课下花大量时间精力来消化。有些东西甚至需要你若干年后在工作中遇着时才回过味:“哦,原来以前学的那东西是干这使的。”你要能想得起,并知道怎么回头去补,就算是上学时专业课学得较扎实了。
谬论二:填志愿时经常有人对我们说:专业不重要,学校最重要,进了个好学校想学什么再学。这亦是狗屁。进了学校,本专业的课程就可能会压得你喘不过气来,还有多少人有时间和毅力选修第二专业?而所学专业几乎就是决定了你今后一生的职业生涯。而学校,说实话本科阶段从老师那学到的东西各校间差别不是很大。课上讲的大同小异,课下也不会有什么好老师给你单独指导和点拨(若能遇着,那是你的幸运)。越牛的学校的越牛的老师就越忙,不要指望他们会在教学上花多少心思,更不要指望他们对你另眼相看。反倒是一些普通院校的小老师们可能跟学生走得更近,辅导更多些,虽然他们可能水平一般,但对于你大学的学习来说还是足够的。综上所述,我觉得对于一个电子爱好者来说,成为一名普通重点大学的电子系学生比成为北大的哲学系学生更重要。当然看帖的应该大多数都是学电的,那恭喜你,这个专业不错的,虽不是什么“朝阳产业”,但绝对是个“常青行业”。
谬论三:上了大学,可能又有不少人对你说,在大学专业不重要,关键的是学好计算机和英语,这样就不愁找不到好工作了。这也是屁话。你要明确一点:你将来不是纯靠英语吃饭的,也不是做编程、搞软件开发或动画创作的。我是想说:若果你性格偏内向沉稳、肯钻研、爱好电子行业,将来想从事电子设计和研发工作,那你一定要学好专业课。当然英语也很重要,但以后工作中用得多的是你的专业英语,即能读懂英语技术文档,而不是跟别人比你口语多正宗多流利。至于计算机,那就是一工具,不要花太多时间去学photoshop、3dmax、Flash、网页制作等流行软件,这些在你今后的工作中用不着,也会牵扯你大量时间精力。好钢用在刀刃上,多进进实验室多搭搭电路吧。当然,电类学生对电脑也有特殊要求,那就是用熟Protel、Multisim,学好汇编语言、C语言、选学PLD相关软件。任务也是很重的。
以上说了3个谬论,下面言归正传吧。那么进了大学,读了电类专业,这4年你该学些什么呢?
1. 大一大二(打基础)
首先要了解:电类专业可分为强电和弱电两个方向,具体为电力工程及其自动化(电力系统、工厂供变电等)专业属强电,电气工程及其自动化以强电为主弱电为辅,电子、通信、自动化专业以弱电为主。其他更进一步的细分要进入研究生阶段才划分。但无论强电还是弱电,基础都是一样的。
首先高数是要学好的,以后的信号处理、电磁场、电力系统、DSP等不同方向的专业课都用得着。
专业基础课最重要的就是电路分析、模拟电路、数字电路。这3门课一定要学好。这3门课一般都是大一下学期到大三上学期开设,对大多数对电子知识还了解不多的同学来说,通常是学得一知半解,迷迷糊糊。所以,最好是在开课之前或是开课的同时读一两本通俗浅显的综合介绍电子知识的书籍,对书中的知识你不需要都懂,能有个大致感觉就行。对这这种入门读物的选择很重要,难了看不懂可能兴趣就此丧失或备受打击,反而事与愿违。在此推荐一本《电子设计丛零开始》(杨欣编著,清华大学出版社出版),该书比较系统全面地介绍了电子设计与制作的基础知识,模电、数电、单片机、Multisim电路仿真软件等都有涉及,一册在手基本知识就差不多了,关键是浅显易懂,有一定趣味性。另外科学出版社引进出版的一套小开本(32开)电子系列图书也不错,是日本人写的,科学出版社翻译出版,插图较多,也较浅显,不过这一系列分册较多,内容分得较细。
除了看书,还要足够重视动手实践。电路、模电、数电这些课程进行的同时都会同时开设一些试验课,珍惜这个动手机会好好弄一弄,而不要把它当作一个任务应付了事。跟抄作业一样,拷贝别人的试验结果在高校中也是蔚然成风,特别是几个人一个小组的实验,那就是个别勤奋好学的在那折腾,其他人毫不用心地等着出结果。我只想说,自己动手努力得来的成果才是甜美的,那种成就感会让你充实和满足。游手好闲的,到临近毕业找工作或在单位试用时,心中那种巨大的惶恐会让你悔不当初。这种教训太多了,多少次我们都是蹉跎了岁月才回过头来追悔莫及。除了实验课好好准备好好做之外,许多学校都设有开放性实验室,供学生平时课余自觉来弄弄。珍惜这种资源和条件吧,工作后不会再有谁给你提供这种免费的午餐了。当然有些学校没有这么好的条件,或缺少器件,那同学们就在电脑上模拟一把试验平台吧,就是学好用好Multisim软件。Multisim是一种电路仿真软件,笔者上学时叫做EWB,后来随着版本更新,先后更名为Multisim2001、Multisim7、Multisim8。这个软件可模拟搭建各种模拟电路和数字电路,并可观测、分析电路仿真结果。大伙可以把模电、数电中学习的电路在这软件里面模拟一下,增加感性认识,实验前后也可把试验电路在软件里模拟,看跟实际试验结果有多大差别。可以说,只要你是学电的,这个小软件就是你上学时必须掌握的,对你的学习助益很大。另一个必须掌握的软件那就是protel了。上学时,从小学期的综合设计实验到毕业设计,最后都会要求你用Protel绘出设计的电路原理图和PCB版;工作后,Protel也是你必须掌握的基本技能,部分同学毕业后一两年内的工作,可能就是单纯地用这软件画板子。Protel的版本也走过了Protel98、Protel99、Protel99SE、ProtelDXP、Protel2004的发展道路。Protel99SE、ProtelDXP、Protel2004这三个版本现在用得最多,目前许多学校教学或公司内工程师使用的都还是Protel99SE,当然若作为新的自学者直接从Protel2004学起似乎好一些。综上所叙,作为最基本的EDA(电子设计自动化)软件,Multisim和Protel是所有电类学生在上学时必须掌握的。其他的如Pspice、Orcad、SYstemview、MATLAB、QuartusII等等,需根据不同的专业方向选学,或是在进入研究生阶段或工作后在重点学习使用。那Multisim和Protel好学么?入门应该问题不大,让师兄师姐指导指导,或是找一两本入门书看一看就OK了。这里推荐一本《电路设计与仿真——基于Multisim 8与Protel 2004》(也是杨欣编著,清华社出版),作为这两款软件的入门学习挺不错的,关键是一本书包含了两款软件学习,对穷学生来说比较划算,若是花钱买两本书分别去学这两个软件,就不值了,因为Multisim的入门不是很难。另用Protel画PCB电路板学问挺大的,有必要多看一些技术文档或是买一本高级应用类的图书。
2.大三大四(学习专业课,尝试应用)
进入大三,就涉及到专业课的学习了,本文只讨论以应用为主的专业课,其他如《电力系统分析》、《电机学》、《自控原理》、《信号与处理》、《高电压》、《电磁场》等等以理论和计算为主的专业课,咱就不多提了。当然这些课对你今后向研究型人才发展很重要,也都很让人头疼,要有建议也只能说是努力学、好好学,懂多少是到少(不过别指望全都懂),以后工作或接着深造用得着时再回过头来接着补接着学,那时有工作经验或接触多了有感性认识,可能学着就容易些了。
那以应用为主的专业课又有哪些呢?不同专业方向有不同的课程,很难面面俱到。这里先简单罗列一下,有微机原理与接口技术(也称单片机)、开关电源设计、可编程逻辑器件(PLD)应用、可编程逻辑控制(PLC)应用、变频器应用、通信电路、数字集成电路分析与设计、DSP、嵌入式等等。可能有同学要问:这么多东西,大学阶段要想都学好不容易吧?答案是不仅是不容易,而且是不可能。这些技术每一门展开来都是复杂的一套知识,可以说,你只要精通其中一门,就可以到外边找个不错的工作了。而且在大学阶段,这些课程也不是都要学的,而是针对不同专业方向选修其中几门(具体选哪几门,多研究研究你们各自的专业培养方案,多请教老师),学的时候争取能动基本用法即可,真正的应用和深入是要到工作后的;当然你若很勤奋或有天赋,能熟练掌握某一门达到开发产品的程度,那毕业后找个好工作就轻而易举了。到这里我们需要再明确一点:电子领域知识繁多、浩如烟海,所以一般搞硬件的公司都有较多的员工,一个研发项目是多人细致分工、共同完成的,所以我们经常会听到团队意识这个名词。因为一个人的能力有限,不可能掌握所有的知识。比如一些人专门负责搞驱动,一些人专门从事逻辑设计,一些人专门搞高频无线,一些人专门搞测试,一些人专门设计外壳,一些人专门设计电路板等等。
看到这里可能有的`同学头都大了:那说来说去大学阶段到底究竟应该学些什么呢?说实话写到这里我的头也大了,电子设计涉及方方面面的东西太多了,实在不是一篇文章甚至一本书能说得清楚的。所以我决定剔除这些生涩的课程名目,大致说一下我所认为的一个电类学生或是想要成为电子工程师的自学者应该掌握的基本的专业技能。
我认为:除了最初提到的电路分析、模拟电路、数字电路基础知识外,应了解并掌握电子元器件识别与选用指导、基本仪器仪表的使用、一些常用电路模块的分析与设计、单片机的应用、PLD的应用、仿真软件的应用、电路板设计与制作、电子测量与电路测试。
电子元器件的识别与使用就不用说了,这是元素级的基础,不过要想掌握好也并不容易,一些电子系学生毕业了,还认不出二极管、三极管实物、分不清电解电容的正负极等等,也不是没有的事。还是一句话,多进进实验室,多跑跑电子市场,多看看书。
仪器仪表的使用,大学的实验课中你至少会用过数字万用表,波形发生器、电源、示波器、小电机、单片机仿真机,至少要把这些东西的接线方法和用法弄懂吧。
常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分电路、积分电路,还有各种数字逻辑单元电路等等,只能说,大致了解吧,并学会怎么去查资料、查芯片查管脚。最基本的,做实验或课程设计中用到的各种芯片要弄熟。
单片机,这是应该掌握的。时下单片机种类繁多,但各大小企业用得最多的还是51系列单片机,而且价格便宜、学习资料也最全,故给自学者推荐。当然各学校开课讲的单片机型号会有所不同,没关系,学好单片机编程,学好了一种,再学别的单片机就容易了。
PLD(可编程逻辑器件),一种集成电路芯片,提供用户可编程,实现一定的逻辑功能。对可编程逻辑器件的功能设定(即要它实现什么功能)要有设计者借助开发工具,通过编写程序来实现,这跟单片机类似。开发工具可学习Altera公司的Quartus II软件(这是该公司的第4代PLD开发软件,第3代是MAX+PLUS II软件)。编程语言学习硬件描述语言VHDL或Verilog HDL。
仿真软件最基本的就是前面说的Multisim了,另外还可学MATLAB。其他的试专业情况选学或是工作后学。电路板设计与制作主要是用Protel软件辅助进行。这在前面已有介绍,读者应该也比较熟悉。
最后建议同学们积极与各类电子竞赛赛事,参加一场比赛一个项目做下来,电子设计的一个流程和各环节的基础知识就能串起来了,对知识的融会贯通及今后走向工作岗位都有莫大裨益。
以上这些东西我说得笼统,深入下去又是一大堆要学的东西。还是那句话,多啃书本、多实践!清华大学出版社有一套“电子电路循序渐进系列教程”是按照上面我所讲的那个思路出的,可惜还没出全,现在好像只有《单片机在电子电路设计中的应用》、《电路设计与制板——Proetl应用教程》、《仿真软件教程——Multisim和MATLAB》、《常用电路模块分析与设计指导》几本。另外听听你们老师的意见、师兄师姐的意见,问问他们应读些什么书。当然也不能尽听尽信,翻开一本书我想你先大致看看他讲得是否通俗,自己琢磨着能看懂几分?我想能有5分懂这本书就值得一看了,示自己现阶段的知识情况,太浅显的书不用看了,太深的书也不要去看,看得迷迷糊糊还打击自信心丧失了兴趣。
好了,就此停笔吧。本来是要写个书目推荐,可干瘪瘪的罗列一堆书目有什么意义?还是写下这些字,让同学们自己去思考去选择去深入吧,希望能对你们有所帮助。
最后一句老生常谈也是我的切肤之痛:大学四年会一晃而过,要学的东西太多太多,不要虚度光阴。及时当努力,岁月不待人!
以上是关于计算机科学与技术,大二了,我该学些啥呢,现在只会写几行代码的主要内容,如果未能解决你的问题,请参考以下文章