Prerequisites: None
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.
Course Materials: Fall 2003