American River College logo
ARC Home
American River College banner
CISP 360: Introduction to Structured Programming
American River College Library logo
ARC Library
Cisp 360 Lesson Plan
CISP 360 Lesson Plan
Due Date Topics Assignment
Fri, Aug 18
  • Class website is made available
  • Topics and assignment due dates are subject to change at the discretion of the instructor

M01: C++ Tools and Basics

  • Computer Systems: Hardware and Software
  • Programming Languages, Compiling, Interpreting
  • Input, Processing, and Output
  • Using an Integrated Development Environment (IDE)
  • The parts of a C++ Program
  • The cout object
  • Primitive Data Types
  • Variable Assignments
  • Arithmetic Operators
  • Symbolic Constants
  • Preprocessor
  • Binary, octal, hexadecimal number bases
  • http://www.mathsisfun.com/ Numbers, binary, hex

Activities are due by midnight on the day assigned. Students must be present during lab to earn credit for Activities.
Exercises are due by midnight on the due date unless it is stated otherwise.

Start NOW
Study the class syllabus, and complete all assignments listed for M01: C++ Tools and Basics by Tuesday, August 22
Lab 1: Mon, Aug 21
  • Syllabus Overview
  • Course Introduction
  • CISP 360 Website tour
  • How to be successful in this course
  • Using the ARC computing environment
  • Verification of Prerequisites
  • Log on to the class websites
  • Establish your Los Rios Gmail account
Activity 1
Student Learning Contract; and prerequisite skills evaluation (This test is scored, but does not contribute toward your grade in this class.)
Tue, Aug 22  
Complete all readings and screen casts in:
M01: C++ Tools and Basics
Successfully complete at passing level:
Textbook practice A, Textbook practice B, Compile Process Practice
Lec+Lab 2: Wed, Aug 23
  • Don't forget to check for the Study hints in Canvas for Quiz 1 pre-test, and separately the part 2 hints.
  • Complete Quiz 1 pre-test, and part 2 during lecture

M02: Keyboard Input, and Formatted Output
and M03: Expressions and Using Functions

  • The cin object
  • Calling Library Functions
  • Formatted Input and Output Using Stream Manipulators
  • Evaluating Expressions Using Precedence and Associativity
  • Mixed-type Expressions, Coercion, and Type Casting
  • Using Code::Blocks or repl.it to link an object file (.a) to your executable for testing
Quiz 1 pre-test (during lecture)
on class syllabus
Quiz 1 part 2 (during lecture)
on M01: C++ Tools and Basics
Activity 2
Survey (in groups), First Program, register at Sphere Online Judge (SPOJ)
Start NOW
M02: Keyboard Input, and Formatted Output
and M03: Expressions and Using Functions
Lab 3: Mon, Aug 28

M04: Selection

  • Relational Operators
  • if Construct
  • if - else Construct
  • Logical Operators
  • More on the bool Data Type
  • Nested if Constructs
  • The switch Statement
  • Validation of User Input; the failbit
Activity 3
Introductions, career discussion, program using sequence
Start NOW
M04: Selection
Tue, Aug 29
Complete all readings and screen casts in:
M02: Keyboard Input, and Formatted Output and M03: Expressions and Using Functions
Successfully complete at passing level:
Practice: basic input
Quiz 2 pre-test (no time limit)
on M01: C++ Tools and Basics
Quiz 2 part 2 (no time limit)
on M01: C++ Tools and Basics; M03: Expressions and Using Functions
Quiz 3 pre-test (online)
on M02: Keyboard Input, and Formatted Output; M03: Expressions and Using Functions
Lec+Lab 4: Wed, Aug 30
  • Required: Watch the Activity 4 Pre-activity demonstration screencast before your lab session begins
Activity 4
Expressions, calling library functions
Exercise 1
Sequence, Formatted I/O
Fri, Sep 1  

Friday, September 1, is last day to drop this class and qualify for a tuition refund.

Sun, Sep 3  

Sunday, September 3, is last day to drop this class without notation on record.

Exercise 2
Console I/O, Arithmetic Operators, Expressions
Monday, September 4 Labor Day
Lec+Lab 5: Wed, Sep 6
  • Quiz 3 post-test during lecture

