COP-3337, Intermediate Programming
- June 28: Introduction and Administrivia
- Check out the web site.
- Get your accounts in order.
- Compiling and running programs.
- Simple syntax: types, I/O, expressions, statements.
- Functions: declaration vs. definition.
- Call by value and call by reference.
- June 29: Arrays (Chapter 1)
- vector class.
- Parameter passing: call by constant reference.
- resizing and push_back
- June 30: strings and files (Chapter 1, Appendix A)
- July 1: Exam #1
- Open book. Bring any references that you want.
- July 6: Structs and Classes: Part I
- Read Chapter 2.
- Basics of structs
- Classes: interfaces, member functions, visibility
- Separation of interface and implementation
- Constructors and Destructors
- Default parameters
- Accessor/Mutator
- Scope :: operator
- July 7: Structs and Classes: Part II
- ifndef/endif and separate compilation
- Static members
- Const and non-const methods
- Assignment #2
- Operator overloading
- July 8: Classes: Part III
- Operator overloading
- The big three: destructor, operator= and copy constructor
- Friends
- July 12: Classes: Part IV
- Review of classes Part I-III.
- Implicit type conversions
- Initializer lists
- Constant and reference data member
- Example: The Complex class
- July 13: Classes: Part V
- More implicit conversions
- Explicit constructors
- Pointer variables and big-three problems
- Example: The string class
- July 14: Templates: Part I
- Read Chapter 3
- Why templates
- Template functions
- Template classes: interface
- Illustration of the vector class
- Specifying the requirements of the template type
- July 15: Templates: Part II
- Template classes: implementation
- Separate compilation issues
- Fancy template stuff
- Discussion of Assignment #3
- July 19: Catch up
- matrix class
- Aliasing and this
- July 20: Stacks and Queues: Part I
- Aliasing wrapup... Introduction to pointer variables
- Basics of running-time analysis.
- Properties and uses of the stack and queue.
- Array implementations.
- July 21: Stacks and Queues: Part II
- Linked list implementation of stacks and queues.
- July 22: Exam #2
- July 23: Exam recap and more linked lists
- July 24: STL Part I
- Basic ideas
- Iterators
- Lists vs Vectors
- July 25: STL Part II
- The Pair pattern
- Sets and maps
- The concordance example
- July 26: STL Part III
- Discussion of assignment #5
- String streams
- August 2, 3, and 4: Recursion
- August 5: Finish up Recursion
- Tail recursion
- Dynamic programming -- memoizing
- August 9: Introduction to Inheritance
- August 10: No class
- August 11: Final Exam