1
NARS for Computing
and Information
National Academic
Reference
Standards (NARS)
For
COMPUTER SCIENCE
October 2010
1
st
Edition
2
NARS for Computing
and Information
NARS CHARACTERIZATION OF
COMPUTER SCIENCE
1
.1 Introduction
Computer science spans a wide range, from its theoretical and algorithmic
foundations t
o World Wide Web and its applications, computer vision, intelligent
systems, bioinformatics,
high performance computing
, distributed systems, Object

oriented programming
, grid and cloud computing
and other exciting areas.
The work of computer scientists
could be fallen into three categories.
Design and implement software. Computer scientists take on challenging
programming jobs.
Supervise other programs by keeping them aware of new approaches.
Devise new ways to use computers. Progress in the CS areas
of
networking, database, and human

computer

interface enabled the
development of the World Wide Web.
Now CS researchers are working with scientists from other fields to make robots
become practical and intelligent aides, to use databases to create new k
nowledge,
and to use computers to help decipher the secrets of our DNA. They develop
effective ways to solve computing problems. For example, computer scientists
develop the best possible ways to store information in databases, send data over
networks, and
display complex images. Their theoretical background allows them
to determine the best performance possible, and their study of algorithms helps
them to develop new approaches that provide better performance.
Hardware
Software
Software
Applicati
ons
Applications
Organization
Organizati
ons
Computer
Systems or
engineering
Information
Systems
Software
Engineering
Information
Technology
Computer
Science
3
NARS for Computing
and Information
1
.2
The
A
ttribut
es of
Computer Science
G
raduate
The Computer Science program is designed to provide the student with the
foundations of the discipline as well as the opportunity for specialization. After
successfully completing the Computer Science
program,
the graduate
should be
able to:
1.
Demonstrate knowledge and competence in fundamental areas of
computer science such as: algorithms, design and analysis, computational
theory, computer architecture and software based systems.
2.
Apply mathematical foundations, algorithmic
principles, and computer
science theory in the modeling and design, implementation, evaluation
and
evolution
of computer

based systems.
3.
Apply knowledge of mathematics
and
science to real world problems; as
well as to analyze and interpret data.
4.
Demonstrat
e the analytic skills necessary to effectively evaluate the
relative merits of software and computer systems, and algorithmic
approaches.
5.
Understand and apply a wide range of principles and tools of software
engineering, such as design methodologies, choi
ce of algorithm, language,
software libraries and user interface technique.
6.
Understand and apply a wide range of principles and tools of
natural
language processing and data mining
7.
Have a sol
id understanding of
the
used
concepts
in computer science to
be a
ble to pursue further learning, whether as graduate students or on their
own.
8.
Demonstrate an understanding of algorithms and data structures,
computer organization and architecture, programming language concepts,
compilers,
networks, artificial intelligenc
e, graphics, human computer
interfaces, and databases, and identify and define the computing
requirements for its solution.
9.
Design, implement, and evaluate a computer

based systems, process,
component or program.
10.
Use knowledge and understanding in the mode
ling and design of
computer

based systems in a way that demonstrates comprehension of
the tradeoff involved in design choices.
1
.4. National Academic Reference Standards for Computer Science
1
.4.1 Knowledge and Understanding
In addition to
Knowledge and
Understanding
of computing
and information
graduate, the
Computer Science
graduate
should be able to
:
4
NARS for Computing
and Information
1.
Understand the essential mathematics relevant to computer science.
2.
Use high

level programming languages.
3.
Demonstrate basic knowledge and understanding of
a core of analysis,
algebra, applied mathematics and statistics.
4.
Interpret and analyzing data qualitatively and/or quantitatively.
5.
Know and understand the principles and techniques of a number of
application areas informed by the research directions of th
e subject, such
as artificial intelligence,
natural language processing, data mining,
databases and computer graphics.
6.
Show a critical understanding of the principles of
artificial intelligen
ce
,
image, and pattern recognition.
7.
Understand
the
fundamental
topics in Computer Science, including
hardware and software architectures, software engineering principles and
methodologies, operating systems
,
compilers,
parallel and distributed
computing,
systems
and software tools.
8.
Select
advanced topics to provide a
deeper understanding of some
aspects of the subject, such as hardware systems design, object

