Programming Concepts & Methodology

Programming Concepts & Methodology II


Computer 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 abstraction.

This course covers the concepts of object oriented programming and other, related, techniques to solve real-world problems.

Major Topics

  • 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 references.
  • Exceptions and exception handling, inheritance, interfaces, abstract classes.
  • Recursion as a problem-solving technique and its implementation in programming languages.
  • Abstraction and information hiding, and the support that object-oriented programming provides.

Course Format

This class is in-person.