Programming and Problem Solving
This paper builds on and extends the knowledge students have gained of programming and the Java language in COMP160 (or the old COMP103). More advanced programming ideas, such as recursion and abstract data type design, are introduced, as well as their implementations in Java. Then a variety of different data structures are discussed together with the algorithms to query and modify them. Theoretical and practical analyses of efficiency are used at each stage of the paper.