M05: Repetition
and M06: Basic File Input and Output

  • Iteration
  • The while Loop
  • do-while Loop
  • for Loop
  • Accumulation
  • Sentinels
  • Pseudo-random numbers
  • Nested Loops
  • The break and continue Statements
  • Reading and Writing data with Text Files
  • Sequential Access Plain Text Files; priming read, and eof processing
  • File Data Input Validation; the failbit
Activity 5 (in groups)
Expressions and formatted I/O
Quiz 3 post-test (during lecture)
on M03: Expressions and using functions
Start NOW
M05: Repetition
and M06: Basic File Input and Output
Sun, Sep 10  
Complete all readings and screen casts in:
M04: Selection
Successfully complete at passing level:
Selection: textbook practice
Quiz 4 pre-test (online)
on M04: Selection
Lab 6: Mon, Sep 11

M07: Defining Functions

  • Declaring, Defining, and Calling Functions
  • Function Prototypes
  • Identifier Scope, Storage Class
  • Declaring and Using Constants vs. Variables
  • Functions: Pass by Value vs. Pass by Reference (&)
  • return vs. exit()
  • inline Functions
  • Function Default Arguments, Overloading
  • Stubs and Drivers, Stub Testing
Activity 6 (in groups)
Selection: testing for failed integer input
Exercise 3
Selection
Start NOW
M07: Defining Functions
Tue, Sep 12  
Complete all readings and screen casts in:
M05: Repetition and M06: Basic File Input and Output
Successfully complete at passing level:
Repetition: textbook practice, Basic Files: Textbook practice
Quiz 5 pre-test (online)
on M05: Repetition; M06: Basic File Input and Output
Lec+Lab 7: Wed, Sep 13
Quiz 4 post-test (during lecture)
on M02: Keyboard Input, and Formatted Output; and M04: Selection
Activity 7 (in groups)
Selection: comparing floating point values
Exercise 6
groups assigned.
Fri, Sep 15

M08: Arrays and C-Strings

  • One-Dimensional Arrays of All Types
  • Initializing Arrays
  • Loading Arrays from a Data File
  • Processing Arrays
  • Arrays as Function Arguments
  • Character Arrays
  • The basics of c-strings
  • Character Library Functions (cctype)
  • Two-Dimensional Arrays

Please note: we will not be discussing or using the string object in this class. All character and text manipulation will be done using the c-string.

Exercise 4
Iteration
Start NOW
M08: Arrays and C-Strings
Lab 8: Mon, Sep 18  
Activity 8
Random number simulation, spoj.com
Tue, Sep 19
Complete all readings and screen casts in:
M07: Defining Functions
Successfully complete at passing level:
Functions: Textbook practice 1 & 2, Functions: Pass by value vs. pass by reference practice
Quiz 6 pre-test (online)
on M07: Defining Functions
Lec+Lab 9: Wed, Sep 20
  • No quiz today!
Activity 9 (in groups)
Repetition, files, and the priming read
Thur, Sep 21
Exercise 5
File Input and Output
Fri, Sep 22

M09: Searching, Program Development and Testing

  • Searching, Linear Search
  • Binary Search
  • Searching Two-Dimensional Arrays
  • Bitwise operators (optional)
  • Program Testing and Debugging
  • Hand Tracing a Program to find errors
  • Simple debugging techniques
Start NOW
M09: Searching, Program Development and Testing
Lab 10: Mon, Sep 25  
Activity 10
Functions, nested repetition, user input validation, failbit
Tue, Sep 26  
Complete all readings and screen casts in:
M08: Arrays and C-Strings
Successfully complete at passing level:
Arrays: Textbook practice 1 & 2
Exercise 6 (in groups)
Nested Repetition, Validation, Failbit
Quiz 7 pre-test (online)
on M08: Arrays and C-Strings
Lec+Lab 11: Wed, Sep 27
  • Quiz 5 post-test during lecture
Quiz 5 post-test (during lecture)
on M05: Repetition; M06: Basic File Input and Output
Exercise 7
Functions
Activity 11
One-dimensional arrays
Lab 12: Mon, Oct 2
  • Exercise 8 groups assigned