oriented
analysis and design, and artificial intelligence
, and parallel and concurrent
computing
.
1
.4.2 Intellectual Skills
In addition to Intellectual of computi
ng
and information
graduate, the
Computer
Science
graduate
should be able to
:
1.
Define traditional and nontraditional problems, set goals towards solving
them, and. observe results.
2.
Perform comparisons between (algorithms, methods, techniques...etc).
3.
Perform
classifications of (data, results, methods, techniques, algorithms..
etc.).
4.
Identify attributes, components, relationships, patterns, main ideas, and
errors.
5.
Summarize the proposed solutions and their results.
6.
Restrict solution methodologies upon their re
sults.
7.
Establish criteria, and verify solutions.
8.
Identify a range of solutions and critically evaluate and justify proposed
design solutions.
9.
Solve computer science problems with pressing commercial or industrial
constraints.
10.
Generate an innovative desi
gn to solve a problem containing a range of
commercial and industrial constraints.
5
NARS for Computing
and Information
1
.4.3 Professional and Practical Skills
In addition to Professional and Practical Skills of computing
and information
graduate, the
Computer Science
graduate
should be abl
e to
:
1.
Use appropriate programming languages, web

based systems and tools,
design methodologies, and
knowledge and
database systems.
2.
Communicate effectively by oral, written and visual means.
3.
Perform independent information acquisition and management, usin
g the
scientific literature and Web sources.
4.
Prepare and present seminars to a professional standard.
5.
Perform independent information acquisition and management, using the
scientific literature and Web sources.
6.
Prepare technical reports, and a disserta
tion, to a professional standard;
use IT skills and display mature computer literacy.
7.
Specify, design, and implement computer

based systems.
8.
Evaluate systems in terms of general quality attributes and possible
tradeoffs presented within the given problem
.
9.
Apply the principles of effective information management, information
organization, and information

retrieval skills to information of various kinds,
including text, images, sound, and video.
10.
Apply the principles of human

computer interaction to the ev
aluation and
construction of a wide range of materials including user interfaces, web
pages, and multimedia systems.
11.
Identify any risks or safety aspects that may be involved in the operation of
computing equipment within a given context.
12.
Deploy effectiv
ely the tools used for the construction and documentation of
software, with particular emphasis on understanding the whole process
involved in using computers to solve practical problems.
13.
Prepare technical reports, and a disserta
tion, to a professional s
theory and experiment, as a crucial third mode of scientific investigation and
engineering design. Aerospace, automotive, biological, chemical, semiconductor,
and other industrial sectors now rely on simulation for technical decision support.
For governme
nt agencies also, scientific computing has become an essential
support for decisions on resources, transportation, and defense. Finally, in many
new areas such as medicine, the life sciences, management and marketing, and
finance, techniques and algorithms
from computational science are of growing
importance.
The field of scientific computing combines simulation, visualization, mathematical
modeling, programming, data structures, networking, database design, symbolic
computation, and high performance comput
ing with various scientific disciplines.
6
NARS for Computing
and Information
Hence, scientific computing may be defined as a broad multidisciplinary area that
encompasses applications in science/engineering, numerical analysis, and
computer science. Computer models and computer simulations h
ave become an
important part of the research repertoire, supplementing (and in some cases
replacing) experimentation. Going from application area to computational results
requires domain expertise, mathematical modeling, numerical analysis, algorithm
devel
opment, software implementation, program execution, analysis, validation
and visualization of results.
Scientific computing involves all of this. Although it includes elements from
computer science, engineering and science, scientific computing focuses on
the
integration of knowledge and methodologies from all of these disciplines, and as
such is a subject which is (in some sense) distinct from any of them. The graphical
representation of scientific computing, shown in the following figure, is one of
sever
al variations on this theme.
Computer
Science
Science &
Engineering
Mathematics
Scientific
Computing
Scientific computing includes, but is greater than, the intersection of mathematics,
computer science and science and engineering.
1
.
3
The
A
ttributes of
T
he
Computer Science
G
raduates
After successfully completing the sci
entific computing
and information
program,
the
graduate should be able to
:
1.
Formulate simple mathematical models of physical systems in terms of
algebraic and differential equations, starting from a rough description of the
problem.
7
NARS for Computing
and Information
2.
Select or develop a s
uitable numerical method to obtain quantitative
estimates of important parameters in the mathematical models.
3.
Implement the numerical method in a programming language and obtain
estimates of the parameters of interest.
4.
Use high performance computing resour
ces whenever needed to solve
large

