Applied Computer Science aims at identifying certain Computer Science concepts that can be used directly in solving real world problems like in below groups. [1] Also, STEM industry job search powerhouse Glassdoor released its study of the 50 best jobs in America for 2017. The majority of the list involves STEM-related fields (short for Science, Technology, Engineering, and Math), with a heavy emphasis on computer science at the top. Four out of the top five spots went to Data Scientist, DevOps Engineering, Data Engineer, and Analytics Manager.

An application program (or just application) is any program designed to perform a specific function directly for the user or, in some cases, for another application program. Examples of application programs (pictured) include word processors; database programs; Web browsers; development tools; drawing, paint, and image editing programs; and communication programs, and more. Items in the below list is also an example of application.

Artificial Intelligence

Artificial Intelligence (see also Intelligent Agent Framework) is the branch of computer science concerned with making computers behave like humans. It is a branch of computer science aims to or is required to synthesise goal-orientated processes such as problem-solving, decision-making, environmental adaptation, learning and communication which are found in humans and animals. More about: Artificial Intelligence Labaratory, Outline, Online Lecture, Applications of artificial intelligence

Braches of Artificial Intelligence: Robotics, Machine learning, Computer vision, Image processing, Pattern recognition, Cognitive science, Data mining, Evolutionary computation, Information retrieval, Knowledge representation and reasoning, Natural language processing, Medical image computing

Computer Elements and Architecture, Computer Engineering

What is Engineering?

Engineering is the practical application of science and math to solve problems, and it is everywhere in the world around you. From the start to the end of each day, engineering technologies improve the ways that we communicate, work, travel, stay healthy, and entertain ourselves.

Engineers are problem-solvers who want to make things work more efficiently and quickly and less expensively. From computer chips and satellites to medical devices and renewable energy technologies, engineering makes our modern life possible. With the rapid advancement of Technology many new fields are gaining prominence and new branches are developing such as Computer Engineering, Software Engineering, Nanotechnology, Systems Engineering and etc.

What is Computer Engineering?

Computer engineering (more about: Outline of computer engineering, About Computer Engineering ) is a discipline that integrates several fields of electrical engineering and computer science required to develop computer hardware and software.
There are two major specialties in computer engineering: software engineering and hardware engineering (subcategory of Computer architecture).

Computer Engineering is also called Electronic and Computer Engineering, or Computer Systems Engineering. Computer engineers analyze and evaluate computer systems, both hardware and software. They might work on systems such as a flexible manufacturing system or a "smart" device or instrument. Computer engineers often find themselves focusing on problems or challenges that result in new "state-of-the-art" products, which integrate computer capabilities. They work on the design, planning, development, testing, and even the supervision of manufacturing of computer hardware-including everything from chips to device controllers.[2]

More links: CE?, SE?, Innovations of Software and System Engineering, Computer Integrated Manufacturing, Computer Aided Engineering, Computer Engineering Handbook, System Engineering Handbook, System Engineering Fundamentals

What is a Computer Architecture?

A computer architecture is a detailed specification of the computational, communication, and data storage elements (hardware) of a computer system, how those components interact (machine organization), and how they are controlled (instruction set). A machine's architecture determines which computations can be performed moste efficiently, and which forms of data organization and program design will perform optimally.

Computer architecture (simple, categories ), or digital computer organization, is the conceptual design and fundamental operational structure of a computer system. It focuses largely on the way by which the central processing unit performs internally and accesses addresses in memory. The field often involves disciplines of computer engineering and electrical engineering, selecting and interconnecting hardware components to create computers that meet functional, performance, and cost goals. For more about Computer Architecture, study them as below subgroups. [1]

Computer graphics and visualization

Computer graphics (computer science) is the study of digital visual contents, and involves synthese and manipulations of image data. The study is connected to many other fields in computer science, including computer vision, image processing, and computational geometry, and is heavily applied in the fields of special effects and video games. Visualization (computer graphics) or visualisation is any technique for creating images, diagrams, or animations to communicate a message. Information graphics or infographics are graphic visual representations of information, data or knowledge intended to present complex information quickly and clearly. [1] Also there are Computer graphics which are graphics created using computers and the representation of image data by a computer specifically with help from specialized graphic hardware and software.
See also: What is Computer Graphics?, Computer graphics and visualization, Visual Vision , Laboratory, Society

Computer Security and Cryptography

Computer security (also known as cybersecurity or IT security) is information security as applied to computers and computer networks. Computer security is a branch of computer technology, whose objective includes protection of information from unauthorized access, disruption, or modification while maintaining the accessibility and usability of the system for its intended users.
Cryptography the study of transforming information in order to make it secure from unintended recipients or use. It is the practice and study of hiding (encryption) and therefore deciphering (decryption) information. [1]
See also: What is Computer Graphics?, Computer Security and Cryptography Group, More Links, Cryptography and Network Security, PDF, Slide

Java security technology

Java security technology includes a large set of APIs, tools, and implementations of commonly used security algorithms, mechanisms, and protocols. The Java security APIs span a wide range of areas, including cryptography, public key infrastructure, secure communication, authentication, and access control. Java security technology provides the developer with a comprehensive security framework for writing applications, and also provides the user or administrator with a set of tools to securely manage applications. See also: Java Security Technology and Computer Security and Cryptography.

Computational Science

