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