American River
                  College logo
ARC Home
American River
                College banner
CISP 360: Introduction to Structured Programming
American
                  River College Library logo
ARC Library
Fall 2015
code 19661
Lecture: Tuesday/Thursday 5:30PM-6:50PM in Rm 129.
Lab: Tuesday/Thursday 7:00PM-8:15PM in Rm 152C
Topics and assignment due dates are subject to change at the discretion of the instructor.
Lesson Topics Assignment Due
Fri, Aug 22
  • Class website is made available

Please look over the class website to get familiar with the class.



Meeting 1: Tues, Aug 25
  • Syllabus Overview
  • Course Introduction
  • CISP 360 Website tour
  • How to be successful in this course
  • Using the ARC computing environment

Activities and Exercises are due by midnight on the date due unless it is stated otherwise. All reading assignments must be completed prior to the indicated class meeting.

  • Verification of Prerequisites
  • Log on to the class website
  • Establish your ARC gmail account
Quiz 0
Entry-level skills evaluation. (This test is scored, but does not contribute toward your grade in this class.)
Activity 1.
Complete the pre-test (Quiz 0), and Syllabus quiz
Meeting 2: Thurs, Aug 27
Read Chapter 1
Introduction to Computers and Programming
Read Chapter 2
Introduction to C++
Quiz 1
on Chapter 1 completed during class
Friday, Aug 28

Activity 2.
3x5 card survey career discussion (bring card Tues Sep 1). register with CodeLab
Mon, Aug 31
 
Recommended completion of Exercise 1
CodeLab: Basics
Quiz 2
on Chapter 2
Meeting 3: Tues, Sept 1
  • Chapter 2, continued
Activity 3.
First Program, and Introductions.
Wed, Sep 2  
Quiz 3
on Chapter 3 (no time limit); Variables and Expressions
Meeting 4: Thur, Sep 3
  • Begin Chapter 3
  • The cin object
  • Evaluating Expressions Using Precedence and Associativity
  • Mixed-type Expressions, Coercion, and Type Casting
  • Formatted Input and Output Using Stream Manipulators
  • Calling Library Functions
  • Pseudo-Random Numbers
  • Using Code::Blocks to link an object file to your executable for testing
  • Hand Tracing a Program to find errors
  • Simple debugging techniques
  • View #5 - Creating a Basic Calculator (7:29) [transcript]
  • View #6 - Variables Memory Concepts (3:45) [transcript]
  • View #7 - Basic Arithmetic (5:58) [transcript] Please be careful to distinguish between the math associative property and associativity as it applies to C++ operators.
  • View #27 - Random Number Generator (9:53) [transcript] Eventhough we have not yet discussed the for-loop used in this tutorial, it still explains the random number generator very well.

Friday, Sept 4 is last day to drop this class without notation on record, and to qualify for enrollment fee refund.
Sunday, Sept 6 is last day to drop this class without notation on record.

Read Chapter 3
Expressions and Interactivity
Meeting 5: Tues, Sep 8
  • Chapter 3, continued
Exercise 3
milestone submission.
Weds, Sep 9  
Quiz 4
on Chapter 4
Exercise 1.
CodeLab: Basics
Exercise 2.
CodeLab: Console I/O, Arithmetic operators
Meeting 6: Thurs, Sep 10
Read Chapter 4
Making Decisions
Exercise 3.
Sequence, formatted I/O
Activity 4
groups assigned.
Meeting 7: Tues, Sep 15
  • Chapter 4 continued
(group) Activity 4
Program requiring selection using linkable test object file for testing.
Exercise 4
CodeLab: Logical expressions, Branching.
Weds, Sep 16
 
Quiz 5
on Chapter 5
Meeting 8: Thurs, Sep 17
Read Chapter 5
Loops and Files
Exercise 6
groups assigned.
Meeting 9: Tues, Sep 22
  • Reading and Writing data with Text Files
  • Sequential Access Plain Text Files; priming read, and eof processing
  • Data Input Validation; the failbit
  • View #64 - Working with Files (8:13) outputting text to a file
  • View #65 - Tips for File Handling (6:35) shows another way to verify that a file opened successfully
  • View #66 - Writing Custom File Structures (9:46) Loops to write multiple lines of data to an output file. The C++ string data type is used here; a char array would work just as well. Also, note that Ctrl-Z only works with MS Windows for keyboard input. Other operating systems may use a different way to input EOF.
  • View #67 - Reading Custom File Structures (9:53) This opens and reads from the file created in the previous tutorial. He keeps misstating that the constructor is optional when creating the stream object. Instead it should be stated that the argument to the constructor is optional. He states also states incorrectly that when EOF is read from the file, that the file is closed automatically. This is not true. However, when the ifstream object is deleted (e.g. main function returns, and the ifstream object goes out of scope), the destructor will close the file. Regardless, you should close your files explicitly and not rely on the destructor.
  • View #68 - Cool Program Working with Files (9:03) 1 of 3. Demonstrates use of sequential access input file.
  • View #69 - Finishing the Awesome Program (9:33) 2 of 3. Again, he mistates that the file name is an optional constructor. It is an optional argument to the constructor.
  • View #70 - Reviewing the Final Program (8:03)
Activity 5
groups assigned.
(group) Exercise 6 milestone
Nested repetition, validation, failbit
Meeting 10: Thurs, Sep 24
  • Chapter 5, continued
(group) Activity 5
Sequential access files
Exercise 5
CodeLab: Iteration
Mon, Sep 28
 
