Courses

This is an introductory level course in the design and analysis of algorithms. The aim of the course is to provide a solid background in designing and analyzing algorithms. It is hoped that a student will be able to analyze and compare algorithms ...
Introduction to computers and programs. Programmer’s algorithm, byte code and Java Virtual Machine. Java program’s structure, constants, variables and built-in data types. The arithmetic, assignment, increment and decrement operators. Classes and...
Fundamental concepts of data structures. Performance measurement of algorithms. Implementation and use of lists, stacks, queues, priority queues, trees, heaps, hash tables and graphs. Recursion. Students will do programming assignments.