diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..023fffd Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index 6bcc731..017bf8a 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,28 @@ -## Introduction +## Round 0 - -Discipline | Fill your discipline name here +Discipline | Computer Science :--|:--| - Lab | Fill your lab name here - Experiment| Fill your experiment name and number here - -### About the Experiment +Lab | Python Programming Lab +Experiment| Classes and Objects -Fill a brief description of this experiment here +
About the Experiment :
+To teach the basics of Classes and Objects in python using an interactive simulator. Initially, we have a task that will help +user to recall his knowledge about Classes and Objects and then an interactive +representation through the simulator that will the help user to enhance his/her concepts.

-Name of Developer | Fill the name of experiment owner here +Name of Developer | Dr. Aparna Dixit :--|:--| - Institute | - Email id| - Department | +Institute | Pranveer Singh Institute Of Technology, Kanpur, Uttar Pradesh +Email id| garima002@gmail.com +Department | Basic Science and Humanities(Assistant Professor) + -### Contributors List +#### Contributors List SrNo | Name | Faculty or Student | Department| Institute | Email id :--|:--|:--|:--|:--|:--| -1 | . | . | . | . | . -2 | . | . | . | . | . +1 | Dr. Aparna Dixit | Faculty | Basic Science and Humanities(Assistant Professor) | Pranveer Singh Institute Of Technology, Kanpur, Uttar Pradesh | garima002@gmail.com +2 | Yash Srivastava | Student | Dept. of Information Technology | Pranveer Singh Institute Of Technology, Kanpur, Uttar Pradesh | officialyash2616@gmail.com +3 | Pawan Yadav | Student | Dept. of Information Technology | Pranveer Singh Institute Of Technology, Kanpur, Uttar Pradesh | pkpawan954@gmail.com +4 | Sumit Yadav | Student | Dept. of Computer Science and Engineering | Pranveer Singh Institute Of Technology, Kanpur, Uttar Pradesh | sumityadav2408@gmail.com +5 | Suryansh Tripathi | Student | Dept. of Computer Science and Engineering | Pranveer Singh Institute Of Technology, Kanpur, Uttar Pradesh | suryansh1004@gmail.com diff --git a/experiment/.DS_Store b/experiment/.DS_Store new file mode 100644 index 0000000..5c6b3a9 Binary files /dev/null and b/experiment/.DS_Store differ diff --git a/experiment/README.md b/experiment/README.md index 4dd6e8c..4030cdd 100644 --- a/experiment/README.md +++ b/experiment/README.md @@ -1 +1,168 @@ -### README \ No newline at end of file +### Aim + +In this experiment, user will learn the concepts of objects and classes used in Python programming language. + +2. To implement those concepts in solving a simple problem in the simulator. + +### Theory + +

There are three things that we can do with class

+ +1.) Class variables:- A variable that can be shared by each and every object of the class.
+2.) Instance variable:- A variable that is unique and can be used only in the instance or object in which it is called.
+3.) Method :- These are the functions that define inside a class.
+Syntax:
+class class_name:
+statements + +

How to define class objects

+ +Syntax:
+Object_name.class_name() + +

How to give values to objects in a class

+Syntax:
+Object_name.Marks = 56,
+Object_name.Name = 'Nitin Rautela'
+ +h4>How to call objects of a class + +Syntax:
+print(Object_name.Marks)
+Output: 56
+ +### Procedure + +

Steps of simulator


+ 1. Read the Simulator details.
+ 2. Enter the desired input.
+ 4.  Press CALCULATE to proceed.
+ 5. The code will be displayed
+ 6. Press NEXT to see the execution of code.
+ 7. Relevant line in the code will be highlighted.
+ 8. The local variables will be shown in the Output Panel with their values.
+ +### Pre Test + +1. "What is Instantiation?" +
+ A. Modifying an instance of class +
+ B. Copying an instance of class +
+ C. Creating an instance of class +
+ D. Deleting an instance of class +
+

+
+ 2."Class instantiation uses:" +
+ A.  Object notation +
+ B.  Function notation +
+ C.  Class notation +
+ D.  None of the mentioned +