Quiz 6
on Chapter 6
Meeting 11: Tues, Sep 29
Read Chapter 6
Functions
Activity 6
CodeLab: File I/O
(group) Exercise 6
Nested repetition, validation, failbit
Meeting 12: Thurs, Oct 1
  • Chapter 6 continued
Activity 7
Functions and random numbers
Exercise 7
CodeLab: Functions (complete any 50 exercises)
Mon, Oct 5
 
Quiz 7
on Chapter 7
Meeting 13: Tues, Oct 6
Read Chapter 7
Arrays
Weds, Oct 7

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 8
on C-strings (Chapter 10 sections 1-3)
Meeting 14: Thurs, Oct 8
  • Chapter 7, continued
  • Begin Chapter 10
  • Character arrays
  • The basics of c-strings
  • The cctype library
  • Using cin vs. cin.getline() with c-strings
Read Chapter 10
Characters, C-Strings, and More About the string Class (sections 10.1-10.3, 10.4 partial)
Exercise 8
CodeLab: Arrays
Activity 8
CodeLab: C-strings PART 1
Exercise 9
groups assigned.
Meeting 15: Tues, Oct 13
  • Begin Chapter 8
  • Searching, Linear Search
  • Binary Search
  • Sorting
  • Sorting Parallel Arrays
Read Chapter 8
Searching and Sorting Arrays
Meeting 16: Thurs, Oct 15
  • Chapter 8, continued
  • Program Testing and Debugging
  • Practice midterm: in-class debugging activity
 
Mon, Oct 19
 
Quiz 9
on Chapter 8
Meeting 17: Tues, Oct 20
Midterm. This comprehensive lab practical involves content presented in chapters 1 through 8 and will take up the entire class period.
(group) Exercise 9 milestone
functions, arrays, c-strings
Exercise 10
groups assigned.
Meeting 18: Thurs, Oct 22
  • Chapter 10, continued
  • The C-String
  • Character Library Functions
  • Character Array Manipulation
  • C-String Library Functions: strlen(), strcpy(), strcmp()
 
Meeting 19: Tues, Oct 27
(group) Exercise 10 milestone
Sandbox: Bit masks, nested repetition, 2D arrays
Read Chapter 9
Pointers
Activity 8
CodeLab: C-strings PART 2 (optional: 11320, 11321)
Activity 9
Pointers (see link on Assignments Page)
Meeting 20: Thurs, Oct 29
  • Chapter 9 continued
(group) Exercise 10
Sandbox: Bit masks, nested repetition, 2D arrays
Mon, Nov 1
 
Quiz 10
CodeLab: Pointers (no late submission)
Meeting 21: Tues, Nov 3
  • Dynamic Memory Allocation for Primitive Types
  • Dynamic Memory Allocation for Arrays of Primitive Types
Exercise 11 milestone
2D arrays: Battle Ship part 1
Meeting 22: Thurs, Nov 5
  • Character Library Functions (continued)
  • Advanced C-String Library Functions: strstr(), strcat()
  • Pointers and C-Strings
  • C-Strings and Pointer Arrays
Mon, Nov 9
 
Quiz 11
on Chapter 11
Meeting 23: Tues, Nov 10
  • Begin Chapter 11
  • Structures
  • Arrays of Structures
  • Reading data from a Sequential access file into a structure
  • Structures as Function Arguments
  • Pointers to Structures
  • Sorting Structures
Read Chapter 11
Structured Data
(group) Exercise 9
functions, arrays, c-strings
Exercise 11
2D arrays: Battle Ship part 1



Meeting 24: Thurs, Nov 12
  • Dynamic Memory Allocation for Structures
  • Begin Chapter 12
  • Binary Random (direct) Access Files
  • Reading/Writing Structures from/to Files
Read Chapter 12
Advanced File Operations
Meeting 25: Tues, Nov 17
  • Chapter 12, continued

Tues, Nov 17 is last day to drop this class with a "W" grade.

Exercise 12
Code lab structures
Wed, Nov 18
Quiz 12
on Chapter 12
Meeting 26: Thurs, Nov 19
  • Chapter 12, continued
Exercise 13
Tic Tac Toe: Enum types and finding the quadrant
Meeting 27: Tues, Nov 24
  • Preprocessor Summary
  • Creating Header Files
  • Separate Compilation Units (single source file)
  • Separate Compilation Units (multiple source files)
Exercise 14
File IO. Test Driver
Thurs Nov 26
Thanksgiving Holiday

Mon Nov 30
Quiz 13
on Chapter 13
Meeting 28: Tues, Dec 1

Meeting 29: Thurs, Dec 3
 
Exercise 15
Exercise adding Xs and Os using a class. Tic-Tac-Toe continuation. Do this rather than code Lab.
Meeting 30: Tues, Dec 8
  • Introduction to Interactive I/O Using the C Standard Library
  • Interactive I/O Using the C Standard Library Functions scanf and printf
  • sscanf, sprintf
Read Lecture Notes
printf, scanf
Activity 10
Standard I/O with scanf() and printf()
Read Lecture Notes
Recursion
Wed, Dec 9
 
Meeting 31: Thurs, Dec 10
  • Files and FILE *: Using the C Standard Library
  • In-class porting exercise
  • Lab Practical Preview
  • Recursion; Recursive vs. Iterative Repetition
  • View #31 - Recursion (8:19)
Activity 11
CodeLab: Recursion (complete any 8 exercises)
Sun, Dec 13
 
Final Exam: Tuesday, Dec 15
  • Final Exam (Lab Practical)
    • 5:45-7:45pm for 5:30pm class
 
Valid XHTML
            1.0! This page last updated: 24 Nov 2015