Exercise 8
groups assigned.
Activity 12
Cstrings: one-dimensional character arrays
Lec+Lab 13: Wed, Oct 4
  • Quiz 6 post-test during lecture

M10: Sorting

  • Sorting
    • Bubble
    • Selection
    • Insertion
  • Sorting Parallel Arrays
Quiz 6 post-test (during lecture)
on M07: Defining Functions
Activity 13
Two-dimensional arrays
Exercise 8 milestone
Nested Repetition, 2D Arrays, Bit Masks
Start NOW
M10: Sorting
Sun, Oct 8
Complete all readings and screen casts in:
M09: Searching, Program Development and Testing
Lab 14: Mon, Oct 9  
Activity 14
Searching two-dimensional arrays
Lec+Lab 15: Wed, Oct 11
  • Q & A—Exercise 8
  • Quiz 7 post-test during lecture

M11: Pointers
and M12: Advanced C-Strings

  • Pointers to Primitive Types
  • Dereferencing Pointers
  • Pointers vs. Arrays
  • Pointer Arithmetic
  • Pointer Parameters and Arguments to Functions (Pass by Reference)
  • Use of const with Pointers
  • Pointers and C-Strings
  • C-String Library Functions: strlen(), strcpy(), strcat(), strcmp()
  • Advanced C-String Library Functions: strstr()
  • C-Strings and Pointer Arrays

Please note: we will not be discussing or using the string object in this class. All character and text manipulation will be done using the c-string.

Quiz 7 post-test (during lecture)
on M08: Arrays and C-Strings
Activity 15
Practice midterm
Start NOW
M11: Pointers
and M12: Advanced C-Strings
Sun, Oct 15
Complete all readings and screen casts in:
M10: Sorting
Successfully complete at passing level:
Sorting: practice test
Quiz 8 pre-test (online)
on M09: Searching, Program Development and Testing; M10: Sorting
Lab 16: Mon, Oct 16  
Activity 16
Sorting
Exercise 8 (in groups)
Sandbox Archaeology: Nested Repetition, 2D Arrays, Bit Masks
Tue, Oct 17  
Exercise 9
Arrays and Sequences
Lec+Lab 17: Wed, Oct 18
  • Midterm. Lecture period is extended by 25 minutes. All students may attend the second lab period after the midterm.
Midterm #1 (during lecture+lab)
This seventy-five minute comprehensive lab practical involves content presented in Modules M01 through M09.
Sun, Oct 22  
Complete all readings and screen casts in:
M11: Pointers and M12: Advanced C-Strings
Successfully complete at passing level:
Pointers Practice A, B, C, and D, Cstrings: Textbook practice
Activity 17 (online)
Pointers
Quiz 9 pre-test (online)
on M11: Pointers; M12: Advanced C-Strings
Lab 18: Mon, Oct 23

M13: Dynamic Memory Allocation
and M14: Structures

  • Dynamic Memory Allocation for Primitive Types
  • Dynamic Memory Allocation for Arrays of Primitive Types
  • Structures
  • Arrays of Structures
  • Structures as Function Arguments
  • Pointers to Structures
  • Dynamic Memory Allocation for Structures
  • Sorting Structures
Activity 18
Pointers
Start NOW
M13: Dynamic Memory Allocation
and M14: Structures
Lec+Lab 19: Wed, Oct 25
  • Quiz 8 post-test during lecture
Quiz 8 post-test (during lecture)
on M09: Searching, Program Development and Testing; M10: Sorting
Activity 19
Pointers
Lab 20: Mon, Oct 30  
  • Exercise 11 groups assigned
Activity 20
C-strings
Exercise 11
groups assigned.
Exercise 10 milestone
Sequential access files
Tue, Oct 31

M15: C Standard I/O Library
and M16: Advanced File Processing

  • Writing structure data to files
  • Reading data from a sequential access file into a structure
  • Introduction to Interactive I/O Using the C Standard Library
  • Interactive I/O Using the C Standard Library Functions scanf and printf
  • scanf, sscanf, printf
  • Files and FILE *: Using the C Standard Library
  • Binary Sequential Access Files
  • Creating Header Files
  • Preprocessor Summary
  • Separate Compilation Units (single source file)
  • Bitwise operators (optional)
Complete all readings and screen casts in:
M13: Dynamic Memory Allocation and M14: Structures
Successfully complete at passing level:
Dynamic: Textbook practice, Dynamic: practice quiz, Structures: Textbook practice
Quiz 10 pre-test (online)
on M13: Dynamic Memory Allocation; M14: Structures
Start NOW
M15: C Standard I/O Library
and M16: Advanced File Processing
Lec+Lab 21: Wed, Nov 1
  • Quiz 9 post-test during lecture
Quiz 9 post-test (during lecture)
on M11: Pointers; M12: Advanced C-Strings
Activity 21
Structures
Activity 22 (in groups)
Pointers to structures
Lab 22: Mon, Nov 6  
Activity 23
Discussion: Dynamic memory allocation
Exercise 10
Sequential Access Files
Exercise 11 milestone
Advanced C-String Manipulation
Tue, Nov 7

M17: Classes

  • Separate Compilation Units (multiple source files)
  • Introduction to Object Oriented Software Development
  • The Three Requirements for OOP: Encapsulation, Inheritance, Polymorphism
  • What is an object?
  • Classes
  • Structures vs. Classes
  • Public vs. Private Data Members and Member Functions
  • Class Scope and Member Access
  • Class Constructors, Destructors
  • Predicate Functions, Access Functions
Complete all readings and screen casts in:
M15: C Standard I/O Library and M16: Advanced File Processing
Start NOW
M17: Classes
Lec+Lab 23: Wed, Nov 8
  • No quiz today!
Activity 24 (in groups)
cstdio
Friday, November 10 Veterans Day
Lab 24: Mon, Nov 13  
Activity 25
sequential access file using FILE *
Exercise 11 (in groups)
Advanced C-String Manipulation
Tue, Nov 14  

Tuesday, November 14 is last day to withdraw from this class with a "W" notation on record.

Lec+Lab 25: Wed, Nov 15
  • No quiz today!
Activity 26
creating a header file
Sun, Nov 19

M18: Recursion

  • Recursion
  • Recursive vs. Iterative Repetition
Complete all readings and screen casts in:
M17: Classes
Successfully complete at passing level:
Class: textbook practice
Quiz 11 pre-test (online)
on M17: Classes; M16: Advanced File Processing
Start NOW
M18: Recursion
Lab 26: Mon, Nov 20
  • Required: Watch Class: splitting a single file program into a multi-file project (Video 9:49) in M17: Classes
Activity 27
multi-file program
Exercise 12
Structures and Dynamic Memory Allocation
Lec+Lab 27: Wed, Nov 22
  • Quiz 10 post-test during lecture
Quiz 10 post-test (during lecture)
on M13: Dynamic Memory Allocation; M14: Structures; M16: Advanced File Processing
Activity 28 (in groups)
classes: designing from a problem specification.
Thursday, November 23 through Sunday, November 26 Thanksgiving Recess
Lab 28: Mon, Nov 27  
Activity 29 (in groups)
classes: implementing a design from activity 28
Exercise 13
Classes
Tue, Nov 28  
Complete all readings and screen casts in:
M18: Recursion
Successfully complete at passing level:
Recursion: Introduction Quiz, Factorial Quiz, Countdown Quiz, Fibonacci Quiz
Lec+Lab 29: Wed, Nov 29
  • Quiz 11 post-test during lecture
Quiz 11 post-test (during lecture)
on M17: Classes
Activity 30
recursion
Lab 30: Mon, Dec 4  
Activity 31
Discussion: class feedback
Lec+Lab 31: Wed, Dec 6
  • Midterm. Lecture period is extended by 25 minutes. All students may attend the second lab period after the midterm.
Midterm #2 (during lecture+lab)
This seventy-five minute comprehensive exam involves content presented in all modules of this class. This is no Lab period today since all assignments have been completed.
Thur, Dec 7
  • Sample final exam/lab practical available
  • The final exam is a one-hour exam to be completed online
Check your grades-the midterm has been scored!
Valid XHTML 1.0! This page last updated: 23 Dec 2022