Programming Concepts & Methodology II
Programming allows truly beautiful and equally impressive algorithms to be
implemented. However, as the problem (and related algorithms) increase in
complexity, how does one make sure the program itself remains extendable,
scalable, and eloquent.
Fortunately, modern programming languages, like Java, allow object-oriented
programming. It is a powerful technique that allows eloquent levels of data
This course covers the concepts of object oriented programming and other,
related, techniques to solve real-world problems.
- Object-oriented techniques, data abstraction, and procedural
abstraction including proper programming style, program documentation,
and testing and debugging techniques.
- Representation of various abstract data types and their associated
algorithms: strings, linear lists, (including cursor and linked
representation).Basic sorting and searching algorithms such as insertion
sort and binary search.
- Lifetime of variables, dynamic memory allocation and the use of
- Exceptions and exception handling, inheritance, interfaces, abstract
- Recursion as a problem-solving technique and its implementation in
- Abstraction and information hiding, and the support that
object-oriented programming provides.
This class is in-person.