Home Syllabus Class Schedule Lab Schedule People Assignments Texts Resources

CPSC 1070: Programming Methodology

Dr. Donald House
Fall 2019, 3 credits

Section 001 MWF 9:05-9:55, Lehotsky 138
Section 002 MWF 10:10-11:00, Lehotsky 138

Course Schedule

  Sun Mon Tue Wed Thu Fri
1 Aug 18
Aug 19 Aug 20 Aug 21
Introduction to the course
Python and Java vs C
Python, Java, and C long loop programs
Aug 22
Aug 23
In class placement quiz
Structure of a C program
Reading: K&R Chapter 1.1-1.3
Python, Java, and C Biggest of 2/3
1-2-3-infinity exercises
2 Aug 25 Aug 26
More 1-2-3-infinity exercises
The C Preprocessor
Reading: K&R Chapter 1.4
Reading: K&R Chapter 4.11
Putting numbers into order
Aug 27
last day to
add class
Aug 28
C Variables, Types, and Expressions
Reading: K&R Chapter 2
Reading: K&R Chapter 7.8.6-7.8.7
Aug 29 Aug 30
EZ Draw basics
EZ Draw Manual
C Control Flow: if, loops, switch
Reading: K&R Chapter 1.5-1.6
Reading: K&R Chapter 3
Assign HW 1: Blowing Bubbles
3 Sept 1
Sept 2
Variable scope & C Functions
Reading: K&R Chapter 1.7-1.9
Reading: K&R Chapter 4.1-4.9
Pythagorean Theorem Examples
Sept 3
last day to
drop without W grade
Sept 4
Recursion
Reading: K&R Chapter 4.10
Factorial Examples
Sept 5
Sept 6
Recursion
Sierpinski Triangle Example
4 Sept 8
Hw 1 Due
Sept 9
1 and 2 Dimensional C Arrays
Reading: K&R Chapter 5.1-5.2
Rainbow Example
Broccoli Example
Assign HW 2: Planting Trees
Sept 10
Sept 11
C structs, typedef, and union
Notes on the trigonometry of trees
Reading: K&R Chapter 6.1-6.8
Nested Circle Example
Nested Circles with User Interface
Sept 12
Sept 13
C Pointers, Arrays and Dynamic Allocation
Reading: K&R Chapter 5.3-5.4
Reading: K&R Chapter 7.8.5
5 Sept 15
Sept 16
Characters and Character Strings
Command line arguments
Reading: K&R Chapter 5.5-5.10
Reading: K&R Chapter 7.8.1-7.8.3
Sept 17
Sept 18
Chain Building in EZ Draw
Many Ways to Prove a Palindrome
Cultural Improvement
Palindrome Examples
Sept 19
Sept 20
Processing Character Strings
Improved Palindrome Example
Some Simple Calculators
6 Sept 22
Hw 2 Due
Sept 23
C Input/Output and Files
Reading: K&R Chapter 7
Times and Addition Table Generators
Assign HW 3: Scene File Display
Sept 24
Sept 25
More on File Handling
Sept 26
Sept 27
Review for first midterm exam
Sample midterm 1 exam questions
Solution to question 7
7 Sept 29
Sept 30
First midterm exam
Oct 1
Oct 2
Review of Exam
Stacks
Oct 3
Oct 4
Array Implementation of Stacks
Array Based Stack
8 Oct 6
Hw 3 Due
Oct 7
Queues
Array Implementation of Queues
Array Based Queue
Oct 8
Oct 9
Dynamically Allocated 2D Arrays
Grid Program
Assign HW 4: Texture Images
Oct 10
Oct 11
EZ Draw extensions for handling
images and textures
Working with image pixel data
Midterm evaluations due
9 Oct 13
Oct 14
No Class, Fall Break
Oct 15
Fall Break
Oct 16
Linked Lists
List Implementation of Stacks and Queues
List Based Stack
List Based Queue
Oct 17
Oct 18
C++ Syntax vs. C Syntax
Stream I/O
Structs and enums
Reference Variables & Parameters
new and delete
C to C++ Lecture Notes
C++ Sorting Program
10 Oct 20
Oct 21
Video Lecture, House at IEEE Vis.
Classes and Object-Oriented Programming
Declaration vs. Definition
Public vs. Private Regions
Reading: GWM Chapter 7.1-7.5
Lecture Video
Class and OO Lecture Notes
C Point type
C++ Point class
Oct 22
Oct 23
Video Lecture, House at IEEE Vis.
Constructors and Destructors
const methods & parameters
Default and Copy Constructors
Default parameters
static members
Reading: GWM Chapter 7.6-7.10, 11.5
Lecture Video
Constructor and Destructor Lecture Notes
C++ Polygon Class
Oct 24
Oct 25
Video Lecture, House at IEEE Vis.
Interface vs. Implementation
C++ Stack and Queue implementations
Lecture Video
Interface/Implementation Lecture Notes
C++ Stacks and Queues
11 Oct 27
Hw 4 Due
Oct 28
File I/O Using Streams
Reading: GWM Chapter 13.1-13.3
C++ Program to Build Addition Tables
Assign HW 5: Building a Maze
Oct 29
Last day to drop without final grade
Oct 30
No Class, Bahá'í Holy Day
Oct 31
Nov 1
Review for second midterm exam
Sample midterm 2 exam questions
Solution to question 10
12 Nov 3
Nov 4
Second Midterm Exam
Nov 5
Nov 6
Review of Midterm Exam
Nov 7
Nov 8
Function and Method Overloading
Rectangle Example
Triangle Area Example
Reading: GWM Chapter 6.11-6.14
13 Nov 10
Hw 5 Due
Nov 11
Operator Overloading
Overloading Stream I/O
Rectangle with Overloaded +, <<, >>
Reading: GWM Chapter 11.6 (overloading I/O)
Discussion of new homework assignment
Assign HW 6: Amazing Game
Nov 12
Nov 13
Guest Lecture, Dr. Malloy
House at Texas A&M

