Computer scientist vs computer engineer vs computer technician. Scientists deal more with theory and research than engineers and engineers in turn deal more with the application of theory and research than scientists. Thinking of R&D the scientists are the R and the engineers are the D. Technicians are specialists who are the "doers" or maintainers following instructions given by scientists and engineers. To add confusion, many times the titles containing the word scientist or engineer are interchanged and seem to have very little difference in meaning. This type of interchange can be seen in job listings and also in academic courses and programmes. As an example. Think of an hospital, the researching doctors are the ones who are experimenting on animals (and people) are the "scientists". The doctors treating and curing patients are the "engineers" and then the nurses are the "technicians" who are following orders and directives given by the doctors. The computer scientist should be more skilled in the software side than the computer engineer while the computer engineer should be more skilled on the hardware side than the computer scientist. The computer technician would be someone maintaing computers, such as doing fresh installs, cleaning viruses, changing hardware etc. To make my explanation clear, the computer engineer is a combination of electrical engineer and computer scientist.
Computational science (or numerical analysis) is a combination of mathematics and computer science. At some universities, courses in numerical analysis are placed under the department of mathematics while at some other universities, courses in numerical analysis is placed under the department of computer science. The numerical analyst is the expert in the study of approximate but accurate solutions to hard problems. A pure mathematician (or pure statician) may be satisfied with a proof that a unique solution to a problem exists without solving the problem; a numerical analyst goes even further to develop a procedure for actually computing the solution in a reasonable time and within a specified accuracy. A computational engineer is a combination of mathematician and a computer engineer. Sometime CAD/CAM/CAE engineers are said to be computational engineers but pherhaps they should be called computational technicians (or mechanical engineers?) since there is no guarantee they posses versatile good skills in mathematics. To be able to use a mathematics program is not the same as being mathematician. Data Science is an inter-disciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from both structural and unstructured data. Data science is related to data mining, machine learning and big data. The term data scientist itself is already misused in broad sense. Actually, someone extensively working with nothing but Excel may be called data scientist while on the other hand the engineers building advanced speech to text recognition software may also be called data scientists.
Below on this page I explain the conflicting difference in terminology used by data scientists and numerical analysts. Myself I prefer to use the terminology used by numerical analysts but at times I may mix the terminology. Others who tend to use the same terminology as data scientists are economists, other data science professionals, staticians and machine learning scientists/engineers. Others who tend to use the same terminology as numerical analysts are mathematicians and most engineers. Some software developers, who barely deal with mathematics or statistics, have a third terminology which I will not discuss.
Data are characteristics or information, usually numerical, that are collected through observations. In a more technical sense, data is a set of values of qualitative or quantitative variables about one or more objects. Although the terms "data" and "information" are often used interchangeably, these terms have distinct meanings. In some popular publications, data is sometimes said to be transformed into information when it is viewed in context or in post-analysis. In academic treatments of the subject, however, data are simply units of information. Data is measured, collected, processed, reported, and analyzed, whereupon it can be visualized using graphs, images or other analysis tools. Remark that processed or analyzed data is also data.
Example of number pairs of data is (0,1), (1,1), (2,1), (3,4), (4,3).
A parameter is any characteristic that can help in defining or classifying a particular behavior or system. When a system is modeled by equations, the values that describe the behavior or system are called parameters. In business a populat parameter to compute is the KPI. Parameters do not normally change as often as other variables. Parameters may also be constant. Example 2: In the linear equation y=kx+m the letters k and m are parameters. The letter x is a variable and the letter y is a value. Parameters are usually (but not always) held fixed while variables are allowed to change. The variables are used as input. The values are the output to corresponding input.
To the data scientist and numerical analyst the interpretation of what is analysis may be completely different. Data scientists may say they analyze data to obtain parameters, for example they analyze data to obtain KPI parameters. In the eyes of a numerical analyst this is not necessary "true" analysis since to estimate parameters is a just a mere result from computing or processing underlying data. To the numerical analyst, analysis is the process to derive equations and formulas usually without use of data. For example if one uses pen and paper to construct, derive and solve equations and formulas, then it is analysis. The process of inserting data into equations and formulas to obtain some output is not analysis to the numerical analyst, that process is computing. To explain the two separate interpretations of analysis in a simple way, let us use the data in Example 1 and then assume the equation in Example 2 is valid. To the data scientist, estimating the parameters k and m to the linear equation y=k*x+m is analysis. The data scientist might find k=1 and m=0. But to the numerical analyst, estimating the parameters is just some computation. To the numerical analyst the analysis is to derive the equation y=k*x+m possibly with means without the data given in Example 1. The numerical analyst may after finishing the analysis estimate the parameters to k=1 and m=0 by the same approach as the data scientist. What numerical analysis calls computation the data scientist calls analysis. The data scientist says he analyzed the data to find k=1 and m=0. The numerical analysts (maybe) says he computed from the data to find k=1 and m=0. The data scientist call the use of arithmetics for analysis. The numerical analyst calls the derivation of the artithmetics for analysis. Derivation of arithmetics does not always require data. Many times, analysis (in mathemtical sense) may be performed without use of data. For example Albert Einstein used analysis to derive the theory of relativity and Isaac Newton used analysis to derive calculus and laws of motions. To the numerical analyst, analysis is the branch of mathematics dealing with limits and related theories, such as differentiation, integration, measure, infinite series, and analytic functions. Either case, data scientist or numerical analyst, by use of analysis they build models to represent reality. In the numerical analysts terms, analysis is the hard part and computations are usually the easy parts. However, computating can be hard if there is insufficient computing resources.
To the data scientist and numerical analyst the interpretation of what is model may be completely different. To the data scientist, change of parameter values changes the model. But to the numerical analyst, the change of parameters does not change the model. Changes in parameters for a numerical analyst is minor, so to truly change a model, the whole equation has to be changed. Newton and Einsten described the world differently, their difference in explaining the world are not in some parameters, their explanations used completely different set of equations to model the world. Further, without data, Einstein was able to model gravitational waves 100 years before his time, and this he did by analysis and modeling without data. This is what I want to call for analysis, not the plug-in some input data to be crunched and then see the output data which is a result from a mere computation. For both data scientists and numerical analysts, by analysis one models the world. Analysis is the tool to derive a model and model is a representation of the world. To the data scientist (and numerical analyst) it may be tricky to find correct computing algorithm. Anlysis can also be used as tool to accept or reject a model as well as analysis can be used for improving some existing model into some better model. Example 3: To the data scientist, y=x+1 and y=2x+1 are different models. To the numerical analyst, y=kx+m and y=ax+b/x are different models.
By examples in Machine Learning we can explain conflicting interpretations between the data scientists and the numerical analysts. Assume we have an artificial neural network, with 5 input nodes, a single hidden layer of 10 nodes and then 4 output nodes. The first set of parameters (actually called weights) in the artificial neural network describe the controls for a self-driving toy car and the second set of parameters in the very same artificial neural network describe the controls for an air conditioner in a large mall. To the data scientist, the first set of parameters and second set of parameters describe different models. It is the same algorithm used for radically different purposes. As a numerical analyst, I see no difference, I say it is the same model used for different different purposes, their only difference is that they have different parameters. To be a different model in sense of numerical analyst the algorithm must be different. For example, the first network and second network may have different activation functions in their nodes, then clearly they are different algorithms and therefore also different models.
I am a computational engineer or numerical analyst with interdisciplinary skills and interest in Data Science. I have worked with other developers and other data scientistsand and sometimes it was hard to explain situations for them. The developer may think a model is some database tables. Also a software deveoper may run algorithms without having a clue what is working under the hood in contrast the numerical analyst may have potential to create a new framework. The data scientist may hestiate to change or test different algorithms and may not understand the concept of changing models in a numerical analysts perspective. Currently I do not have any experience in any framwork (except using R) but to know how to use some framework, for example Tensorflow, without skills in mathematical analysis and mathematical modeling for training artificial neural networks possibly is a search for a needle in the hay stack.