Computational science (also scientific computing or scientific computation) is concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems [2]. The process of applying an algorithm to an input to obtain an output is called a computation.
Not to be confused Computational Science with Computer Science. E.g. In Mathematics and Computer Science, symbolic-numeric computation is the use of software that combines symbolic and numeric methods to solve problems. See also: Theory of Computation, Computational Science and Engineering
For more study: Categories of Computational Science, International Journal

  • Bioinformatics - Bioinformatics is the application of computer technology to the management of biological information. Computers are used to gather, store, analyze and integrate biological and genetic information which can then be applied to gene-based drug discovery and development.
    See also:, Bioinformatics Toolbox in Matlab, Journal , Online Book, biology-informatics
  • Cognitive Science - Cognitive Science is an interdisciplinary field that has arisen during the past decade at the intersection of a number of existing disciplines, including psychology, linguistics, computer science, philosophy, and physiology. The shared interest that has produced this coalition is understanding the nature of the mind.
    See also:, Software, Celebrities
  • Computational Chemistry - Computational chemistry is simply the application of chemical, mathematical and computing skills to the solution of interesting chemical problems. It uses computers to generate information such as properties of molecules or simulated experimental results.
    See also: computational-chemistry, Overview, VCC Labaratory , Online Book CCL.Net
  • Computational Neuroscience - Computational neuroscience is a diverse and interdisciplinary science. It combines many fields, such as cognitive science, electrical engineering, physics, and computer science into one cohesive field. Its aim is to explain a range of biological, brain, and neural system-related phenomena from a multidisciplinary standpoint. The information gained from such studies could be useful in the future of various medical fields. The overall, supreme goal of computational neuroscience is to explain the phenomenon of consciousness.
    See also: More Info, References, Software, Online Book
  • Computational Physics - Computational Physics is designed to provide direct experience in the computer modeling of physical systems. Its scope includes the essential numerical techniques needed to "do physics" on a computer. Each of these is developed heuristically in the text, with the aid of simple mathematical illustrations.
    See also: CP, A Book, Lecture, Journal, Online Book
  • Numerical Algorithms - Numerical Algorithms presents original and review papers on all aspects of numerical algorithms: new algorithms, theoretical results, implementation, numerical stability, complexity, parallel computing, subroutines and applications.
    See also: Methods, General Info, Lecture, Journal, NAIS
  • Symbolic Mathematics - Also called formula manipulation or algebraic computation. Symbolic computation refers to the automatic transformation of mathematical expressions in symbolic form, hence in an exact way, as opposed to numerical and hence limited-precision floating-point computation. Typical operations include differentiation and integration, linear algebra and matrix calculus, operations with polynomials, or the simplification of algebraic expressions.
    See also: Symbolic Matlab, Symbolic Mapple, Journal , Wolfram , SC Group Online Book, Numeric vs Symbolic Computation

Software Tools used in Computational Science

See also: • Software Development ToolsJava Developer's Tools

Databases and Information Retrieval

A database is intended to organize, store, and retrieve large amounts of data easily. Digital databases are managed using database management systems to store, create, maintain, and search data, through database models and query languages. One of major research concentration in the unit (e.g. department) is concerned with the management, querying and analysis of large data sets, and includes the areas of database systems, data mining, information retrieval, and web search and exploration. Work is performed in several labs and research groups, with emphasis on algorithmic and architectural issues [Ref.].

Health Informatics

Health Informatics (see category) in computer science deals with computational techniques for solving problems in health care. Health informatics (also called health information systems, health care informatics, healthcare informatics, medical informatics, nursing informatics, clinical informatics, or biomedical informatics) is a discipline at the intersection of information science, computer science, and health care. [1]

HISA (Health Informatics Service Architecture) is a standard that provides guidance on the development of modular open information technology (IT) systems in the healthcare sector. To provide the safe and effective delivery of medical care, virtually all clinical staff use a number of front-line Health Informatics Tools in their day-to-day operations. The need for standardization and refined development of these tools is underscored by the HITECH Act and other efforts to develop electronic medical records.
See also: Health Informatics, Tutorials 2, Cource, Medical Informatics

Scientific and Medical Research Software Tools

Concurrent, Parallel and Distributed Systems

Concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other. A number of mathematical models have been developed for general concurrent computation including Petri nets, process calculi and the Parallel Random Access Machine model, e.g. Locking, atomic variables, Fork/Join, and what to expect in Java 8.
A distributed system extends the idea of concurrency onto multiple computers connected through a network. Computers within the same distributed system have their own private memory, and information is often exchanged amongst themselves to achieve a common goal. [1]
See also: Patterns for Concurrent, Parallel, and Distributed Systems, Parallelity, Publications, Wiki, Concurrent and Distributed Systems.

Concurrency in JAVA

The Java platform is designed from the ground up to support concurrent programming, with basic concurrency support in the Java programming language and the Java class libraries. Since version 5.0, the Java platform has also included high-level concurrency APIs. This lesson introduces the platform's basic concurrency support and summarizes some of the high-level APIs in the java.util.concurrent packages.

Information Science

Information science (or information studies) is an interdisciplinary field primarily concerned with the analysis, collection, classification, manipulation, storage, retrieval, movement, and dissemination of information. Not to be confused with information theory.
For more study: Information Sciences, Journal of Information Science


  1. 1. Wikipedia
  2. 2. Computational Science
  3. Harvard Computer Science
  4. Free Online Applied Computer Science Coursese