Programs are not just for computers: We use them to communicate to
other people.
-
Ability to code without typing (on paper/whiteboard)
-
Understanding correctness of programming
-
Understanding performance characteristics of programs
-
Competence with iterative and recursive solutions to problems
-
Basic object-oriented programming
-
Use of debuggers
-
Use of testing
Plus
-
Understanding of linked lists and
resizable arrays
-
Understanding of stacks, queues, dequeues
-
Understanding of heaps
-
Understanding of union-find
A data structure is a concrete implementation of an abstract type
-
For example, linked lists and resizable arrays are data
structures that could be used to represent the
list
type
in python
-
Which does python use? Why?


