### person | computer user:

Computer scientist
* Most computer scientists work in fields
  - specialize fields
* Some computer scientists work mainly with applications programming.
* Some computer scientists work with electrical engineers
* are computer users
  - concerned with problem-solving
  - interested in comput ing
  - likely to have a poor understanding of areas in the social sciences
  - located in universities
* are more concerned with questions of efficiency and algorithm design
  - than just programmers
  - very interested in the efficiency of algorithms
  - workers
* can work as theorists, researchers, or inventors.
* design computer systems able to execute algorithms automatically.
* design, implement, test, and maintain a marketable product called software.
* do it by pointing
  - in polynomial time
  - on trees
  - with objects
* have names.
* invent algorithms that enable computers to do new things.
* know many techniques that can be generalized to widely varying circumstances.
* like to define functions recursively.
* maintain the infrastructure of communication networks such as the Internet.
* make use of a wide range of mathematics from logic and algebra to statistics.
* need knowledge.
* play a central role in developing such systems.
* raise social and design concerns about the information superhighway.
* solve problems quickly because the medium of programming is tractable.
* study speech-recognition, command languages and help systems
  - the branch of mathematics dealing with computation
* use discrete sets to represent data storage, languages and networks
  - terms like array for elements of , and the word vector is also used
* view neural networks as one of a family of architectures for machine learning.
  - nearly every sector of the U.S. economy
* write languages in which to express algorithms
  - programs, develop algorithms and design software

### person | computer user:

Programmer
- engineers
  - people, and people make mistakes, all the time
* create computer systems and design the applications that end users use
  - programs by writing in a programming language
* is an engineer
+ Web application: Computer science
  * Web applications are popular because most computer operating systems have web browsers. Programmers can easily change a web application. Users do not need to install any new software to see these changes.
  * Some programmers are famous because their software is used by many people. One example is Linus Torvalds, who created an important part of the Linux operating system.

### person | computer user | programmer:

System programmer
* design and make software like operating systems, networks and utility programs.
* maintain the software that controls an entire computer system.

Systems programmer
* have knowledge of the entire computer system.
* maintain the software that controls the operation of the entire computer system.

### person | computer user:

Software engineer
* Most software engineers work within software development organizations.
* are developer
  - professionals
  - some of the most sought after professionals in the world today
* build systems that fall apart all the time.
* design and develop both packaged and systems software
  - write programs for computers
* have different vocabulary
* is an engineer
* use many tools and practices in making software.
* work on problems
  - technical problems
+ Engineer, Who are they?: Technology :: Engineering :: Science occupations
+ Engineering, What is it?
+ Software engineering, Tools used in creating software: Software :: Computer science