500

CSIT 536 Advanced Network Programming

Designing client-server application with sockets; traffic analysis; building concurrent and multi-service servers; designing network protocols; measuring and analyzing performance of protocols. Students will complete a number of programming and network analysis experiments during the semester. Background assumed: Data Communication and Networks II or equivalent.

3

CSIT 537 Advanced Operating Systems

Review of contemporary operating systems (OS), OS design principles and strategies; examination of communication and synchronization protocols; concurrent processes and process scheduling including their statistical analysis; distributed operating systems; client-server computing model; distributed resource management; multiprocessor OS; failure, recovery and fault tolerance; data security; applications. Background assumed: Introduction to Operating Systems or equivalent.

3

CSIT 541 Algorithms

Topics include: time and space complexity; verification of correctness; advanced algorithm design strategies (iterative, divide-and-conquer, greedy methods, dynamic programming, branch-and-bound, etc., with specific examples drawn from sorting, searching, graph theory, matrix and polynomial arithmetic, and cryptography); hard problems and approximation algorithms, with examples such as napsack, bin-packing, and graph coloring problems; introduction to parallel algorithms as time permits. Background assumed: Mathematical Structures and Proof and Data Structures.

3

CSIT 542 Advanced Data Structures

Typical topics include: Red-Black trees; AVL trees; B trees; B+ trees; B* trees; tries; splay trees; spatial data structures; self-organizing lists; summation techniques; recurrence relations, including establishing bounds and expanding recurrences; hashing and other complex indices; complexity of searching on various structures. Background assumed: Data Structures.

3

CSIT 580 Computational Biology

The course exposes students to a wide range of state-of-the-art research and techniques in the field of computational biology. This is a modern discipline dealing with the discovery and implementation of algorithms facilitating the understanding of biological processes. Various statistical, heuristic, and machine learning methods are used for this purpose, as well as graphical tools to visualize the objects. The course is intended to present some biological problems related to the human genome and the computational methods to resolve them. It will cover an introduction to computational biology, the use of computational methods to search for, classify, analyze, and model protein sequences, i.e. to convert the masses of information from biochemical experiments into useful information.

3

CSIT 591 Selected Topics in Computer Science

A variable topics course in computer science. Topics normally not covered in Computer Science or Computer Information Systems undergraduate degree programs but suitable to explore at length at graduate and senior level. Project and a formal presentation are required. Prerequisite: CSIT 341 or equivalent background knowledge and permission of instructor.

3