Course Outline for Computer Science 14
Introduction to Structured Programming In C++

Effective: Fall 2025
SLO Rev: 05/19/2016

Catalog Description:

CSCI 14 - Introduction to Structured Programming In C++

4.00 Units

Introduction to structured programming and problem solving using the C++ language. Problem solving techniques, algorithm design, testing and debugging techniques, and documentation standards. C++ syntax: elementary operators, data types, control structures, user-defined and library functions, basic input/output, sequential files, arrays and structs. Appropriate for students with little or no programming experience, but comfortable using computers with modern GUI operating systems.
Prerequisite: MTH 55 Strongly Recommended: CSCI 7 or ENGL C1000 (Formerly ENGL 1)
CB03: TOP Code 0706.00 - Computer Science (Transfer)
CIP Code 11.0701 - Computer Science
Course Grading: Letter Grade Only
Type Units Inside of Class Hours Outside of Class Hours Total Student Learning Hours
Lecture 3.00 54.00 108.00 162.00
Activity 0.00 0.00 0.00 0.00
Laboratory 1.00 54.00 0.00 54.00
Clinical 0.00 0.00 0.00 0.00
Work Experience 0.00 0.00 0.00 0.00
Total 4.00 108.00 108.00 216.00

Measurable Objectives:

Upon completion of this course, the student should be able to:
  1. when using the college computer laboratory, follow the procedures to sign in and out;
  2. write, edit, compile, run and debug programs;
  3. demonstrate steps involved in program development;
  4. write simple C++ data types in programs and apply how they are represented in the machine;
  5. write C++ expressions using selected operators, and apply the rules of precedence used in their evaluation;
  6. apply the structured programming constructs: sequence, selection and iteration;
  7. perform elementary interactive input and output operations;
  8. code void and value-returning functions with value and reference parameters and use them in a program;
  9. define and use the structured C++ data types: array, string, struct in applications drawn from mathematics, the sciences, and other areas;
  10. use text files to record and retrieve information in elementary applications;
  11. produce well-documented, user-friendly programs of short to medium length.

Course Content:

  1. Course Content (Lecture):
    1. Review of program development
      1. Top-Down design
      2. Methods of specifying algorithms: structure charts, flow charts, pseudocode
      3. Formulating algorithms to solve problems on a computer
      4. Program documentation standards
      5. Program testing issues and construction of test data
    2. Elementary Data types in C++
      1. Simple data types: int, unsigned, long, char, float, double
      2. Machine representation of the simple data types: int, long and char (Optional)
    3. Expressions and assignment statements in C++
      1. Selected C++ operators: Arithmetic, Logical, Assignment, Relational, size of
      2. Expressions and rules of precedence for their evaluation
      3. Assignment statements – lvalues and rvalues
    4. Selection and Iteration structures
      1. IF and IF-ELSE statements
      2. SWITCH statements
      3. Syntax of FOR, WHILE and DO WHILE loops
      4. Types of loop control: counter, sentinel, user response, flag and EOF controlled loops
      5. Nested loops
    5. Elementary interactive input and output in C++
      1. cin and cout
      2. I/O of numeric, char, string
      3. Using sentinel controlled loop to read from the keyboard
      4. Using an EOF controlled loop to read from a file
    6. Use of functions in modular programming
      1. Role of program modules in well designed programs
      2. Using built-in library functions
      3. Function declarations and calls
      4. Parameter passing mechanisms: value vs. reference
      5. Value returning vs. void functions
    7. One dimensional arrays
      1. Definition of array and motivation for use
      2. Input fixed or varying sized data set into an array from keyboard or file 
      3. How to pass arrays as parameters
      4. Other array manipulation such as summing values
      5. C-String, an array of characters
      6. Binary search and elementary sorts
      7. Mention array names in relation to pointer variables (Optional)
    8. Structs (Required),  Array of Structs (Optional)
      1. Syntax and Declarations
      2. How to define and access Structs
      3. Compares and contracts with arrays
      4. Struct as function parameters
    9. Sequential files
      1. Definition of text file
      2. How to define, open, and close text files
      3. Elementary reading/writing text files (loop/EOF)
      4. How to pass a file variable as a function parameter
    10. User-friendly programs
      1. Input Validation techniques
      2. Output prompts
      3. Output design
  2. Course Content (Laboratory):
    1. Rules and procedures when using College Computer Laboratory
      1. Signing in and out procedures
      2. Rules for use of computers, printers and laboratory etiquette
    2. Use the C++ integrated development environment
      1. Create, edit, compile and run programs
      2. Provide program comments and documentation
      3. Test and debug programs
      4. Evaluate program efficiency

Methods of Instruction:

  1. Lecture/Discussion
  2. Demonstration/Exercise
  3. Distance Education
  4. Student use of appropriate computer laboratory

Assignments and Methods of Evaluating Student Progress:

1. Typical Assignments
  1. Write a program that prompts the user for the number of rows for a n hourglass, makes sure the number of rows is odd, then uses nested loops to draw a hourglass of that number of rows, using single character output for all the spaces and asterisks used to draw the shape.
  2. Revise your previous angle assignment so that the main program does little but perform tile initialization, loop control and call functions.
  3. This assignment uses material from chapter 8 on files. In this assignment folder you will find a slightly revised version of copyfile.cpp. This is figure 8.4 on p. 397 – p. 399. Revise this program so that each line contains a line number followed by a colon and a couple of spaces. The original text should still line up exactly as it did before.
2. Methods of Evaluating Student Progress
  1. Quizzes
  2. Midterm Examination
  3. Final Examination
  4. Assigned programs
  5. Homework
3. Student Learning Outcomes
Upon the completion of this course, the student should be able to:
  1. code void and value-returning functions with value and reference parameters and use them in a program;
  2. demonstrate steps involved in program development;
  3. produce well-documented, user-friendly programs of short to medium length;
  4. Understand the mechanics under C++ of passing argument values by values and by reference to a function. Given the relevant code, the student will demonstrate their knowledge of parameter passing by correctly determining what would be output of that function.

Textbooks (Typical):

  1. Gaddis (2022). Starting Out with C++: From Control Structures through Objects (10). Pearson Publisher.
  2. Tony Gaddis (2022). Starting Out with C++: Early Objects (10). Pearson Publisher.
Additional Materials:
  • Portable storage device such as a USB flash drive

Abbreviated Class Schedule Description:

Introduction to structured programming and problem solving using the C++ language. Problem solving techniques, algorithm design, testing and debugging techniques, and documentation standards. C++ syntax: elementary operators, data types, control structures, user-defined and library functions, basic input/output, sequential files, arrays and structs. Appropriate for students with little or no programming experience, but comfortable using computers with modern GUI operating systems.
Prerequisite: MTH 55 Strongly Recommended: CSCI 7 or ENGL C1000 (Formerly ENGL 1)

Discipline:
Computer Science*, Computer Information Systems