Fields of Computers Science
What Work is Going Here?
Here in the Computer Science department at the
Fields of Computers Science
Theory
Computer science theory is often highly mathematical, concerning itself with questions about the limits of computation. Some of the major results in CS theory include what can be computed and how fast certain problems can be solved. Some things are simply imposible to figure out! Other things are merely difficult, meaning they take a long time. The long-standing question of whether "P=NP" lies in the realm of theory.
A subsection of theory is algorithm development. For instance, theorists might work to develop better algorithms for graph coloring, and theorists have been involved in improving algorithms used by the human genome project to produce faster algorithms for predicting DNA similarity.
Cryptography is another booming area of the theory section of computer science, with applications from e-commerce to privacy and data security. This work usually involves higher-level mathematics, including number theory. Even given all of the work in the field, algorithms such as RSA encryption have yet to be proven totally secure.
Work in theory even includes some aspects of machine learning, including developing new and better learning algorithms and coming up with bounds on what can be learned and under what conditions.
Hardware
Computer hardware deals with building circuits and chips. Hardware design lies in the realm of engineering, and covers topics such as chip architecture, but also more general electrical engineering-style circuit design.
Networking
Networking covers topics dealing with device interconnection, and is closely related to systems. Network design deals with anything from laying out a home network to figuring out the best way to link together military installations.
Networking also covers a variety of practical topics such as resource sharing and creating better protocols for transmitting data in order to guarantee delivery times or reduce network traffic.
Other work in networking includes algorithms for peer-to-peer networks to allow resource detection, scalable searching of data, and load balancing to prevent network nodes from exploiting or damaging the network.
Networking often relies on results from theory for encryption and routing algorithms and from systems for building efficient, low-power network nodes.
Graphics
The field of graphics has become well-known for work in making amazing animated movies, but it also covers topics such as data visualization, which make it easier to understand and analyse complex data. You may be most familiar with the work in computer graphics because of the incredible strides that have been made in creating graphical 3D worlds!
Programming Languages
Programming languages are the heart of much work in computer science; most non-theory areas are dependent on good programming languages to get the job done. Programming language works focuses on several topics. One area of work is optimization--it's often said that it's better to let the compiler figure out how to speed up your program instead of hand-coding assembly. And these days, that's probably true because compiler optimizations can do amazing things.
Proving program correctness is another aspect of programming language study, which has led to a class of "functional" programming languages. Much recent work has focused on optimizing functional languages, which turn out to be easier to analyze mathematically and prove correct, and also sometimes more elegant for expressing complex ideas in a compact way.
Other work in programming languages deals with programmer productivity, such as designing new language paradigms or simply better implementations of current programming paradigms (for instance, one could see Java as an example of a cleaner object-oriented implementation than C++) or simply adding new features, such as garbage collection or the ability to create new functions dynamically, to languages and studying how this improves the programmer's productivity.
Recently, language-based security has become more interesting, as questions of how to make "safer" languages that make it easier to write secure code.
4:05 AM
|
Labels:Bluetooth,Computer Peripherals
Computer Science Engineering
|
This entry was posted on 4:05 AM
and is filed under
Computer Science Engineering
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
0 comments:
Post a Comment