Please enable JavaScript to view this page.

Introduction to Programming

CST 173

Introduction to Programming

CST 173

Course Description

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.

Objectives:

  • 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.

Objectives:

  • 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.

Objectives:

  • 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.

Objectives:

  • 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.

Objectives:

  • 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.

Objectives:

  • 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.