Skip to content

Course Syllabus

SE 4620 Distributed Application Development

  • Division: Natural Science and Math
  • Department: Computer Science & Engineering
  • Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0
  • Prerequisites: SE 3520 (Databases) CS 2680 (Operating Systems)
  • Corequisites: SE 4340 SE 4450
  • Semesters Offered: Spring
  • Semester Approved: Spring 2020
  • Five-Year Review Semester: Summer 2025
  • End Semester: Fall 2025
  • Optimum Class Size: 20
  • Maximum Class Size: 24

Course Description

The course introduces students to the fundamental principles common to the design and implementation of programs that run on two or more interconnected computer systems. It will concentrate on systems and software issues that are critical for building advanced Internet-scale application systems, including web servers, web proxies, application servers, database servers, and a number of prominent Internet application areas.

Justification

Applications span beyond just a laptop or a single server require a set of skills to enable a seamless solution. Synchronization, messaging, persistence, replication, multi-phase-commit, integrated logging and transaction control methods are required. This is a required course for the Bachelor of Science in Software Engineering degree. This course is most similar to Southern Polytechnic State University's course CS 4253 (Distributed Computing).

Student Learning Outcomes

  1. Students will demonstrate understanding of distributed operating system and network protocols for process communication, synchronization, scheduling, exception and deadlock resolution.
  2. Students will demonstrate via use their understanding of client-server, web-based collaborative systems.
  3. Students will demonstrate understanding of parallel computing.
  4. Students will demonstrate their ability to solve concurrency issues.
  5. Students will exercise API's for distributed application development.

Course Content

Learn and experiment with Amazon Web Services (AWS):
• console management
• host a static website
• build a web application
• deploy a web application
Understand distributed system components:
• distributed system characteristics
• system models
• networking / internetworking
• IPC / RPC
• distributed objects
• web services
• peer to peer
• security
• distributed file systems
• name services
• time
• transactions and concurrency control
• replication