This lecture
note covers the following topics: Types and objects, Very simple Java programs,
Fancier Java features, Recursion, Parsing, Exception handlers, Lists, Trees,
Graphical User Interfaces: Static, Generic Types and Java Collections, Software
Design Principles, Threads and Concurrency, The Java Query Language, Using Java
to Query databases and other persistent object repositories JPQL, Distributed
Computing and Quantum Computing.
This note is aimed at students with little or no programming
experience, and it uses Dr Java as a vehicle for student experimentation
object-oriented programming concepts.
This
note explains the following topics: The Practice of Programming, Tools for
Working with Abstractions, Inheritance, Polymorphism, and Abstract Classes,
Interfaces, Nested Classes, and Other Details, Graphical User Interfaces in
JAVA, Generic Programming, Correctness and Robustness.
This note explains
the following topics: Short recapitulation of basics of object-oriented
programming in C++, Memory management , Constant values and objects, Error
handling, Inheritance, Dynamic polymorphism, Static polymorphism, The Standard
Template Library, Traits, Policies, Template metaprogramming, Expression
templates, C++11 threads.
This is a teaching material
about object-oriented programming, illustrated with use of the programming
language C. It is assumed, as a prerequisite, that the readers have some
knowledge about imperative programming, preferably knowledge about C.