Programming Concepts & Methodology II
Introduction
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.
|