CS

Data Structures and Algorithms: Java

The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.

Programming Fundamentals: Java

This course covers programming fundamentals using the Java language, emphasizing an object-oriented approach to problem solving. Topics include classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, files, design and implementation of abstract data types, in numerical and non-numerical applications.

Data Structures and Algorithms: C++

The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.

Programming Fundamentals: C++

This course covers programming fundamentals using the C++ language, using procedural and object-oriented approaches to problem solving. Topics include structured elements, classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, pointers, files, design and implementation of abstract data types, in numerical and non-numerical applications.