Introduction to virtual communities overlay networks and social networking. Topics include architectural principles for heterogeneous social networking platforms, trust and reputation as social concepts, agent-based computing, and extraction of trends and patterns from information exchanged between community members. Course requires supervised and unsupervised lab, and intensive programming as a group project and individual assignment.