Como garantir que o garoto conclua uma lição on-line antes de permitir o uso (irrestrito) do computador?


2

Gostaria que meu filho concluísse uma lição on-line neste site: http://www.typingweb.com/ antes de permitir que ele usasse o computador (especificamente: jogando Minecraft!).

Há alguma maneira de fazer isso?

Eu corro o Windows 7 Ultimate. Versões especiais do navegador, contas de usuário etc. podem ser instaladas (ou criadas), se necessário.


1
existe alguma maneira de saber se ele terminou a lição automaticamente, ou seja, um certificado de conclusão que ele imprime ou salva, ou um e-mail do site que diz que ele terminou. Caso contrário, a maneira mais fácil será criar uma conta e senha separadas, protegendo a conta normal, para que ele não possa fazer login e jogar minecraft sem a sua permissão, permitindo que você verifique sua conclusão.
— sww1235

então, há uma lição diária ou algo assim? que, no final, redireciona você para uma página 'bem feita', ou similar ...?
— ᔕᖺᘎᕊ

Respostas:


0

Acabei escrevendo o seguinte código que entra como professor e gera um relatório que mostra quantos segundos seu aluno passou hoje. No meu caso, acabei de criar minha conta como professor e filho como aluno e verifico se ele passou 5 minutos ou mais. O script Groovy abaixo é executado (usando um invólucro .BAT) na conta do meu filho e efetua logoff se ele não concluir os 5 minutos necessários.

@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.2')
import groovyx.net.http.*
import static groovyx.net.http.ContentType.URLENC

import javax.xml.ws.handler.Handler
import javax.xml.ws.http.HTTPBinding

def http = new HTTPBuilder("https://www.typingweb.com")

http.post( path: '/portal/index/login', body: [email: 'your@emailhere.com', password: 'yourpasswordhere'],
        requestContentType: URLENC ) { resp, reader ->

    println "response status: ${resp.statusLine}"
    println 'Headers: -----------'
    resp.headers.each { h ->
        println " ${h.name} : ${h.value}"
    }
    println 'Response data: -----'
    System.out << reader
    println '\n--------------------'
}

def today = new Date().format( 'yyyy-MM-dd' )

println today


http.post( path: "/portal/reports/run/export/1/date/${today}/dateRange/today/endDate//startDate//gaGroupID/all/report/exercises/format/csv"
        ) { resp, reader ->

    println "response status: ${resp.statusLine}"
    println 'Headers: -----------'
    resp.headers.each { h ->
        println " ${h.name} : ${h.value}"
    }
    println 'Response data: -----'
    def lastLine
    reader.eachLine{ line ->
        lastLine = line
    }

    println lastLine

    def seconds = lastLine.split(',')[4].replaceAll('"', '')
    println seconds

    if ( seconds.isNumber() && (seconds.toInteger() >= 300) ) {
        println "Quitting WITHOUT logging off"
        System.exit(0);
    }

    def proc = """msg * "Tienes que hacer 5 minutos de escribir a maquina" """.execute()
    proc.waitFor()
    println "Logging off..."
    """logoff""".execute()
}

0_0. Pode ajudar a dizer que idioma. Java?
— Journeyman Geek

É Groovy (é mencionado na resposta)
— antorsae
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.