scale problems.
5.
Use symbolic computing tools to develop approximate and closed form
solutions.
6.
Interpret results and assess the different mathematical models.
7.
Deal with scientific databases.
8.
Select and use the appropriat
e visualization technique for visualizing
numerical data.
9.
Report the results of analysis and the interpretation of those results in a
suitable (written text or graphical) form.
10.
Continue to learn and be able to read mathematical modeling, computing
and nume
rical methods literature with a view to using new ideas in future
scientific computing problems.
8
NARS for Computing
and Information
1
.4. National Academic Reference Standards for Scientific
Computing Graduates
1
.4.1 Knowledge and Understanding
In addition to Knowledge and Understanding of
computing
and information
graduate, the
Scientific Computing
graduate
should be able to
:
1.
Use high

level programming languages.
2.
Demonstrate basic knowledge and understanding of a core knowledge.
3.
Demonstrate strong skills in computational methods, simulati
on and
modeling.
4.
Apply effectively computational modeling techniques to an application area
fields.
5.
Interpret and analyzing data qualitatively and/or quantitatively.
6.
Visualize different types of scientific data with different techniques.
7.
Deal with high per
formance computing resources.
8.
Communicate the solution process effectively.
1
.4.2 Intellectual Skills
In addition to Intellectual of computing
and information
graduate, the
Scientific
Computing
graduate
should be able to
:
1.
Define problems in precise scient
ific manner.
2.
Set goals towards solving traditional and nontraditional problems.
3.
Observe
results and attitudes.
4.
Formulate clear questions and models for any real

life problems.
5.
Perform comparisons between algorithms, methods, and techniques.
6.
Perform classif
ications of (data, results, methods, techniques, algorithms
,
etc.).
7.
Identify attributes and components.
8.
Identify relationships and patterns.
9.
Identify main ideas.
10.
Identify errors.
11.
Infer up on the problem conditions.
12.
Predict best solution, source of
errors,
etc...
13.
Elaborate
.
14.
Summarize problems, proposed solutions and their results.
15.
Restructure solution methodologies up on their results.
16.
Establish criteria.
17.
Verify
solutions.
9
NARS for Computing
and Information
1
.4.3 Professional and Practical Skills
In addition to Professional and Practical of
computing
and information
graduate,
the
Scientific Computing
graduate
should be able to
:
1.
Explore, and where feasible solve, mathematical problems, by selecting
appropriate techniques.
2.
Use of standard numerical recipes and mathematical libraries in problem
solving.
3.
Use symbolic software to develop approximate and closed form solutions.
4.
Use scientific visualization packages to visualize complex scientific data
sets.
5.
Determine the merits of parallelizing a particular scientific code for
operation on a shared

memory or a distributed

memory platform.
6.
Parallel programming using MPI and OpenMP.
7.
Give technical presentations.
10
NARS for Computing
and Information
1

Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο