What are the sub-fields in software engineering?
It was interesting reading the other two (as of this writing) answers. They give a different perspective than what I think of regarding subfields of software engineering. So what follows is my perspective which is more focused on application domains. I suggest reading the other answers to get these other perspectives. It just goes to show that there is more than one way to slice up software engineering.
- Artificial Intelligence
- Business and Finance
- Analytics
- Data mining
- Decision support systems
- Banking
- Commerce
- Trading
- Compilers, Parsers
- Communications and Networks
- Protocols
- Computer graphics and Image Processing
- Cryptography
- Cyber-security
- Hacking
- Counter-measures
- Database
- Embedded systems
- Automotive software
- Avionics software
- Control Systems
- Medical device software
- Telephony
- Telemetry
- Computer Aided Design (CAD)
- Games
- Information systems
- Logistics
- Manufacturing
- Computer Aided Manufacturing (CAM)
- Distributed Control Systems (DCS)
- Music
- Music sequencers
- Sound effects
- Music synthesis
- Numerical Analysis
- Office applications
- Word processors
- Spreadsheets
- Presentations
- Operating systems
- Robotics
- Signal processing
- Simulation
- Testing
- Visualization
- Voting
- World wide web
- Client-side
- Server-side
It should be noted that many of these sub-fields overlap. It should also be noted that there is no doubt that this list is incomplete.