Introduction to ProgrammingCST 173
Prerequisite: READING LEVEL 2. Introduces fundamental concepts and techniques used to design computer programs. Explores problem definition, algorithm development, and program documentation. Examines best practices, structured code, and object-oriented design. Implements design concepts in a programming language. Develops skills in basic operations on data, control structures, modules, arrays, classes, inheritance, polymorphism and error handling. (30-0)
Outcomes and Objectives
Demonstrate understanding of variables and data types.
- Distinguish between variable and constant data.
- Utilize basic data types and define issues related to mixing data types.
- Declare variables appropriately required for a given computing solution.
- Demonstrate assignment of data to variables.
Implement basic operations on data.
- Identify the arithmetic and relational operators.
- Describe the order of arithmetic operations.
- Use arithmetic operators in simple expressions to perform calculations.
- Recognize the use of relational operators in simple expressions to control program flow using selection and iteration.
- Implement user input and appropriate program output for given software problems.
Create simple algorithms using design tools.
- Decompose a software problem statement into main tasks and subtasks using top-down design and step-wise refinement.
- Define standard flowcharting symbols and associate each with programming construct.
- Document various algorithms using flowcharts or pseudocode.
- Apply appropriate design tools to depict a top-down software solution.
- Apply subprogram constructs to implement a software solution with multiple modules.
Apply basic structuring concepts to build working programs.
- Utilize the basic computing model of input-process-output.
- Perform basic arithmetic operations on data including counting and accumulation.
- Describe relational operators and use them to construct expressions to be utilized in selection and repetition control structures.
- Build selection statements with appropriate if/else constructs.
- Define the most appropriate use of loops.
- Apply a random number generator as part of an algorithm.
Develop and implement solutions to computing problems using elementary graphical programming tools.
- Build and debug a variety of programming solutions employing fundamental concepts, including user input and selection and repetition structures.
- Implement a subprogram construct to decompose program code into modules.
- Define types of subprograms and appropriate methods for communication between subprograms.
- Implement arrays to solve problems involving data structures and lists.
- Traverse arrays to access list data and apply it to working program solutions.
- Perform searching algorithms on arrays.
- Document programming solutions adequately.
- Test software solutions for compliance to specifications and requirements.
- Implement a working software solution for evaluation.
Demonstrate understanding of abstract data types and object oriented programming using pseudocode.
- Understand abstract data types, class definition and implementation, including access modifiers, and best practices.
- Define and implement abstract data types.
- Define class constructors demonstrating the concepts of polymorphism.
- Demonstrate the implementation of a class definition.
- Create accessro, mutator, and work methods within a class definition.
- Modify working examples of classes and their implementations.
- Create a UML diagram for a class.