|
Nov 24, 2024
|
|
|
|
CST 173 - Introduction to ProgrammingCredits: 3 Instructional Contact Hours: 3
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.
Prerequisite(s): READING LEVEL 2 Corequisite(s): None Lecture Hours: 45 Lab Hours: 0 Meets MTA Requirement: None Pass/NoCredit: Yes
Outcomes and Objectives
- Demonstrate understanding of the Program Development Cycle.
- Demonstrate understanding of a problem with the goal of satisfying the needs of end users.
- Develop algorithms to solve a problem.
- Understand the difference between logic errors and syntax errors.
- Differentiate between high-level programming language and low-level machine language.
- Demonstrate the ability to debug program errors.
- Demonstrate understanding of variables and data types.
- Distinguish between variable and constant data.
- Utilize basic data types in a program.
- Define issues related to mixing data types.
- Declare variables appropriately required for a given computing solution.
- Demonstrate assignment of data to variables.
- Assign, store, and retrieve string data.
- Manipulate string data using various operations.
- Develop solutions that include a mixture of string and numerical data.
- Implement basic operations on data.
- Identify arithmetic and relational operators.
- Describe the order of arithmetic operations.
- Use arithmetic operators in simple expressions to perform calculations.
- Develop solutions that require user input.
- Develop solutions that incorporate appropriate program output.
- Create simple algorithms.
- Decompose a software problem statement into main tasks and subtasks using top-down design and step-wise refinement.
- Document 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.
- Use relational operators to control program flow using selection and iteration structures.
- Build selection and iteration structures.
- Demonstrate appropriate use of selection structures.
- Demonstrate appropriate use of iteration structures.
- Apply a random number generator as part of an algorithm.
- Read and process data from an external file.
- Produce solutions to computing problems using programming tools.
- Build and debug a variety of programming solutions employing fundamental concepts, including user input and selection and repetition structures.
- Demonstrate understanding of developing modular programs.
- Define types of modules or functions.
- Demonstrate understanding of appropriate methods for communication between modules or functions.
- Demonstrate understanding of arrays.
- Develop solutions using arrays.
- Demonstrate understanding of data structures and lists.
- Develop solutions that traverse arrays or list data.
- Perform searching algorithms on arrays or list data.
- Demonstrate documentation of programming solutions.
- Test solutions for compliance to program specifications and requirements.
- Build programs with loop structures utilizing a loop control variable.
- Create nested selection structures and nested loop structures.
- Apply mainline flow logic and modularization techniques.
- Demonstrate understanding of abstract data types associated with object-oriented programming.
- Understand abstract data types, class definition and implementation, including access modifiers and best practices.
- Develop solutions using abstract data types.
- Demonstrate the use of class constructors.
- Demonstrate the use of polymorphism in a solution.
- Demonstrate the implementation of a class definition.
- Create accessor, mutator, and work methods within a class definition.
- Modify working examples of classes and their implementations.
- Create a UML diagram for a class.
Add to Portfolio (opens a new window)
|
|