CSC8260: Economics of Networks and Distributed Systems

This course covers topics at the interface between computer science and economics. The goal is to introduce students to the interplay between computation and incentives in open distributed systems.

CSC 7430: Electronic Commerce

Design and analysis of Internet commerce sytems; protocols for electronic transactions; online payments and exchanges; e-cash; game theory and mechanism design; online auction design, sponsored search auctions, combinatorial auctions.

CSC 7220/ECE 7610: Parallel Computing II

The first part of this course will cover various aspects of parallel algorithm design and applications. Specific topics include: dense matrix algorithms; sorting algorithms; graph algorithms; search algorithms for discrete optimization problems; dynamic programming; Fast Fourier Transform; complexity of parallel algorithms. The second part will cover various aspects of cluster and grid computing. The emphasis will be on programming, tools and applications.

CSC 6220/ECE 5610: Parallel Computing I

This course introduces various aspects of parallel programming and applications. Specific topics include: parallel programming models; principles of parallel algorithm design; basic communication operations; analytical modeling of parallel programs; programming using the message-passing paradigm (MPI); programming shared memory systems (threads and OpenMP).

CSC 4420: Operating Systems

This course covers both theoretical and practical issues in operating systems. Topics include operating system services; file systems; CPU scheduling; memory management; virtual memory; disk scheduling; deadlocks; concurrent processes.

CSC 2200: Data Structures and Algorithm Analysis

Topics covered: introduction to analysis of algorithms; data structures for trees, sets and graphs; external sorting algorithms; hashing; files; advanced tree structures.