Course Outline for Computer Science 14
Introduction to Structured Programming In C++
Effective: Fall 2025
SLO Rev: 05/19/2016
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:
- when using the college computer laboratory, follow the procedures to sign in and out;
- write, edit, compile, run and debug programs;
- demonstrate steps involved in program development;
- write simple C++ data types in programs and apply how they are represented in the machine;
- write C++ expressions using selected operators, and apply the rules of precedence used in their evaluation;
- apply the structured programming constructs: sequence, selection and iteration;
- perform elementary interactive input and output operations;
- code void and value-returning functions with value and reference parameters and use them in a program;
- define and use the structured C++ data types: array, string, struct in applications drawn from mathematics, the sciences, and other areas;
- use text files to record and retrieve information in elementary applications;
- produce well-documented, user-friendly programs of short to medium length.
Course Content:
- Course Content (Lecture):
- Review of program development
- Top-Down design
- Methods of specifying algorithms: structure charts, flow charts, pseudocode
- Formulating algorithms to solve problems on a computer
- Program documentation standards
- Program testing issues and construction of test data
- Elementary Data types in C++
- Simple data types: int, unsigned, long, char, float, double
- Machine representation of the simple data types: int, long and char (Optional)
- Expressions and assignment statements in C++
- Selected C++ operators: Arithmetic, Logical, Assignment, Relational, size of
- Expressions and rules of precedence for their evaluation
- Assignment statements – lvalues and rvalues
- Selection and Iteration structures
- IF and IF-ELSE statements
- SWITCH statements
- Syntax of FOR, WHILE and DO WHILE loops
- Types of loop control: counter, sentinel, user response, flag and EOF controlled loops
- Nested loops
- Elementary interactive input and output in C++
- cin and cout
- I/O of numeric, char, string
- Using sentinel controlled loop to read from the keyboard
- Using an EOF controlled loop to read from a file
- Use of functions in modular programming
- Role of program modules in well designed programs
- Using built-in library functions
- Function declarations and calls
- Parameter passing mechanisms: value vs. reference
- Value returning vs. void functions
- One dimensional arrays
- Definition of array and motivation for use
- Input fixed or varying sized data set into an array from keyboard or file
- How to pass arrays as parameters
- Other array manipulation such as summing values
- C-String, an array of characters
- Binary search and elementary sorts
- Mention array names in relation to pointer variables (Optional)
- Structs (Required), Array of Structs (Optional)
- Syntax and Declarations
- How to define and access Structs
- Compares and contracts with arrays
- Struct as function parameters
- Sequential files
- Definition of text file
- How to define, open, and close text files
- Elementary reading/writing text files (loop/EOF)
- How to pass a file variable as a function parameter
- User-friendly programs
- Input Validation techniques
- Output prompts
- Output design
- Review of program development
- Course Content (Laboratory):
- Rules and procedures when using College Computer Laboratory
- Signing in and out procedures
- Rules for use of computers, printers and laboratory etiquette
- Use the C++ integrated development environment
- Create, edit, compile and run programs
- Provide program comments and documentation
- Test and debug programs
- Evaluate program efficiency
- Rules and procedures when using College Computer Laboratory
Methods of Instruction:
- Lecture/Discussion
- Demonstration/Exercise
- Distance Education
- Student use of appropriate computer laboratory
Assignments and Methods of Evaluating Student Progress:
1. Typical Assignments
- 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.
- Revise your previous angle assignment so that the main program does little but perform tile initialization, loop control and call functions.
- 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
- Quizzes
- Midterm Examination
- Final Examination
- Assigned programs
- Homework
3. Student Learning Outcomes
Upon the completion of this course, the student should be able to:
- code void and value-returning functions with value and reference parameters and use them in a program;
- demonstrate steps involved in program development;
- produce well-documented, user-friendly programs of short to medium length;
- 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):
- Gaddis (2022). Starting Out with C++: From Control Structures through Objects (10). Pearson Publisher.
- 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
