Giter Site home page Giter Site logo

codingteacher's People

Contributors

yn-coder avatar

Watchers

 avatar  avatar

codingteacher's Issues

Cell chat

Questions queue for assigning teachers. Commenting-answering for comments on site. Is questions/answers provate?

Questions queue for assigning teachers. Commenting-answering for comments.

description from @ahaflash

Students would normally have some questions about a cell, and teacher has something to say about the cell as well. Ideally, the teacher can "chat" with students individually, or as a group, in area under the cell.

Some students are beginners while others are more advanced. So it's better to separate the discussions for beginner and the advanced.

Only the subjects interested by both groups should be posted to them both.

With the current Azure NB, teachers and students can share NB. But all will have to read the Q/A's. Much like a huge group chat, where everything gets lost

This is the common problems with today's chat apps

The answer might be to allow teacher-student, student-student to chat/discuss 1-on-1, or 1-on-N.

Our help_panel on the right , is a step forward in solving the dynamic help problem.

If we can insert our help in-between the cells, then that would be more helpful

tests

Tests for milestone

Milestone #3 description

Milestone # 3

Notebook side

Write (extend) jupyter extension to add a help attached panel to cell. Attached panel could display a book-cell related help article (retrieved from web API) and allow to student to ask for help from teacher (create a question).

Server side

Extend help retrieving API from get(page_name) to get/post(page_name, cell_data, WL_user). Store WL sessions

Milestone plan

  1. Extension
    1.1. Create a clear extension for cell help box #22
    1.2. Detecting for Windows.Live account from Jupyter #26
    1.3. Extend the help page web request #19
    1.4. More stable notebook update mechanism
    1.5. Testing coverage for Jup ext
  2. Server
    2.1. Sessions (client and server side) for store Windows.Live sessions #2
    2.2. Database migrations #21
    2.3. Extend help retrieving API from get(page_name) to get/post(page_name, cell_data, WL_user). #19
    2.5. Testing coverage
  3. Project support

db

  • heroku postgres
  • exclude db url from code - use os.env instead

Config

Clear and managable config

Application architecture

Our restrictions

  1. Can't find Azure Notebooks (AN) API to control notebooks from external site.
  2. AN doesn't provide the functions for collaboration (like Google colab)
  3. To create the some alternative for collaboration work we have some options - OneDrive and GIT. OneDrive SDK from Microsoft is outdated, and we need a some work to update it. Git is actual, but we need to design some interface to control it in jupyter VM

Variants of application architecture for Azure and Windows.Live authentication

  1. Flask site the WL auth, contain link to main library. Main library contain working Jupyter samples for learn. Students use the Clone and Share functions of Azure Notebooks interface to work. Teacher edit the main library for publish the new version - after it students clone the new version to they new cloned libraries. Proof of concept for this variant is here - https://codingteacher.herokuapp.com/ , ver 0003
  2. Collaboration via OneDrive. To do it we need:
    2.1 install Linux onedrive to jupyter VM, point it to /library folder and start the sync monitor. Add onedrive to Linux VM autostart (or in aznbsetup.sh)
    2.1 install onedrive to flask site and , point it to OneDrive API server
  3. Collaboration via GIT. Git is already installed to VM, but could be controlled from cli. We need to develop some GUI for it (may be in special notebook to run git command on VM from web-interface)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.