CSC305: Object-Oriented Programming in C++ 6 credits (24-6-30)

Objectives

This course explores problem-solving techniques using the C++ programming language. Key areas covered in the course include object-oriented design techniques, elements of C++ programming, C++ data structures and their methods, and study of an integrated development environment (IDE)

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, vectors; Comparators and sorting; Iterators; the C++ class library.

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

An industry-standard integrated development environment (IDE) (e.g., NetBeans, Eclipse) will be used.