Notes and discussion | Lab | Practice exercises |
Past exam questions (F=final,M=midterm) |
intro to C++
intro to software development
small scale program management
| Lab 0
| old intro quiz
|
|
data types and conversions
data and calculation
code comments
literals, constants, #define
input and output with scanf and printf
style rules and programming
| Lab 1
| prelim questions 1-13
getting started
early io,
basic data types
| 2018: M1
2017: M1
2016: M1
2015: M1
|
functions and parameters
variable scope
modularity and design with functions
| Lab 2
| software concepts,
prelim questions 14-19
comprehension questions (a)-(d)
quiz (pdf)
pass by reference
| 2018: F2,
M2
2017: M2,
M3
2016: M2
2015: M2,
M4,
M5
|
selection (if/else, switch)
enumerated types
| Lab 3
| Part 1: basic coding
if/else exercises
part 10: switches and enums
|
2018: M3,
M4,
M5
2017: M4,
M5
2016: M3,
M4,
M5,
F0
2015: M3
|
Midterm 1 is about here |
recursion
| Lab 4
| Part 8: iteration vs recursion
recursion exercises
| 2018: F8,
M1
2017: M5
2016: M3,
F4
2015: M3,
M4
F7
|
loops (while, do while, for)
| Lab 5
| basic coding
types of loops
practice with loops
programming practice: loops
| 2018: F1,
F3,
M2,
M3
2017: M1,
M3,
M4
2016: M1,
M2,
M4,
F1,
F2
2015: M1,
M2,
F2,
F3,
F7
|
arrays
basic sorting of arrays
binary search of sorted arrays
| Lab 6
| part 5: array basics
part 11: searching and sorting
writing programs from algorithms
| 2018: F5,
M4,
M5
2016: F3,
F4,
F5
2015: M5,
M6,
F1,
F5
|
Midterm 2 is about here |
null terminated char arrays
command line arguments
| Lab 7
| null terminated string exercises
| 2018: F4
2017: M2
2016: M5,
F6
|
output with cout and input with cin
namespaces
|
Lab 8 |
(try any of the other exercises,
but use cout/cin instead of printf/scanf) |
File I/O
file I/O with fstream
| Lab 9
|
fileio exercises
| 2018: F9
2016: F7
2015: F6
|
multidimensional arrays and typedefs
testing and debugging principles
| (none)
| part 15: testing and debugging
part 16: two-d arrays
2D array exercises
| 2015: F9
|
structs
| Lab 10
| final prep questions
part 9: structs
| 2018: F6
2016: F8
2015: F4
|
pointers
dynamic array resizing
struct for two-D array (code example)
| Lab 11
| dynamic array allocation
arrays and pointers
structs and pointers
array resizing exercises
| 2018: F7
2016: F9
2015: F8
|
linked lists
| (none)
| linked lists
linked list exercises
general wrap-up quiz
| 2016: F10
|
abstract data types (ADTs)
intro to classes/objects
C++ class libraries (string, list, etc)
| (none)
| abstract data types (adts)
| (none)
|
Extra material |
special alphabets, characters, and unicode
the preprocessor (#defines etc)
hardware/software interaction
computing history
| (none)
| architecture
| 2015: F10
|