Previous Lecture | Lecture 16 |
Lecture 16, Tue 08/28
Final Review
Final Review
Final Exam: Thursday 8/30 @ 11am in lecture
Logistics
- Bring studentID and a writing utensil
- Preferable ink or dark led
- PLEASE WRITE LEGIBLY
- No electronic devices
- No book, no notes
Format
- Similar to midterms
- Possible types of questions
- Short answers
- Explain, describe, define, ...
- Write some code
- Fill in the blank
- True / false, if false explain why
- Given some code, write the output
- Should take ~ 1 hour, but you have the entire lecture to finish
- Covers a broad range of topics, but probably not everything.
Topics
- Cumulative, but with a heavier emphasis on post midterm 2 material (starting with Linked List)
- Covers material from lectures, reading, homeworks, and labs
Linked Lists
- Structure of linked list
- Singly linked list with a head / tail reference
- Node structure with data / next reference
- Maintenance of linked lists
- Insertion (front / back)
- Deletion
- Functions on linked lists
- Find, etc.
- Know how to "walk down" a list in a loop / recursively
- Analysis of linked lists vs arrays
C-strings
- Structure of C-strings
- Differences between C-strings vs. char arrays vs. C++ strings
- '\0' character
- Manipulation of C-strings
- Initialize
- Indexing (also using pointer arithmetic)
- Functions on C-strings
- strlen
- strcmp
- strcpy
- strcat
- isalpha
C++ Strings
- Methods of strings
- length()
- at()
- []
- empty()
- substr
- +
- erase
- tolower / toupper
- find
Recursion
- Properties
- Base cases
- How to write recursive functions
- Affect recursion has on the stack
- Stack overflow
Vectors
- Conceptual understanding
- Under-the-hood implementation with arrays
- Syntax
- Vector manipulation
- Adding to a vector
- modifying elements in vectors
- how to initialize
- High-level understanding of templates "< >"
- Vector methods
- size()
- push_back()
- Range based loop