Send
Close Add comments:
(status displays here)
Got it! This site uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.nbsp; Note: This appears on each machine/browser from which this site is accessed.
Computer science: areas of study
1. Computer science: areas of study
This page is an introduction to some areas of study in computer science and related disciplines.
This page is just a start and will be developed more fully over time.
computer science
software engineering
computer engineering
information systems
information technology
2. Computer science
Computer science is the search for finite representations of (potentially) infinite objects.
more finite space is smaller
more finite time is faster
Computer science is the ordering of objects and events in space and time.
3. Software engineering
The business goal of software engineering is to deliver software that makes money.
The engineering goal of software engineering is to deliver software that is on-time, within budget, free of defects, etc.
correct for the customer
on-time
on-budget
4. Information systems
An
information system is a combination of
hardware, software, data, policies, and people
that work together to provide value in relation to cost.
5. Information technology
IT from ISCT as Information Systems and Computer Technology
change drives IT
6. MIS
Management information systems: "We can save money on postage if we presort our mailing lists by zip code. I know that there is some way that the computer can do that. But I have so many other things to do in my management position that I will have to get our computer information systems staff to follow through with the idea." (Management is typically concerned with the bottom line, profit. Profit is usually measured in terms of dollars and cents.)
7. CIS
Computer information systems: "Our mailing lists can be presorted by doing an analysis of our existing (database) software system, finding the appropriate module, writing code to call the system sort routine, and modifying it to get the proper information. If no sort routine exists, the system routine is too slow, or extensive modification is necessary, we will need to contact the software engineering team who developed our applications software."
8. SE
Software engineer: "Tell me the size of your typical list, how fast the sort routine needs to work, and any other information you think useful. I will find a routine, based on those developed by computer scientists, that is guaranteed to perform well for your application. Our team of software engineers will update the software to meet these new requirements, install it in your system, and update your current documentation."
9. CE
Computer engineer: A computer engineer is similar to the software engineer, but is primarily concerned with designing and building computer hardware.
10. CS
Computer scientist: "An insertion sort will correctly sort in O(n*n) time where n is the number of items to be sorted. Heapsort will work in O(n*ln(n)) time. Quicksort will beat heapsort, on average, but not in the worst case. I can prove all of these properties using an axiomatic semantics and algorithm analysis techniques. I can also adapt my solutions to unusual requirements using the same methods. I understand that people actually find these sort routines useful in practical applications."
11. Math
Mathematician: "Here is a list. We can define a partial ordering, so it is possible to sort the list. We are done. I can now go work on more interesting problems (which may have useful applications decades from now). Oh, you say you actually need to sort list. Well then, look at all possible permutations of the list (there may be trillions upon trillions of them), but at least one of them will be in sorted order. Pick one of them."
12. Human factors
human computer interface
user interface design
human computer interaction (psychology)
13. Security
14. Networking
networking
data communications
15. Databases
16. Web systems
client side web systems (HTML, CSS, JavaScript, etc.)
server side web systems (PHP, SQL, etc.)
17. Programming languages
compilers
grammars
programs that write programs
18. Graphics
graphics - low level
graphics - high level
computer games and animation
visualization techniques
19. Data science
applied statistics
machine learning
business analytics
data mining
20. Operating systems
systems design
operating systems
21. End of page