Description:This
course is an introduction to Computer Science. The two major topics
covered will be:
- the
nature, subject matter, and branches of computer science as an
academic discipline, and
- the
nature, development, coding, testing, documenting, and analysis
of the efficiency and limitations of algorithms.
Emphasis
will be placed on techniques for creating algorithms by the methods
of top-down design and stepwise refinement and on the analysis
of
the efficiency and the testing for correctness of the algorithms
developed. The algorithms will be implemented as computer programs/applets
in the programming language JAVA. We shall cover the fundamental
programming-language concepts of
data-types, control structures, procedures and functions, parameter
passing, and scope rules, input/output (of text as well as graphics),
arrays, records, and algorithms for sorting and searching, as
well
as issues involving the social context of computing (risks, liabilities,
intellectual property and infringement) and graphical user interface
design.
|