EduSteem - Student Interaction
Repository
https://github.com/bflanagin/EduSteem
Continuing from the my last post ( here ) we continue to work on the student interface. In this update we look at the student's lesson view and how an educator creates tasks for them.
New Feature: LessonView
The lesson view area is where the students will do most of their work. Whether they are just watching a video or composing an essay the lesson view screen is where most of that will take place.
As you can see, several tabs run along the right hand side of the screen. The top two should be self explanatory, but under activity you will find various task related options such as "Turn In", "Take a break", etc. This will also be where educators can leave messages for the students for needed corrections.
Implementation
The LessonView.qml file houses the UI elements as well as the code needed to load the proper template for the task, and we call the loadTask function found in student.js to select the proper lesson.
New Feature: Assignment Editor
Once the lesson view concept had been nailed down I had to rethink how someone selects what the students will be doing, how that data would be added to the database, and how to make choosing the right assignment type as easy as possible. This replaces the old text only input from previous versions. Please note that the information added to the database is scrubbed of all special characters and replaced by database friendly information.
Implementation
As with all my work in Qt the UI is separated from the logic. Thankfully nothing had to be done in the logic given that all the needed functionality was already in place. If you would like to check out the qml file you can find it here ( AssignmentEdit.qml)
New Feature: Assignment Templates
Behind the above features are a set of templates and their associated settings pages. Named logically after their task this update includes:
Journal: A text document that is used for the students thoughts. Includes a template for adding images, as well as one with a prompt.
Writing: Similar to the Journal tasks this task will be used for any long form text input and is graded on a different metric.
Web: Displays a website for the students to interact with. The templates include: Site Only, Site+Notes, and Site+ Questions depending on what the educator needs.
Video: Similar to Web but with a video window instead of a web-page.
Implementation
All code required for these templates can be found here (Templates)
New Feature: Assignment List View
Last but not least, with the new data being created by the assignment editor we needed a new way to display the assignment in the lesson plan editor. It is indeed a simple implementation requiring very little code. However, the addition to the interface is as important as any other aspect when it comes to usability.
Implementation
The code for this addition can be found here (Assignment_ListView.qml)
In the next post I will have implemented most of the back and forth between the student and the teacher. Making sure that things move smoothly between new, started, reviewed, revised, and accepted will be key to the success of the project.
Find out more
eduSteem is going through a development sprint. These weekly updates, help keep me on track as well as giving those that are interested detailed reporting of my progress. The goal is to have it ready for use in a small school setting by the end of July. For further reading check out these other posts here on Steemit.
Thank you for your contribution.
XMLHttpRequest
could be just replaced with jQuery ajax calls[info[15], info[17], info[4], info[5], info[1], info[6], info[7], info[2], info[3], info[9], info[8], info[10], info[11], info[12], info[13], info[16], info[0]])
this is really un-maintainable.var dataSTR = "SELECT * FROM Lessons WHERE id ='" + useri + "' AND unitnumber =" + unitnumber + + "' AND nitnumber =" + unitnumber + " ORDER BY lessonNum ASC"
is subject to SQL injection --- not safe at all.Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]
Hey @bflanagin
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!
Congratulations @bflanagin! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 19 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.
I upvoted your contribution because to my mind your post is at least 9 SBD worth and should receive 71 votes. It's now up to the lovely Steemit community to make this come true.
I am
TrufflePig
, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!Have a nice day and sincerely yours,

TrufflePig