+

+
+ + 3. "Special methods need to be explicitly called + during object creation." +
+ A.  True +
+ B.  False +
+

+

+
+4."Which of the following keywords is used in the + begining of class definition?" +
+ A.  class +
+ B.  return +
+ C.  def +
+ D.  All of the above. +

+

+
+5. Classes are used to _______which have functions + and variables. +
+ A. Create objects +
+ B. Create functions +
+ C. Create variables +
+ D. Create constructors +
+

+
+ +### Post Test + +1. A class is instantiated by:[A] +
+ A. . Calling the class object +
+ B.  Creating the class Object +
+ C.  Declaring the class +
+ D.  None of the mentioned +
+

+
+ +2. Which among the following is not a class + method? +
+ A.   Static +
+ B.  Non-Static +
+ C.   Unbounded +
+ D.  Bounded +

+

+
+ +2. For declaration a = Employee(), which of the following stattement is correct. +
+ A.  You can assign an int value to a. +
+ B.   a contains an int value. +
+ C.   a contains a reference to a Circle object. +
+ D.  a contains an object of the Circle type. +

+

+
+ +4. Every class in Python is derived from the class +
+ A.  Object +
+ B.  Functions +
+ C.  Methods +
+ D.  Constructors +

+

+
+ +### References + +

+
+ www.learnpython.org/en/Classes_and_Objects diff --git a/experiment/details.json b/experiment/details.json new file mode 100644 index 0000000..8580d91 --- /dev/null +++ b/experiment/details.json @@ -0,0 +1,46 @@ +{ + + "details": [ + { + "Experiment": "Constructors and Inheritance", // Write your experiment name inside the quotes + "Lab": "Python Programming Lab", // Write your lab name inside the quotes + "Discipline": "Computer Science", // Write discipline name to which experimet belongs inside the quotes + "Technology": "Python" // Write technologies used inside the quotes + } + ], + + "developer": [ + { + "Developer": "Dr. Aparna Dixit", // Write the name of the developer inside the quotes + "Institute": "Pranveer Singh Institute of Technology", // Write your institute name inside the quotes + "InstituteAcronym": "P.S.I.T." // Write acronym of the institute inside the quotes + } + ], + + "contributer": [ + { + "Contributer": "Yash Srivastava", // Write the name of the first contributer inside the quotes + "Institute": "Pranveer Singh Institute of Technology", // Write your institute name inside the quotes + "InstituteAcronym": "P.S.I.T." // Write acronym of the institute inside the quotes + }, + + { + "Contributer": "Pawan Yadav", // Write the name of the second contributer inside the quotes + "Institute": "Pranveer Singh Institute of Technology", // Write your institute name inside the quotes + "InstituteAcronym": "P.S.I.T." // Write acronym of the institute inside the quotes + }, + + { + "Contributer": "Sumit Yadav", // Write the name of the third contributer inside the quotes + "Institute": "Pranveer Singh Institute of Technology", // Write your institute name inside the quotes + "InstituteAcronym": "P.S.I.T." // Write acronym of the institute inside the quotes + }, + + { + "Contributer": "Suryansh Tripathi", // Write the name of the fourth contributer inside the quotes + "Institute": "Pranveer Singh Institute of Technology", // Write your institute name inside the quotes + "InstituteAcronym": "P.S.I.T." // Write acronym of the institute inside the quotes + } + ] + +} diff --git a/experiment/images/README.md b/experiment/images/README.md deleted file mode 100644 index 5723b13..0000000 --- a/experiment/images/README.md +++ /dev/null @@ -1 +0,0 @@ -### This folder contains images used in round 3 documentation. diff --git a/experiment/images/post_q.PNG b/experiment/images/post_q.PNG new file mode 100644 index 0000000..b8211d5 Binary files /dev/null and b/experiment/images/post_q.PNG differ diff --git a/experiment/institute.md b/experiment/institute.md new file mode 100644 index 0000000..d5f8431 --- /dev/null +++ b/experiment/institute.md @@ -0,0 +1 @@ +#### Pranveer Singh Institute of Technology diff --git a/experiment/lab-name.md b/experiment/lab-name.md new file mode 100644 index 0000000..65654d7 --- /dev/null +++ b/experiment/lab-name.md @@ -0,0 +1 @@ +## Python Programming Lab diff --git a/experiment/posttest.json b/experiment/posttest.json index 32f215c..193afbf 100644 --- a/experiment/posttest.json +++ b/experiment/posttest.json @@ -1,12 +1,12 @@ [{ - "question": "A class is instantiated by:", + "question": "_is used to create an object:", "answers": { - "a": "Calling the class object", - "b": "Creating the class object", - "c": "Declaring the class", - "d": "None of the mentioned," + "a": "class", + "b": "constructor", + "c": "User-defined functions", + "d": "In-built functions" }, - "correctAnswer": "a" + "correctAnswer": "b" }, { "question": "Which among the following is not a class method?", "answers": { @@ -15,14 +15,14 @@ "c": "Unbounded", "d": "Bounded" }, - "correctAnswer": "b" + "correctAnswer": "c" }, { - "question": "For declaration a = Employee(), which of the following statement is correct.", + "question": " + A. . Calling the class object +
+ B.  Creating the class Object +
+ C.  Declaring the class +
+ D.  None of the mentioned +
+

+
+ +2. Which among the following is not a class + method? +
+ A.   Static +
+ B.  Non-Static +
+ C.   Unbounded +
+ D.  Bounded +

+

+
+ +2. For declaration a = Employee(), which of the following stattement is correct. +
+ A.  You can assign an int value to a. +
+ B.   a contains an int value. +
+ C.   a contains a reference to a Circle object. +
+ D.  a contains an object of the Circle type. +

+

+
+ +4. Every class in Python is derived from the class +
+ A.  Object +
+ B.  Functions +
+ C.  Methods +
+ D.  Constructors +

+

+
diff --git a/experiment/pretest.json b/experiment/pretest.json index b5329ec..7ec82fd 100644 --- a/experiment/pretest.json +++ b/experiment/pretest.json @@ -1,5 +1,5 @@ [{ - "question": "What is Instantiation?str1[3]= 's'print(str1)? ", + "question": "What is Instantiation? ", "answers": { "a": "Modifying an instance of class", "b": "Copying an instance of class", diff --git a/experiment/pretest.md b/experiment/pretest.md new file mode 100644 index 0000000..be8abc0 --- /dev/null +++ b/experiment/pretest.md @@ -0,0 +1,64 @@ +### Pre Test + +1. "What is Instantiation?" +
+ A. Modifying an instance of class +
+ B. Copying an instance of class +
+ C. Creating an instance of class +
+ D. Deleting an instance of class +
+

+
+ 2."Class instantiation uses:" +
+ A.  Object notation +
+ B.  Function notation +
+ C.  Class notation +
+ D.  None of the mentioned +

+

+
+ + 3. "Special methods need to be explicitly called + during object creation." +
+ A.  True +
+ B.  False +
+

+

+
+4."Which of the following keywords is used in the + begining of class definition?" +
+ A.  class +
+ B.  return +
+ C.  def +
+ D.  All of the above. +

+

+
+5. Classes are used to _______which have functions + and variables. +
+ A. Create objects +
+ B. Create functions +
+ C. Create variables +
+ D. Create constructors +
+

+
+ diff --git a/pedagogy/.DS_Store b/pedagogy/.DS_Store new file mode 100644 index 0000000..7c60de8 Binary files /dev/null and b/pedagogy/.DS_Store differ diff --git a/pedagogy/images/README.md b/pedagogy/images/README.md deleted file mode 100644 index 66c88fe..0000000 --- a/pedagogy/images/README.md +++ /dev/null @@ -1 +0,0 @@ -### This directory contains images used in [pedagogy document](https://github.com/virtual-labs/ph3-exp-dev-process/blob/main/pedagogy/README.org). diff --git a/storyboard/.DS_Store b/storyboard/.DS_Store new file mode 100644 index 0000000..475b0f8 Binary files /dev/null and b/storyboard/.DS_Store differ diff --git a/storyboard/README.md b/storyboard/README.md index 967f69c..0ba0c59 100644 --- a/storyboard/README.md +++ b/storyboard/README.md @@ -1,57 +1,82 @@ -#### Please use the [reference](https://github.com/virtual-labs/ph3-exp-dev-process/blob/main/storyboard/README.org) document to fill this template. Follow the [link](https://github.com/virtual-labs/ph3-exp-dev-process/tree/main/sample/storyboard) to view a sample storyboard document. +## Round 2 - - -## Storyboard - -Delete this line before submission : The core principle of storyboarding is to make the lab/experiment documentation elaborated in a manner that it makes easy for any person (developer/domain and non domain faculty/student) to understand and develop the lab/experiment. - -Experiment 1: Name of the Experiment +Experiment 6: : Class and Objects ### 1. Story Outline: -Describe outline here ( guide : The proposer should first draft the story outline for the proposed outline. This could be 2 or 3 paragraphs.) +
Here, the experiment involves the use of python simulator for implementing class and objects related operations. Python has been an object-oriented language since it existed. Because of this, creating and using classes and objects are downright easy. This concept can be countered with the help of python simulator that provides a friendly programming environment to the beginners; so that every new user can easily perform operations related to class and objects . ### 2. Story: -Describe the Story introduction here (guide : The next step is to write a story. Story should be a brief logical description in simple English. It should talk about the overall execution of the experiment in a simplified manner. (should not include any equations/ drawings). The story should include the following points) ) - #### 2.1 Set the Visual Stage Description: -Describe here : (guide When a user lands up into a simulator, the visual stage is the first thing that user comes across. The visual stage should include all the elements to be seen by a user on an imaginary canvas. (This should NOT include any drawings. ) ) + +

Construction of the Set-up

+ +For better visualization, a simulator is divided into three aections.
+➢ Input Section: Helps in interacting with the user (accepting numbers as inputs).
+➢ Code Section: Displays the subsequent code for each type of choice the user takes to perform any operation.
+➢ Output Section: Displays the output that will be generated after the code runs successfully. #### 2.2 Set User Objectives & Goals: -Describe the objectives and goals in details here : (guide : The user should clearly understand the aims and objective of the experiment. ( how he will begin experiment. ? in descriptive)) + +| Sr. No | Learning Objective | Cognitive Level | Action Verb | +| :----- | :------------------------------------------------------------------------------------------------------- | :-------------- | :---------: | +| 1. | User will be able to:
recall the basics of Classes and Objects | Recall | Identify | +| 2. | User will be able to:
Understand the concepts of objects and classes in Python Programming | Understand | Describe | +| 3. | User will be able to:
implement/use arithmetic operators on input values in Python programs. | Apply | Implement | +| 4. | User will be able to:
take the assignment to evaluate what they learnt and enhance his capabilities. | Analyze | Examine | + +Enhance conceptual and logical skill +
#### 2.3 Set the Pathway Activities: -Describe the pathway activites here : (Guide : Set the pathway activities in line with the learning objectives (LOs) & with a view to achieve the goals set in introductory & pedagogy documnets. (once he begins, how he will traverse through the entire experiment ? in descriptive)) +The simulator tab would allow:

-##### 2.4 Set Challenges and Questions/Complexity/Variations in Questions: +
1. The setup consists of a simulator that helps in performing problems related to class and object with the use of python interpreter.
+2. Additionally, there will be three sections to work upon: Input Section, Code Section and Output Section.
+3. The code section will display the python code for the type of operation you want to perform.
+4. Once the experiment has been performed, you can take the quiz. -Describe the challenges Here : (guide : Set Challenges and Questions/Complexity/variations in questions according to User’s level, so as to invoke the learners’ interest. (while traversing, what challenges he will face? how he has to solve and overcome ? descriptive).) +
-##### 2.5 Allow pitfalls: -Describe the pitfalls here: (guide : (while traversing or while solving challenge, how will we bring a situation in front of him that he commits mistake if he is not attentive , or not following procedure , descriptive)) +##### 2.4 Set Challenges and Questions/Complexity/Variations in Questions: + +Assessment Questions:
+ +
1. 1. A variable that can be shared by each and every object of the class.
+a. Class Variable
+b. Instance Variable
+c. Method Variable
+d. None of the Above


+
2. Objects is an instance of class which stores variables and functions?
+a. True
+b. False
+c. Maybe
+d. None of the Above +

+
+ 3. What is the syntax to define class objects :
+a) Object_name.class_name()
+b)Object_name.class_name[]
+c)Object_name.class_name{}
+d) None of the Above
+
##### 2.6 Conclusion: -Describe conclusion here : (guide: This may include displaying: how much time did the user take to solve the questions/ How many questions were right?/ How many hints did the learner use. Based on this the evaluation/marking to be suggested to the user. (once he is towards the completion of the experiment, what LO he is taking along with him, what will be his probable, interpretation/conclusion , descriptive) ) -##### 2.7 Equations/formulas: NA -Type equations here : (guide : ( a separate sheet having equations / programs for the lab exper3ment to be shared along with the Story submissions (1) . You can mark it as numerical reference numbers within the story narration (like we cite in the research papers) and then separately share these equations/programs sheets as a reference, do not include the equations as a whole in the narration)) -Tool can be used to integrate formula in Markdown [here](http://latex.codecogs.com/eqneditor/samples/example3.php) +
The python interpreter has a number of operations involving objects and classes.Python programming language provides an objective to learn about the classes and objects with the help of a simple program and to implement it in Python programming language. +
+##### 2.7 Equations/formulas: NA -### 3. Flowchart 4 -Link to flow chart Here : Store in the /flowchart folder within pedagogy folder in your repo -
-(guide :The lab proposer should extract logic from the story, prepare a flowchart from the story narration and write the algorithm to execute the black box. use Google Drawings https://docs.google.com/drawings/ (send the link to your flowchart and also attach .png by exporting it ) +### 3. Flowchart -### 4. Mindmap: - Link to mindmap here : Store the mindmap in both .mm & .png extension in the /mindmap folder and include link of only .pdf verison here -
- (guide : An elaborate mind map (connecting all the points in the experiment flow ) should be prepared and submitted by the lab proposer. The mind map should be a clear and detailed document that takes into account all minute intri5acies involved in the development of virtual lab. The mindmap should be self-content and any developer across the globe should be able to code it with all those details. using only FreeMind http://freemind.sourceforge.net/wiki/index.php/Main_Page (send the .png file and also the original .mm extension project file. ) +Flow Chart Image here -### 5. Storyboard : +### 4. Mindmap -Link the storyboard (.gif file ) in here : -(guide: This document should include sketching and description scene wise (duration, action, description). Software to be used for storyboarding : https://wonderunit.com/storyboarder/ (Its a FOSS tool). +mindmap Image here + +### 5. Storyboard +Gif here diff --git a/storyboard/flowchart/README.md b/storyboard/flowchart/README.md deleted file mode 100644 index 7fa03b4..0000000 --- a/storyboard/flowchart/README.md +++ /dev/null @@ -1 +0,0 @@ -### This directory contains flowchart used in [storyboard document](https://github.com/virtual-labs/ph3-exp-dev-process/blob/main/storyboard/README.org). diff --git a/storyboard/mindmap/README.md b/storyboard/mindmap/README.md deleted file mode 100644 index 61da038..0000000 --- a/storyboard/mindmap/README.md +++ /dev/null @@ -1 +0,0 @@ -### This directory contains mindmap used in [storyboard document](https://github.com/virtual-labs/ph3-exp-dev-process/blob/main/storyboard/README.org). diff --git a/storyboard/storyboard/README.md b/storyboard/storyboard/README.md deleted file mode 100644 index 4ea4322..0000000 --- a/storyboard/storyboard/README.md +++ /dev/null @@ -1 +0,0 @@ -### This directory would contain images of the [storyboard document](https://github.com/virtual-labs/ph3-exp-dev-process/blob/main/storyboard/README.org).