Skip to content

Latest commit

 

History

History
65 lines (40 loc) · 2.67 KB

learningoutcomes.md

File metadata and controls

65 lines (40 loc) · 2.67 KB

Course Objectives

Students who successfully complete CS462 will understand the following concepts:

  • Principles and concepts of designing and building distributed systems.
  • Introduction to architectures for distributed computation including map-reduce, client-server, peer-to-peer, and event-driven.
  • Cloud computing and APIs.
  • Reliability, availability, and scalability of large applications.

Learning Outcomes

Computational Practice

  • Students can implement programming projects that display knowledge of a variety of distributed system architectural styles. Some of these assignments represent significant programming projects with wide leeway in design and implementation choices.
  • Students will analyze problems, determine solutions within an assigned architectural style, and successfully implement those solutions.
  • Students will design and implement projects both individually and as part of a team.
  • Students will use cloud-based systems to run and implement assignments
  • Students will manage a cloud-based Web server and properly configure it.

Computational Theory

Students will understand the proper use of distributed and decentralized architectures and algorithms including

  • RESTful APIs
  • Hierarchical vs heterarchical system architectures
  • MapReduce
  • Distributed Hash Tables
  • Event-driven system
  • Peer-to-peer architectures including Paxos, gossip protocols, and blockchain

Students will understand theoretical concepts and limitations of distributed systems including

  • network practicalities such as latency, bandwidth, topology, cost, heterogeneity, security
  • CAP theorem
  • distributed transactions
  • serialization
  • identity and naming
  • cryptography
  • simultaneity

Critical Thinking and Communication

Students will interact with peers in meaningful discussion, lead discussions in peer groups, prepare written reports, and make oral presentations.

Ethics and Computing

Students will be presented with societal outcomes of technological choices in distributed and decentralized systems, analyze those outcomes, explore possible alternatives from different choices, and present their findings in small groups.

Evidence of Learning

Lab Assignments

Lab assignments give students an opportunity to demonstrate their knowledge of how course concepts are applied in solving problems that call for distributed or decentralized solutions.

Quizzes

Quizzes are designed for students to demonstrate mastery and understanding of reading material.

In-class Exercises

In-class exercises give students the opportunity to demonstrate synthesis and analysis of course concepts and present their understanding in small groups and in front of the class.