Overloading Assignment
Rule of Three
Example stars game
What calls are made?
String class with constructors
Reading: GWM Chapter 11.6 (overloading =)
Nov 14
Nov 15
Guest Lecture, Dr. Malloy
House at Texas A&M

Copy and Copy Assignment
Intro to Move and Rule of Five
Rule of 3 example
Rule of 0 and 3 example
Example of a static member
Reading: GWM Chapter 11.7
14 Nov 17 Nov 18
C++ string class
Build Maze Sample Solution
Reading: GWM Chapter 11.1-11.2
Nov 19
Nov 20
Subclasses and Inheritance
Example uses in a program
Shape/Circle/Triangle example
point/labelpoint example
Reading: GWM Chapter 11.12-11.13
Nov 21
Nov 22
Subclasses and Inheritance
Constructor and Destructor considerations
Array/LabelArray example
Reading: GWM Chapter 11.14-11.15
15 Nov 24
Nov 25
Polymorphism using Templates
Templated Swap function
Templated Queue class
Templated Array class
Reading: GWM Chapter 16.1-16.4
Nov 26
Nov 27
No Class, Thanksgiving
Nov 28
Thanksgiving
Nov 29
No Class, Thanksgiving
16 Dec 1
Hw 6 Due
Dec 2
Standard Template Library - Containers
Example STL code to find the biggest
Example using STL stack
Example using STL queue
Intro to STL by Carlos Moreno
Reading: GWM Chapter 16.5
Dec 3
Dec 4
Standard Template Library - Algorithms
Example code demonstrating STL algorithms
STL Algorithms by Carlos Moreno
STL Algorithms reference
Dec 5
Dec 6
Review for Final Exam
Sample final exam questions
Sample solutions to questions 9 & 10
17 Dec 8 Dec 9
Dec 10
Section 002: Final exam 3:00 - 5:30 pm
Dec 11
Dec 12
Dec 13
Section 001: Final exam 8:00 - 10:30 am