JECRC University, Jaipur
BCA I Sem. (Section: I)
Lecture Plan
Subject – Smart Contract Development
Course Code: BCA420A
L T Pr C
(Hr r
( ( .) e
H H d
r r i
. . t
) ) s
4 0 0 4
Course Objectives:
· Understand the foundational concepts and significance of smart contracts in decen-
tralized applications.
· Apply organizational strategies, including contracts and libraries, to structure smart
contract code effectively.
· Analyze and evaluate various data types, variables, and functions necessary for
smart contract development.
· Implement advanced features like function modifiers and control structures in Solid-
ity to create and modify smart contracts.
· Evaluate and integrate design patterns specific to Solidity and Vyper for optimized
smart contract development.
· Utilize the Hardhat framework to set up, configure, and conduct testing procedures,
ensuring the robustness of smart contracts.
S U A Reason
n T N T c- for any
.
i o. of e tu Slippage
N
t Ses- n al
o
N sions t De
.
o (s) a liv
. t er
/ i y
N v D
a e at
m D es(
e a s)
t
e
s
(
s
)
Intro to IntelliJ, Creating and 1
Running a New Project, Java
1 Development Kit, Integrated De-
velopment Environment, Intro-
duction to Variables, Variables
in Java
Uni
tI
2 Updating variables, Working 1
With Variables In Java, Intro-
duction to Data Types
3 Arithmetic Operators, User In- 1
put, Casting, Strings and Char-
acters, Arrays
4 Relational and Logical Opera- 1
tors, Logical Operators in Java,
Precedence Order of Logical
Operators, Comments in Java,
Errors and Debugging
6 Conditional Statements and If
1
Else, Else If Statements, Nested
If Else, Switch Case, Switch
Unit
II Case-Examples
7 The accounting equation: Assets
1
= Liabilities + Equity, Transac-
tions and their impact on the ac-
counting equation, Definitions
of single entry accounting and
double entry accounting
8
Additional Reading: The 1
Ternary Operator, Understand-
ing loops-The While Loop,
While Loop: Examples, The For
Loop, For vs While
9 For Loop: Examples, Do-While
1
loop, Arrays: Initialization via
Loops, Continue Statement, Un-
derstanding Functions, Passing Pa-
rameters, Functions Practice
1 Components: Revenue, Expenses,
0 1
Net Income, What are trial balance
and adjustments
1 Pass by Value, Inbuilt Func-
1 1
tions, Reading from a File, Ex-
ceptions, Writing to a File, Ex-
ception Handling - Concept
1 Types: Debt, equity, derivatives, 1
8 hybrids, Characteristics and key
differences, Types of bonds: Gov-
ernment, corporate, municipal,
Features, risks, and practical appli-
cations
1 Unit Introduction to Classes, Introduc- 1
9 III tion to Objects, Multiple Objects in
a Class, Constructors
2 Parameterised Constructors, Static 1
0 + Final Keywords, First Principle
of OOP - Abstraction, Program-
ming Exercise
2 Differences in ownership, risk, re- 1
1 turns, Impact on capital structure
and investor preferences, Defini-
tion and characteristics of fungible
and non-fungible assets, Examples
and market impact
2 Private Access Modifier, Getter 1
2 Methods, Setter Methods, Con-
structors and Setter Methods
2 Private Methods and Constructors, 1
3 The Second Principle of OOP -
Encapsulation, Industry Demon-
stration
2 Inheritance, Inheritance in Java, 1
7 Inheriting from Subclasses
2 Method Overloading, Dynamic 1
8 Polymorphism, Abstract Classes
2 Interface, Abstract Class 1
9 UNIT
IV
3 Physical Representation of 1
0 LinkedList, LinkedList, Lists and
Polymorphism
3 ListIterator, Performance Measure- 1
1 ment, Physical Representation -
Adding Elements to ArrayList
3 Introduction to Primary Markets: 1
6 Purpose and participants, Types:
IPOs, private placements, rights is-
sues
3 Physical Representation - Remov- 1
7 ing Elements to ArrayList, Physi-
cal Representation of LinkedList
3 Physical Representation - Adding 1
8 Elements of LinkedList, Industry
UNIT Demonstration
V
3 Recursion Basics, Recursion in 1
9 Java, Infinite loops and Halting
Condition
4 Apply your knowledge of OOP to 1
0 build a simpler version of the Dis-
cussion Forum of upGrad platform
that can run locally on your com-
puter.
Course Outcomes (COs):
CO1 Apply object-oriented programming principles
CO2 Use the exception handling mechanism of Java
CO3 Use classes and object to implement Abstraction & Encapsulation
CO4 Use inheritance and polymorphism as implemented in Java
CO5 Apply OOPs principles to build a Discussion Forum of upGrad platform.
MAPPING COURSE OUTCOMES LEADING TO THE ACHIEVEMENT OF PROGRAM
OUTCOMES AND PROGRAM SPECIFIC OUTCOMES:
Course Program Outcome
Outcome
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 L L
CO2 H H
CO3 H H
CO4 H H
CO5 H H
Text Books/Reference Books:
Text Books:-
"Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and
Clifford Stein – Often referred to as CLRS, this book is a comprehensive guide to algorithms and
data structures.
"Data Structures and Algorithm Analysis in C++" by Mark Allen Weiss – A detailed book that
covers data structures and algorithms with a focus on C++.
"Algorithms" by Robert Sedgewick and Kevin Wayne – This book provides a deep dive into algo-
rithms and data structures with practical implementations.
"Data Structures and Algorithms in Java" by Robert Lafore – A well-regarded book for those
working with Java.
"The Algorithm Design Manual" by Steven S. Skiena – This book includes practical advice and a
broad range of data structures and algorithms.
· "Ethereum Smart Contract Development: Build Blockchain-based Decentralized Applications Using Solid-
ity" by Mayukh Mukhopadhy
· "Programming Blockchain Applications: Build decentralized applications with Ethereum and smart con-
tracts" by Michael Yuan
· "Designing Data-Intensive Applications" by Martin Kleppmann
(Kapil Dev Bhardwaj) HoD DEAN