=Paper=
{{Paper
|id=Vol-3696/ELEARNING_paper_18
|storemode=property
|title=Blockchain in Higher Education: a Review on Needed Technologies for an Undergraduate Web3 Course
|pdfUrl=https://ceur-ws.org/Vol-3696/article_18.pdf
|volume=Vol-3696
|authors=Nemanja Zdravković,Nikola Dimitrijević
|dblpUrl=https://dblp.org/rec/conf/elearning/ZdravkovicD23
}}
==Blockchain in Higher Education: a Review on Needed Technologies for an Undergraduate Web3 Course==
Blockchain in Higher Education: a Review on Needed
Technologies for an Undergraduate Web3 Course
Nemanja Zdravković1, Nikola Dimitrijević1
1
Faculty of Information Technology, Belgrade Metropolitan University, Tadeuša Košćuška 63, 11000 Belgrade,
Serbia
Abstract
Based on our review of the literature and market, we propose an undergraduate course aimed at
final-year students in electrical engineering, software engineering, and computer science, with a
focus on blockchain technologies as the foundation. This course is designed to provide students not
only with theoretical knowledge but also with practical skills necessary for understanding and
applying blockchain technologies across various sectors. Our findings indicate that the emphasis on
shifting from traditional client-server architectures to decentralized systems, with JavaScript as the
leading programming language, is essential for the education of future Web3 engineers and
developers. However, we also recognize the importance of including Solidity, the key programming
language for the Ethereum blockchain, which enables the development of smart contracts and
decentralized applications (DApps). Solidity represents a bridge between traditional programming
and the new paradigms brought by blockchain, offering students the opportunity to engage in the
development of applications that are not only innovative but also vital for the future of decentralized
technologies.
The course will cover fundamental concepts of blockchain, including cryptography, distributed
ledgers, consensus algorithms, and blockchain security, as well as advanced topics such as smart
contract development, the Ethereum platform, and DApps development using Solidity.
Additionally, we plan to integrate case studies and practical projects that will allow students to
apply their knowledge in real-world scenarios, preparing them for the challenges and opportunities
offered by the job market in the Web3 field. This course will not only provide students with the
technical skills needed to work in the blockchain field but will also equip them with critical thinking
and an understanding of how blockchain technologies can transform various industries. Our goal is
to create a generation of engineers and developers who not only understand the technological
aspects of blockchain but can also contribute to its application in innovative and ethically
responsible ways.
Keywords 1
Blockchain, Web3, distributed applications, higher education, Solidity, smart contracts
1. Motivation
Our motivation for this paper comes from the current curricula at Higher Education Institutions
(HEIs) aimed at future engineers and developers, which is, in the existing state, lagging in the shift from
Web 2.0 to Web3 [1]. Currently, the Internet, comprised of user-generated content, which is the basis
of Web 2.0, is experiencing a shift to more decentralized and public environment with blockchain
technologies (BCTs) at the forefront [2]. In addition, Web3 will be powered by powerful artificial
intelligence (AI) algorithms in order to help empower even more intelligent and adaptive applications
[3, 4]. Undergraduate students are still being taught technologies and software architectures which
follow Web 2.0 at best, or Web 1.0 at worst, while novel concepts are left for the graduate and PhD
level of studies.
Proceedings for the 14th International Conference on e-Learning 2023, September 28-29, 2023, Belgrade, Serbia
EMAIL: nemanja.zdravkovic@metropolitan.ac.rs (A. 1); nikola.dimitrijevic@metropolitan.ac.rs (A. 2);
ORCID: 0000-0002-2631-6308 (A. 1); 0000-0002-8038-0642 (A. 2);
©️ 2023 Copyright for this paper by its authors.
Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR Workshop Proceedings (CEUR-WS.org)
CEUR
ceur-ws.org
Workshop ISSN 1613-0073
Proceedings
171
Unfortunately, the current job market for software engineers and developers are in dire need of
people who are already proficient in Web3 technologies, even at starting-level positions.
In this paper, we propose an undergraduate level course, aimed at last-year students, which should
help close the needed gap between current curricula in Web applications to actual market needs, in
accordance with the IEEE/ACM guidelines for Computer Science and Information Technologies
Curricula.
2. Methodology
We firstly review relevant literature and guidelines for undergraduate-level curricula in EE/CS/IT,
with focus on the technologies with the highest rate of advancement – Web technologies [6].
Afterwards, we compare the data with relevant job positions to cross-reference employers’ needs in
terms of technologies, i.e. tech-stack.
Finally, we propose the development of two distinct but interconnected curricula to be taught over
a single semester at an HEI. The first curriculum is centered on web development and JavaScript, laying
the foundational knowledge and skills essential for understanding and engaging with modern web
technologies. This curriculum is designed not only to provide comprehensive training in web
development but also to serve as a prerequisite for the second curriculum.
The second curriculum delves into blockchain technology (BCT) and Web3, building upon the web
development principles acquired in the first course. This advanced curriculum emphasizes the
disruptive potential of BCTs in the Web3 landscape. It focuses on decentralization principles, smart-
contract programming languages, and the practical applications of these technologies in creating
decentralized applications.
Furthermore, given the increasing relevance of edge devices in the Web3 ecosystem, it is crucial for
students to gain an understanding of the inner workings of battery-powered end user devices.
Knowledge of wireless mobile communications standards and protocols, particularly those pertaining
to 5G and beyond, is also integral. This understanding is essential as these technologies form the basis
of communication and interaction in the Web3 domain.
Together, these curricula provide a comprehensive educational pathway, equipping students with
the necessary skills and knowledge to excel in the evolving field of Web3 and blockchain technologies.
3. Curriculum Design for Web course
This chapter delves into the core technologies of JavaScript (JS) and React, which form the
foundation of modern web development, especially in the context of Web3 applications. Over a 15-
week course, with 7 weeks dedicated to JavaScript and 8 weeks to React, students will gain a
comprehensive understanding of these technologies, their evolution, and their application in the rapidly
growing field of Web3 development.
JavaScript, often abbreviated as JS, is a high-level, interpreted programming language that is a core
component of the World Wide Web. Initially designed for client-side web development, JavaScript has
evolved to become a versatile language used in various environments, from server-side with Node.js to
mobile app development [7, 8].
React, developed by Facebook, is an open-source JavaScript library for building user interfaces,
particularly for single-page applications. It allows developers to create large web applications that can
change data without reloading the page [9, 10].
The combination of JavaScript and React is particularly powerful in the development of
decentralized applications (dApps) on blockchain platforms. JavaScript's versatility and React's
efficient rendering make them ideal for creating interactive and responsive web interfaces for
blockchain-based applications [11].
172
Table 1
Course structure for students focusing on web development, with 3 weeks dedicated to cryptography,
7 weeks dedicated to JavaScript and and 8 weeks dedicated to React.
Week Lessons
Week 1: Introduction to JavaScript Lesson 1: Overview of JavaScript in Web
Development
Lesson 2: Setting Up the Development
Environment
Lesson 3: Basic Syntax and Variables
Week 2: Control Structures and Data Types Lesson 4: Conditional Statements (if, else,
switch)
Lesson 5: Loops (for, while, do-while)
Lesson 6: Understanding Data Types and
Operators
Week 3: Functions and Scope Lesson 7: Writing and Calling Functions
Lesson 8: Scope and Closure Concepts
Lesson 9: Arrow Functions and this Keyword
Week 4: Objects and Arrays Lesson 10: Working with Objects
Lesson 11: Manipulating Arrays (map, filter,
reduce)
Lesson 12: JSON and Object-Oriented
Programming Concepts
Week 5: Asynchronous JavaScript Lesson 13: Understanding Asynchronous
Programming
Lesson 14: Promises and Async/Await
Lesson 15: Making HTTP Requests (AJAX, Fetch
API)
Week 6: Advanced JavaScript Concepts Lesson 16: ES6+ Features (Spread/Rest,
Destructuring)
Lesson 17: Modules and Import/Export
Lesson 18: Error Handling and Debugging
Week 7: JavaScript in Web3 Lesson 19: Introduction to Web3 and JavaScript
Lesson 20: Connecting JavaScript with
Blockchain (Basics)
Lesson 21: Overview of Smart Contracts and
DApps
Week 8: Introduction to React Lesson 22: React Fundamentals and JSX
Lesson 23: Components and Props
Lesson 24: State and Lifecycle Methods
Week 9: React State Management Lesson 25: Handling State in React
Lesson 26: Using Context API
Lesson 27: Introduction to Redux
Week 10: React Router and SPA Lesson 28: Single Page Applications with React
Router
Lesson 29: Dynamic Routing and Navigation
Lesson 30: Managing Route Parameters
Week 11: Advanced React Concepts Lesson 31: Higher-Order Components (HOCs)
Lesson 32: Render Props and Custom Hooks
Lesson 33: Utilizing useEffect and Custom
Hooks
Week 12: React and API Integration Lesson 34: Fetching Data from APIs in React
173
Lesson 35: Handling API Responses and State
Updates
Lesson 36: Error Handling in API Calls
Week 13: Building a React Application Lesson 37: Planning and Structuring a React
App
Lesson 38: Building a Functional Component
Lesson 39: Styling in React (CSS, Styled
Components)
Week 14: React in Web3 Lesson 40: Integrating React with Web3
Lesson 41: Building a Front-End for DApps
Lesson 42: Interacting with Smart Contracts in
React
Week 15: Final Project and Review Lesson 43: Final Project Overview
Lesson 44: Project Development and
Implementation
Lesson 45: Course Review and Future Learning
Pathways
This chapter underscores the importance of JavaScript and React as foundational technologies in
Web3 development. Through the 15-week course, students will not only learn the theoretical aspects of
these technologies but also apply them in practical projects, preparing them for the challenges and
opportunities in the field of Web3.
4. Curriculum Design for blockchain Web3 course
This chapter provides an in-depth exploration of the fundamental technologies and concepts
underpinning Web3 development: cryptography, blockchain, smart contracts, and Solidity. These
elements are crucial for understanding the infrastructure and development of decentralized applications
(dApps) and blockchain systems.
Over a 15-week course, with 3 weeks dedicated to cryptography, 6 weeks dedicated to basics of
blockchain technology and Ethereum and 8 weeks to React, students will gain a comprehensive
understanding of these technologies, their evolution, and their application in the rapidly growing field
of Web3 development.
Cryptography is not just a tool for securing information, but the very foundation upon which the
trust and integrity of blockchain technology are built. It ensures the confidentiality, integrity, and
authenticity of transactions in a decentralized environment. Cryptography has evolved from simple
ciphers used in ancient times to complex algorithms that secure modern digital communications. Its role
in blockchain is pivotal, as it encrypts transactions and creates a secure and immutable ledger [12].
Key cryptographic algorithms used in blockchain include hash functions, public-key cryptography,
and digital signatures. Hash functions like SHA-256 in Bitcoin ensure data integrity, while public-key
cryptography and digital signatures provide secure transaction mechanisms [13].
Blockchain technology is a distributed ledger that records transactions across many computers,
ensuring that records cannot be altered retroactively without altering all subsequent blocks.
Blockchain's decentralized nature eliminates the need for a central authority, making it inherently
resistant to data manipulation. This technology underpins cryptocurrencies like Bitcoin and Ethereum,
and its applications extend to various sectors like finance, healthcare, and supply chain [14]. Blockchain
technology has evolved from its first-generation blockchain (Bitcoin) to second-generation (Ethereum)
with smart contract capabilities, and now to third-generation blockchains focusing on scalability and
interoperability [15].
174
Ethereum is a revolutionary blockchain platform that extends beyond the capabilities of a simple
cryptocurrency like Bitcoin. It was proposed in late 2013 by Vitalik Buterin and development was
crowdfunded in 2014, leading to its live launch in 2015. Ethereum distinguishes itself through its
implementation of smart contracts, which are self-executing contracts with the terms of the agreement
directly written into lines of code [16].
At the heart of Ethereum's functionality is the Ethereum Virtual Machine (EVM), which is the
runtime environment for smart contracts in Ethereum. It is a powerful, sandboxed virtual stack
embedded within each full Ethereum node, responsible for executing contract bytecode. Contracts in
Ethereum are written in high-level programming languages, such as Solidity, and are then compiled
into bytecode, which the EVM can read and execute [17]. Ethereum also introduces the concept of 'gas',
which is a unit that measures the amount of computational effort required to execute operations like
transactions or smart contracts. Every operation in Ethereum requires a certain amount of gas, with
more complex operations requiring more gas. Gas is paid in Ethereum's native currency, Ether (ETH),
and it incentivizes miners to process and validate transactions on the network [18].
Ethereum's ability to support decentralized applications (dApps) through smart contracts has opened
up a wide range of possibilities, from decentralized finance (DeFi) to non-fungible tokens (NFTs), and
more. This functionality has positioned Ethereum as a leading platform for blockchain-based
innovations [19].
Smart contracts are self-executing contracts with the terms of the agreement directly written into
code. They run on the blockchain and automatically execute when predetermined conditions are met.
Smart contracts enable the automation of complex processes in a transparent and conflict-free
environment, reducing the need for intermediaries. They are pivotal in applications like decentralized
finance (DeFi) and non-fungible tokens (NFTs) [20].
Solidity is a statically-typed programming language designed for developing smart contracts that
run on the Ethereum Virtual Machine (EVM). It is influenced by C++, Python, and JavaScript and is
designed to target the unique requirements of blockchain-based applications. Solidity's syntax is similar
to that of JavaScript, making it relatively easy for developers with a background in web development
to learn. It allows for the creation of complex contracts for decentralized applications, including voting
systems, crowdfunding platforms, and automated token exchanges [21].
Table 2
Course structure for students focusing on blockchain and Web3 development, with 3 weeks dedicated
to cryptography, 3 weeks dedicated to Basics of Blockchain Technology and Ethereum Systems and
eight weeks dedicated to Basics of Smart Contracts.
Module Lesson
Module 1: Cryptography Lesson 1: Introduction to Cryptography
Module 1: Cryptography Early Cryptography and First Algorithms
Module 1: Cryptography Hash Functions and Practical Exercises
Module 2: Basics of Blockchain Technology and Lesson 4: The History of Money and
Ethereum Cryptocurrency
Module 2: Basics of Blockchain Technology and Lesson 5: Digital Ledger Systems
Ethereum Systems
Module 2: Basics of Blockchain Technology and Lesson 6: Decentralized Consensus
Ethereum Systems
Module 2: Basics of Blockchain Technology and Lesson 7: The Evolution of Blockchain
Ethereum Systems Technology
Module 2: Basics of Blockchain Technology and Lesson 8: Introduction to Ethereum
Ethereum Systems
Module 2: Basics of Blockchain Technology and Lesson 9: Ethereum's Mechanics and Gas
Ethereum Systems Concept
Module 3: Basics of Smart Contracts Lesson 10: Introduction to Smart Contracts
Module 3: Basics of Smart Contracts Lesson 11: Working with the Remix
Environment
175
Module 3: Basics of Smart Contracts Lesson 12: Smart Contract Basics: Data Types,
Functions, and Operations
Module 3: Basics of Smart Contracts Advanced Smart Contract Concepts:
Deployment, ABI Interfaces, Test Networks, and
Test Ether
Module 3: Basics of Smart Contracts In-Depth Smart Contract Development:
Memory, Storage, Calldata, Constants,
Inheritance, and Polymorphism
Module 3: Basics of Smart Contracts Lesson 15: Interacting with Smart Contracts:
ERC20 and ERC721 Standards, Contract
Interactions, and Abstract Contracts
5. Conclusion
Our research has highlighted a significant gap in the availability of comprehensive Web3 curricula
at the undergraduate level. While many Higher Education Institutions (HEIs) offer advanced courses
on these topics at the Master's or PhD levels, there is a clear need for introducing Web3 concepts earlier
in the academic journey, specifically in the final years of undergraduate studies. This early introduction
is crucial for aligning educational outcomes with the evolving demands of the Web3 job market. Our
proposed course framework, with its dual-curriculum approach, addresses this gap effectively. The first
curriculum, focusing on web development and JavaScript, lays a solid foundation in the principles of
modern web technologies. This foundation is essential not only for understanding the technical aspects
of Web3 but also for ensuring students are well-prepared for the more advanced topics covered in the
second curriculum.
The second curriculum delves deeper into blockchain technologies, which are increasingly
recognized not just for their role in cryptocurrencies but more importantly for their application in
decentralized systems - the very cornerstone of Web3. This curriculum is designed to be comprehensive
and rigorous, spanning 15 weeks and adhering to the guidelines set by IEEE/ACM for Computer
Science and Information Technologies Curricula.
In our curriculum, JavaScript emerges as the primary programming language due to its effectiveness
in handling peer-to-peer applications, a key component of decentralized systems. Additionally, we
incorporate newer languages that are gaining prominence in the realm of smart contracts, such as
Solidity and Rust. These languages are critical for students to master in order to develop secure,
efficient, and functional decentralized applications. Furthermore, we emphasize the importance of
integrating topics related to security within the curriculum. As Web3 technologies offer enhanced data
security, particularly in the handling of personal data, it is imperative for students to understand the
security challenges and solutions inherent in these technologies. This knowledge is not only
academically relevant but also crucial for preparing students to address real-world security concerns in
their future careers in the Web3 domain.
In conclusion, our proposed curricula are designed to bridge the current educational gap in Web3
technologies at the undergraduate level. By providing a structured and comprehensive learning
pathway, we aim to equip the next generation of engineers and developers with the skills and knowledge
necessary to thrive in the rapidly evolving Web3 job market.
6. Acknowledgements
This paper was supported in part by the Blockchain Technology Laboratory at Belgrade
Metropolitan University, Belgrade, Serbia, and in part by the Ministry of Education, Science and
Technological Development, Republic of Serbia (Project III44006).
176
7. References
[1] Chisega-Negrilă, Ana-Maria. "Education in web 3.0." JADLET Journal of Advanced
Distributed Learning Technology (2013): 50-59.
[2] Cao, Longbing. "Decentralized ai: Edge intelligence and smart blockchain, metaverse, web3,
and desci." IEEE Intelligent Systems 37.3 (2022): 6-19.
[3] Voshmgir, Shermin. Token economy: How the Web3 reinvents the internet. Vol. 2. Token
Kitchen, 2020.
[4] Filipčić, S. "Web3 & DAOs: an overview of the development and possibilities for the
implementation in research and education." 2022 45th Jubilee International Convention on
Information, Communication and Electronic Technology (MIPRO). IEEE, 2022.
[5] Murray, Alex, Dennie Kim, and Jordan Combs. "The promise of a decentralized internet: What
is Web3 and how can firms prepare?." Business Horizons (2022).
[6] Kimbrell, Julia. The impacts of web 2.0, web 3.0, and web 4.0 technologies used in distance
education. East Carolina University, 2013.
[7] D. Flanagan, JavaScript: The Definitive Guide, O'Reilly Media, 2020.
[8] M. Haverbeke, Eloquent JavaScript: A Modern Introduction to Programming, No Starch Press,
2018.
[9] A. Banks, & E. Porcello, Learning React: Modern Patterns for Developing React Apps, O'Reilly
Media, 2020.
[10] M. Nazare, & J. Murray, React and Web3: Building Complete Web3 Apps with React,
Independently Published, 2021.
[11] D. Dietrich, Building Ethereum Dapps: Decentralized Applications on the Ethereum
Blockchain, Manning Publications, 2021.
[12] J. Katz, & Y. Lindell, Introduction to Modern Cryptography, CRC Press, 2020.
[13] A. J. Menezes, P. C. van Oorschot, & S. A. Vanstone, Handbook of Applied
Cryptography, CRC Press, 1996.
[14] A. Narayanan, et al., Bitcoin and Cryptocurrency Technologies: A Comprehensive
Introduction, Princeton University Press, 2016.
[15] W. Mougayar, The Business Blockchain: Promise, Practice, and Application of the
Next Internet Technology, Wiley, 2016.
[16] Buterin, V. (2014). Ethereum White Paper. Ethereum Foundation.
[17] A. Greco, Mastering Ethereum Virtual Machine, Packt Publishing, 2019.
[18] C. Dannen, Ethereum for Web Developers, Apress, 2017.
[19] W. Mougayar, The Business Blockchain: Promise, Practice, and Application of the
Next Internet Technology, Wiley, 2016.
[20] C. Dannen, Introducing Ethereum and Solidity: Foundations of Cryptocurrency and
Blockchain Programming for Beginners, Apress, 2017.
[21] A. M. Antonopoulos, & G. Wood, Mastering Ethereum: Building Smart Contracts and
DApps, O'Reilly Media, 2018.
177