# Lesson 3: Assignments & Excercises

## **Assignments and Practical Exercises**

### **Assignment 1**:

* Research and write a brief explanation of how and why `view` and `pure` modifiers are used in Solidity functions.

### **Exercise 1**:

* Create a smart contract with a few functions demonstrating different visibility levels (`public`, `private`, `internal`, `external`) and return values.

### **Exercise 2**:

* Write a contract that includes a custom modifier. Use this modifier to restrict access to one of the contract's functions.

