The first in a sequence of courses for majors in Computer Science, Mathematics, and Engineering. Introduces a disciplined approach to problem-solving and algorithm development, in addition to an introduction to procedural and data abstraction. Covers: selection, repetition, and sequence control structures; program design, testing, and documentation using good programming style; block-structured high-level programming languages; and arrays, records, and files. (Prerequisite: Intermediate algebra or higher, as determined by the specific school.)
The student will be able to:
1. Enter, compile, run a simple program and identify the major components of their programs.
2. Identify class definitions, objects and intrinsic data types, and declare objects and variables.
3. Input numeric and string values into variables, write arithmetic and string manipulation expressions to process data, and output the results with formatting.
4. Identify and then write method definitions within a class, including the constructor methods, identify the need for parameters and be able to code them, show the limits of the scope of variables, including instance variables and local variables.
5. Identify the algorithmic need for selection, choose an appropriate selection structure, and successfully code a select structure that implements the algorithm.
6. Identify the algorithmic need for repetition, choose an appropriate repetition structure, including nested loops if appropriate, and successfully code a repetition structure that implements the algorithm.
7. Code necessary features of object-oriented languages, including overloaded methods, pass-by-reference, pass-by-value, intrinsic data, return values, comments, simple exception catching, and assertions.
8. Store data into arrays, including multidimensional arrays, and walk those arrays to access the data.
9. Store formatted data to an ASCII text file and read formatted data from an ASCII text file into program variables. (Revised 4/9)
10. Understand and apply appropriate debugging and testing techniques for the language and environment used. (Revised 4/9)
11. Implement a sort and search on a one-dimensional array
12. Implement appropriate program design and documentation methods using a good programming style. (Revised 4/9)
Description Updated Spring 2020, Effective Fall 2020 - 04/09/2020