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 |
|
- 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 |
|
- 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 |
|
- 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!
|