Skip to content

Course Syllabus

Course: SE 4620

Division: Natural Science and Math
Department: Computer Science & Engineering
Title: Distributed Application Development

Semester Approved: Spring 2020
Five-Year Review Semester: Summer 2025
End Semester: Fall 2025

Catalog 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.

Semesters Offered: Spring
Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0

Prerequisites: SE 3520 (Databases) CS 2680 (Operating Systems)

Corequisites: SE 4340 SE 4450


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:
Students will demonstrate understanding of distributed operating system and network protocols for process communication, synchronization, scheduling, exception and deadlock resolution. Students will be assessed via quizzes, tests, assignments and classroom participation.

Students will demonstrate via use their understanding of client-server, web-based collaborative systems. Students will be assessed via quizzes, tests, assignments and classroom participation.

Students will demonstrate understanding of parallel computing. Students will be assessed via quizzes, tests, assignments and classroom participation.

Students will demonstrate their ability to solve concurrency issues. Students will be assessed via quizzes, tests, assignments and classroom participation.

Students will exercise API's for distributed application development.
 Students will be assessed via quizzes, tests, assignments and classroom participation.


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

Key Performance Indicators:
Tests 25 to 40%

Assignments 20 to 40%

Quizzes 15 to 30%

Class participation 5 to 10%


Representative Text and/or Supplies:
Authors: Tim Kindberg,Gordon Blair,George Coulouris,Jean Dollimore Title & Edition: Distributed Systems: Concepts and Design, 5/E

Authors: Simon Timms,James Chambers,David Paquette Title & Edition: ASP.NET Core Application Development: Building an application in four sprints, 1/E

Authors: Giles Colborne Title & Edition: Simple and Usable Web, Mobile, and Interaction Design, 2/E

Authors: Terry Felke-Morris Title & Edition: Web Development and Design Foundations with HTML5, 8/E

Authors: Joseph Annuzzi,Shane Conder,Lauren Darcey Title & Edition: Introduction to Android Application Development: Android Essentials, 5/E


Pedagogy Statement:
This course will be delivered through in class discussions, lecture and project mentoring.

Instructional Mediums:
Lecture

Maximum Class Size: 24
Optimum Class Size: 20