Syllabus (https://cs682-s22.notion.site/Syllabus-aea3428fe4b449638a1800b608521269) Untitled (https://cs682-s22.notion.site/d65928a29c2a450c9e856d0ae918c470) Untitled (https://cs682-s22.notion.site/3f3ef7b6a69f43d1989d55307cdbb155) Contacts (https://cs682-s22.notion.site/Contacts-157fb18ee7a04a5f9853d9be83d1f547) 🖼  https://usfca.instructure.com/courses/1606443

CS 682 - Distributed Software Development

Instructor: Sami Rollins

Office: Harney 404

Office hours: T/Th 10:30-11:40am; W 1:30-2:30pm (Zoom only)

Email: [email protected]

Lecture:

Section 01 - T/Th 2:40-4:25pm

Section 02 - T/Th 4:35-6:20pm

Location:

Harney 148 (Kudlick classroom)

TA: Nikhil Matta

Office: CS Labs - Harney

Office hours: MWF 2:30pm-4:30pm (Zoom only)

Email: [email protected]

📜 Course Description

Official catalog description: Internet application development, including server-side technologies such as scripting languages, template frameworks, web page mining, and distributed computing issues such as peer-to-peer, multi-cast, and distributed agents.

Unofficial description of class topics: This class covers foundational distributed systems topics such as data representation, networked communication, and client-server and peer-to-peer architectures. We will study distributed algorithms required to solve problems including time synchronization, data replication, and consensus. Students will be required to complete pre-work prior to most classes. These assignments may include readings from books or the internet, watching videos by industry professionals, and reading research papers. The class will include a significant programming component. Students are expected to learn the complexities of distributed algorithms through implementation.

Learning outcomes: At the end of this course, students will be able to do the following:

🗝 Enrollment

Prerequisite(s): CS 601 and CS 603/673 with a grade of B- or better. Recommended Preparation: Students should be very familiar with Java programming, multithreaded/concurrent programming, and socket/networked programming.

📚 Readings

There is no text you are required to buy for this course, but readings will be assigned from various sources that are freely available online including the following: