Transwiki:Career domains in computer science

The knowledge developed by academic computer science (CS) is applied to various non-academic situations to arrive at systems that help humans perform tasks that were either out of their reach for being too complex or the tasks that are repetitive in nature. Techniques developed in CS and software engineering are being put to use in the following areas.

== Domain listing ==

SCADA (Supervisory Control and Data Acquisition)
Automation of industrial manufacturing processes for better precision, optimal resource usage for production, better and consistent product yields, mechanical control in environments too hazardous for human operators. SCADA software products collect data (control parameters) from the sensors in the actual field. Based on this input and the control logic specified by a process engineers, certain actions are taken by manipulating certain preidentified controlled parameters to achieve the results desired by the manufacturing process. The software provides means to interface known as well as new data scanners, means to specify the control logic, GUI for human interactions and overall configuration of numerous control applications that could be developed using the software. Engineers from Computer Science stream have certain advantages - such as knowledge of internal architecture of microcontrollers as well as microprocessors. Knowledge of lower level programming languages like Assembly and higher level languages like C and C++, C#.
 * How CS helps?
 * Challenges to consider
 * 1) SCADA in control engineering has a long history of evolution. Training and getting work experience is not very easy in most of the countries.
 * 2) Control Systems like Distributed Control System (DCS) also plays a major role in automation.
 * 3) Knowledge of an array of various programmable logic controllers (PLCs), production processes, quality measures, communications protocols like Modbus, Profibus, CAN etc. is essential.
 * 4) Most of the projects have to be implemented onsite at shop floor (factory floor). So travelling is an inevitable part of this career option.

Embedded systems
Any computing system that controls electronics hardware for delivering specific, predetermined results. Characteristics that distinguish embedded systems from the conventional workstation/ personal computers are: Techniques of writing time and memory space efficient programs by employing low foot print data structures and algorithms.
 * most of these systems have restricted resources such as processor power and memory. These constraints impose stricter limitations on the way software could be written and debugged.
 * paradoxical requirements of real time performance for timely response for given limited resources. Delayed response by few seconds from an inventory management software would not matter as much as nanosecond response delays in an aeroplane flight control system.
 * once commissioned to a task they are designed for, they cannot be customized further to perform other tasks.
 * lack of a typical keyboard and a display monitor for the systems that do not need human intervention. For those that do need, there are alternate means of input (jog wheel on an iPod) and output (tiny LCDs on PDAs). They can be found in all forms--miniature form factors such as an iPOD, cell phone to as large as space shuttle control.
 * How CS helps?
 * Challenges to consider

Multimedia
This is quite a wide field encompassing creation of information contents, storage, transmission/ distribution and rendering in various mediums. The information contents could be consisting of one or more of text, audio, static images and video.

The field includes digital signal processing. Specialized techniques in information capture: WYSIWYG text and graphics editors, digital signal processing (DSP) for compression (encoding) of audio, image, and video data in digital forms such as MPEG for efficient storage and transmission. Multimedia oriented content distribution systems: video on demand. Techniques and algorithms in computer graphics for rendering the images, video and graphics. DSP based decoders for high fidelity audio playback.
 * How CS helps?
 * Challenges to consider

Telecommunications

 * How CS helps?
 * Challenges to consider

Computer networks

 * How CS helps?
 * Challenges to consider

Computer network security

 * How CS helps?
 * Challenges to consider

Business applications - BFSI (banking, finance and insurance)
Software systems that maintain database of financial accounts of an organization's customers. Data retrieval and presentation functions such as account statement, billing are provided to support the pre-defined business processes. These systems make use of ready-to-use database systems for efficient data storage and retrieval. Based on specified requirements, data entry forms are provided by a user interface front-end. Data reports are generated using SQL queries on the backend database.
 * How CS helps?
 * Challenges to consider

Business applications - retail

 * How CS helps?
 * Challenges to consider

Business applications - CRM (customer relationship management)
Most businesses rely today on CRM databases to store large amounts of information about customers and potential customers. Software Engineers now develop these large databases that can be as few as several hundred records to several million records depending on the size of the company using the database. People with a Computer Science background also help in integrating these applications with sales and customer service practices to help businesses increase sales and customer retention.
 * How CS helps?
 * Challenges to consider

Business applications - business processes and practices

 * How CS helps?
 * Challenges to

Knowledge contents management
Software products that help people to create, manipulate and present their knowledge/ data. For example the business productivity enhancement suites offered by Adobe and Microsoft. Efficient techniques in internal data representation, advanced GUI for presentation, seamless device Plug-n-play techniques for integrating various media contents, use of advanced access control techniques for enforcing digital rights of the contents provider, complex logic that enables real time collaboration and workflow of information workers.
 * How CS helps?
 * Challenges to consider