CS topics

boorishadamantΤεχνίτη Νοημοσύνη και Ρομποτική

29 Οκτ 2013 (πριν από 3 χρόνια και 10 μήνες)

68 εμφανίσεις

1

Computer Science as
a Discipline

2

Science

3

Computer Science


Computer science is the study of computation,
encompassing all facets of problem solving
including:


the design and analysis of algorithms


the formalization of algorithms as programs


the development of computational devices for executing
those programs


Computer science shares common elements with
natural sciences, including rigorous approach to
understanding complex phenomena and solving
problems.


Computer science has been classified by some as
artificial science
, since the systems studied by
computer sciences are largely designed and
constructed by people.

4

Computer Science Themes

5

Subfields of Computer Science


In “Computer Science: The Discipline” Peter Denning
identifies 12 major subfields of computer science


here, we will see 14


separate OS from Networks


separate AI from Robotics


The common themes of computer science that influence
every sub
-
field:


hardware,


software, and


theory.


Hardware usually relegated to Computer Engineering


we still have


firmware


microcode

6

Algorithms and Data Structures


The study of methods for


solving problems,


designing and analyzing algorithms, and


effective use of data structures in software systems


Research potential:


new


algorithms


structures


better (more efficient wrt time and space)


interesting applications


compression


encryption


evaluation of complexity


proofs


computability


or non
-
computabilty


NP
-
completness

7

Architecture


The design and implementation of computing technology


the integration of effective hardware systems and


the development of new manufacturing methods


Research potential:


new architectures


architectural improvements


changing von Neumann machine?


quantum


optical


nanotechnology


perhaps just improving


caching


just in time


pre
-
fetching


hyper
-
threading

8

Operating Systems


The design and development of software and hardware
systems for managing the components of a computer


Research potential:


new OSes


new or improved OS components


file system


caching


synchronization


threading


system security


peripheral management


a replacement for an interrupt vector?


interesting device drivers


interesting re
-
configurations of Linux


system analysis

9

Computer Networks


The design and development of software and hardware
systems for


controlling,


operating, and


managing the components network of communicating computers


Research potential


protocols


network engineering


wireless


mesh networks


switcing theory


network management


network security


performance analysis


network computing (distributed)

10

Software Engineering


The development and application of methodologies for designing,
implementing, testing, and maintaining software systems


Research potential


methodologies


replacement for waterfall, extreme, agile?


requirement analysis and specifications


capture


track


design


xxx
-
based design


modeling tools: UML


interesting models


implementation


rapid development


configuration management


verification


testing methodologies


bug management


requirements


operations and maintenance


problem management

11

Artificial Intelligence


The study and development of software agents that solve complex
problems through seemingly “intelligent” behavior


Research potential:


contributions to the theory


symbolic AI


logic
-
based inference


expert systems


semantic nets


search


probabilistic systems


Bayes theory


probabilistic nets


biologically inspired systems


neural networks


genetic algorithms


swarm intelligence


immune systems


machine learning


natural language processing


applications


AI for Games


12

Robotics


The study and development of hardware systems exhibit human
-
like characteristics


The software side deals with


control


manipulators


actuators, effectors


perception


seeing


hearing


speaking, and


reasoning and thinking as well


but these are dealt with in AI


Research potential


control theory


pattern recognition


Hidden Markov Models


sensing


vision


speech


tectile


speech synthesis

13

Programming Languages


The design and implementation of languages that
allow programmers to express algorithms so that
they are executable on computers


Research potential


new paradigms


logic


O
-
O


agent
-
based


new languages


improvements to compilers


grammars


rapid development languages

14

Database & Information Retrieval


The organization and efficient management of large
collections of data


development of methods searching, and


recognizing patterns in the data


Research potential


new search algorithms


new paradigms


relational


O
-
O


pattern recognition


statistical analysis


clustering


data mining


search engines


15

Graphics


The design of software and hardware systems for representing
physical and conceptual objects visually such as with


images


video, or


three
-
dimensional holograms


Research potential


2D and 3D modeling


OpenGL replacement?


shadowing


light


perspective


animation


color management


compression techniques


image,


video,


sound

16

Human
-
Computer Interactions


The design, implementation, and testing of interfaces that
allow users to interact more effectively with computing
technology


Research potential


new interfaces


hyper
-
text


holography


virtual reality


replacement for


mouse


windows


menus


speech understanding


speech synthesis


GUI toolkits


usability test methodology


17

Computational Science


Explorations in science and engineering that
utilize high
-
performance computing, such as


modeling complex systems or


simulating experimental conditions


Research potential


new models


modeling methodology


parallel algorithms


simulation environment


analytical tools

18

Organizational Informatics


The development and study of management
process and information systems that support
technology workers and organizations


Research potential


more CIS or MIS than CS


models of organizations


improvement to models


workflow


risk management


investment management

19

Bioinformatics


The application of computing methodologies and
information structures to biological research, such
as the characterization and analysis of the human
genome


Computational Biology


another term


Research potential


AMGEN!


anything to do with genetics research


applications in biotechnology


genetic engineering

20

Resources


ACM


http://www.acm.org/


Wikipedia


http://www.wikipedia.com/


Library


http://www.library.csuci.edu/subjects/compsci/


Any good CS department at a research university


for example:
http://www
-
cs.stanford.edu/research/


I will post this information on our Web site:


http://www.cs.csuci.edu/

21

Theory
-

Turing Machines


Alan Turing developed the concept of a computing
machine in the 1930s


A Turing machine, as his model became known,
consists of a control unit with a read/write head that
can read and write symbols on an infinite tape


Despite their simplicity, Turing machines can be
designed to compute remarkably complex functions.
In fact, they are generally thought to be as powerful
(in theory) as any possible computer.


Finding out what they
can

do is half the fun of studying
computability. Finding out what they
can't

do is the other
half.

Try: http://wap03.informatik.fh
-
wiesbaden.de/weber1/turing/tm.html

22

Turing Machines


Why is such a simple machine
(model) of any importance?


It is widely accepted that
anything that is intuitively
computable can be computed
by a Turing machine


If we can find a problem for
which a Turing
-
machine
solution can be proven not to
exist, then the problem must
be unsolvable

23

Artificial Intelligence


In 1950 Alan Turing predicted that by the end of the
20th century, the intelligence exhibited by
programmed machines would rival that of humans