COSC473-24S2 (C) Semester Two 2024

Special Topic

15 points

Details:
Start Date: Monday, 15 July 2024
End Date: Sunday, 10 November 2024
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 28 July 2024
  • Without academic penalty (including no fee refund): Sunday, 29 September 2024

Description

Special Topic

COSC473-24S2 SPECIAL TOPIC: DECENTRALISED APPLICATIONS ON THE WEB

DESCRIPTION
This course covers a variety of techniques for developing decentralised web applications that do not require centralised servers to function. Students will learn about advanced web programming technologies as well as the latest methods and research in decentralised computing.

Since the early 2000s a wide variety of peer-to-peer technologies have been developed which allow people to digitally share information without centralised servers or gateways. However, until recently developing decentralised peer-to-peer applications required navigating a number of complex underlying network details. The development of better tooling that abstracts away many of these complex network details–along with other innovations such as Turing complete programming environments running on blockchain networks–make it easier to build decentralised applications than ever before.

This course will introduce students to current research and trends in decentralised applications on the Web. Topics will include using the libp2p networking API to build peer-to-peer applications, the IPFS data transfer protocols, real-time collaboration in peer to peer networks, and the development of smart contracts for decentralised applications running on blockchain networks. For all these topics, the primary focus will be on the application layer and how to develop decentralised applications, though occasionally we will need to dive into the lower layers of the network stack. The course includes hands-on programming tutorials alongside lectures, and students will use the Typescript and Rust programming languages and WebAssembly learning about their use in decentralised systems.

The course is open to postgraduate students from a variety of programming backgrounds; students who have taken SENG365 and/or COSC364 will likely find ways to build off what they learned in those courses.

Learning Outcomes

1.Explain fundamental characteristics and components of decentralised applications, and classify existing applications in terms of decentralisation and distribution [WA1]
2. Summarise and use common protocols, transports and methodologies for decentralised applications [WA1]
3. Recognise some of the challenges relating to developing and deploying decentralised applications, including non-technical aspects such as evaluating their social and cultural context [WA2, WA6]
4. Be able to design and develop a peer-to-peer application, taking a well-structured approach and making appropriate use of relevant resources [WA3]
5. Identify and evaluate some of the emerging research in decentralised web technologies [WA10. WA12]
6. Critically compare and contrast peer-to-peer software, such as different protocols, libraries, and different approaches to implementation [WA2]

University Graduate Attributes

This course will provide students with an opportunity to develop the Graduate Attributes specified below:

Employable, innovative and enterprising

Students will develop key skills and attributes sought by employers that can be used in a range of applications.

Prerequisites

Entry is subject to the approval of the Head of Department

Timetable 2024

Students must attend one activity from each section.

Lecture A
Activity Day Time Location Weeks
01 Monday 09:00 - 10:00 Jack Erskine 315
15 Jul - 25 Aug
9 Sep - 20 Oct
Lecture B
Activity Day Time Location Weeks
01 Thursday 09:00 - 10:00 Jack Erskine 315
15 Jul - 25 Aug
9 Sep - 20 Oct
Lab A
Activity Day Time Location Weeks
01 Wednesday 14:00 - 16:00 Jack Erskine 241 (17/7)
Jack Erskine 445 (24/7-21/8, 11/9-16/10)
15 Jul - 25 Aug
9 Sep - 20 Oct

Course Coordinator

Ben Adams

Assessment

Assessment Due Date Percentage  Description
Assignment 1 16 Aug 2024 20% Build a peer-to-peer application with libp2p
Assignment 2 04 Oct 2024 30% Create a dApp with smart contract
Assignment 3 20% Report and present on p2p project
Final Exam 30%

Indicative Fees

Domestic fee $1,110.00

* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.

For further information see Computer Science and Software Engineering .

All COSC473 Occurrences

  • COSC473-24S2 (C) Semester Two 2024