CSC308: Java Programming 6 credits (24-6-30)

Objectives

This course explores problem-solving techniques using the Java programming language. Key areas covered in the course include object-oriented design techniques, elements of Java programming, Java data structures and their methods. An industry-standard integrated development environment (IDE) (e.g., NetBeans, Eclipse) will be used.

Contents

Principles of object-oriented design and problem solving: Objects and classes; Encapsulation, abstraction, and information hiding; Inheritance; Polymorphism; Unit testing; Integration testing.

Elements of Java programming: Basic I/O; Basic syntax and semantics; Interfaces and classes; Exceptions; Strings; Arrays, ArrayLists, vectors; Comparators and sorting; Generics; Java type system; Iterators; the Java class library.

Abstract data types, data structures, and algorithms: lists, dictionaries, hash tables, binary search trees, priority queues, heaps. Simple streams.

An integrated development environment (IDE) (e.g., NetBeans, Eclipse)