Подходящая среда для [закрытого] 7-летнего

Я понял:

open class A
class B : A()
class C : A()
data class D(val map: Map<Class<out A>, String>)

@MapKey
internal annotation class MyClassKey(val value: KClass<out A>)

@Module
object ModuleA {

    @JvmStatic
    @Provides
    @IntoMap()
    @MyClassKey(B::class)
    fun provideB(): String {
        return "B"
    }

    @JvmStatic
    @Provides
    @IntoMap()
    @MyClassKey(C::class)
    fun provideC(): String {
        return "C"
    }

    @JvmStatic
    @Provides
    @IntoMap()
    @MyClassKey(A::class)
    fun provideA(): String {
        return "A"
    }

    @JvmStatic
    @Provides
    fun provideD(map: Map<Class<out A>, String>): D {
        return D(map)
    }
}

@Component(modules = [ModuleA::class])
@Singleton
interface ComponentA {
    fun d(): D
}

fun main(args : Array<String>) {
    val dagger = DaggerComponentA.builder().build()
    val d = dagger.d()
    println(d.map) // {class dagger.B=B, class dagger.C=C, class dagger.A=A}
}

Мне нужно было предоставить пользовательскую аннотацию @MapKey:

@MapKey
internal annotation class MyClassKey(val value: KClass<out A>)

И изменить

fun provideD(map: Map<Class<A>, String>): D { 

на [ 118]

fun provideD(map: Map<Class<out A>, String>): D {
42
задан 10 revs, 6 users 47% 12 July 2013 в 05:22
поделиться

30 ответов

В JavaScript существует на самом деле интерпретатор Логотипа на базе браузера.

http://logo.twentygototen.org/

23
ответ дан cdonner 26 November 2019 в 23:28
поделиться

Вы могли также использовать эмулятор Commodore 64. Это запуск прямо от ОСНОВНОГО.

0
ответ дан raspi 26 November 2019 в 23:28
поделиться

Я заинтересовался программированием, когда я был представлен языку Turing в средней школе. Turing использовался в качестве обучающего языка во многих школах в то время, и он работал очень хорошо, чтобы я представил концепции программирования. Вот описание Turing от Википедия

, Turing является подобным Паскалю языком программирования, разработанным в 1982 Ric Holt и James Cordy, затем Университета Торонто, Канада. Turing является потомком Euclid, Паскаля и SP/k, который показывает чистый синтаксис и точную машинно-независимую семантику.

Названный в честь британского программиста Alan Turing, Turing используется, прежде всего, в качестве обучающего языка на уровне средней школы и университета. Две других версии существуют, Объектно-ориентированный Turing и Turing Плюс, системы, программируя вариант. В сентябре 2001, "Объектно-ориентированный Turing" был переименован в "Turing", и исходный Turing был переименован в "Классика Turing". Turing доступен от Holt Software Associates в Торонто.

Версии для Microsoft Windows, Linux и Apple Macintosh доступны. Turing все еще широко используется в средних школах в Онтарио как введение в программирование.

В ноябре 2007, Turing, который был ранее коммерциализированным языком программирования, стал бесплатным программным обеспечением. С 28 ноября 2007, это было доступно для скачивания от веб-сайта Holt Software бесплатно для персонального, коммерческого, и образовательного использования. 1

0
ответ дан 7wp 26 November 2019 в 23:28
поделиться

Писк система Smalltalk является реализацией Smalltalk, о котором я услышал много пользы когда дело доходит до обучения детей в программировании. проект Etoys, предположительно, содержит много ресурсов для хранения забавы полезного опыта и мотивации.

0
ответ дан PHeiberg 26 November 2019 в 23:28
поделиться

Там книга назвала Обучение программировать от прагматического, который приспособлен к людям, которые никогда не программировали прежде и не могли бы быть чрезвычайно техническими.

Это использует Ruby, который может быть довольно легок для новых людей взять.

0
ответ дан nkassis 26 November 2019 в 23:28
поделиться

Я искал бы один из многих механизмов аркады и позволил бы ему играть с этим. Выберите тот, где он должен будет использовать циклы и условия и возможно некоторые процедуры.

0
ответ дан Itay Moav -Malimovka 26 November 2019 в 23:28
поделиться

Лично, я думаю, что основы арифметических операций и Булевой логики более важны для обучения ребенку сначала. После того, как они схватили эти понятия тогда, я думаю, идя дальше к основным конструкциям, являются соответствующими. Я просто не вижу, как ребенок мог понять условные выражения и цикличное выполнение без Булевой логики, но с другой стороны, там существуют некоторые довольно яркие дети:)

Принятие предыдущего оператора встречено, я должен был бы отдать свой голос за Python.

1
ответ дан javamonkey79 26 November 2019 в 23:28
поделиться

Я немного порван о Alice.

, С одной стороны, хорошо иметь платформу, где можно программировать с прямым визуальным удовлетворением. Это - действительно хорошая идея.

, С другой стороны, я думаю, что это - очень плохая идея иметь программу новичков исключительно перетаскиванием. Я боюсь, что это могло бы даже привести к своего рода неграмотности, где они неспособны произвести правильно написанный код, когда интерфейс перетаскивания устранен.

1
ответ дан Svante 26 November 2019 в 23:28
поделиться

В то время как кажется, что это перепроектируется, можно все еще получить старую версию Взлом Hackety , который является рубиновым набором программирования, разработанным _why для подростков и начало программистов.

1
ответ дан Eddie Jesinsky 26 November 2019 в 23:28
поделиться

Я был связан с компьютерным курсом основного класса с помощью Stagecast. Это - графический язык программирования, разработанный для детей. Я нашел это идеальным вводным языком, потому что это является графическим и интерактивным. Это не требует чтения или математики, это работает на Windows и Mac OS, и идеально для простых игр, таким образом, дети мотивированы для изучения.

1
ответ дан Dour High Arch 26 November 2019 в 23:28
поделиться

Etoys является, возможно, вещью, которую Вы ищете. Это - частично графический аромат smalltalk, сделанного только для детей. Это используется olpc проектом.

1
ответ дан SingleNegationElimination 26 November 2019 в 23:28
поделиться

Две мысли приходят на ум:

  • Мой 3-летний сын любит играть Мир Липкой вещи со мной. Он еще не может решить проблемы, но я вижу, что он впитывает загрузки информации.
  • Делают попытку с Alice. Мой сын является слишком маленьким для попытки этого, но как только он старше, мы дадим ему движение, если он будет увлечен. FWIW я узнал об этой программе после наблюдения Последний Lecuture Randy Pausch (R.I.P)
2
ответ дан si618 26 November 2019 в 23:28
поделиться

Я сказал бы, что Visual Basic использования или что-то подобное, где Вы не должны волноваться о синтаксисе, фигурных скобках, и т.д. так же. Я программировал в 7, но это было в ЛОГОТИПЕ и C64 Основной. Я НЕНАВИДЕЛ ЛОГОТИП... было столь печально мне, что одна из "больших" вещей, которые Вы могли сделать, была, перемещают глупую черепаху. Однако Основной C64 (мне) был большим..., как только у меня было это вниз (пара лет), я был возбужден для изучения C и даже ассемблера C64.

2
ответ дан Beep beep 26 November 2019 в 23:28
поделиться

Почему бы не вернуться ко дням QBasic? Это - первый язык, который я выучил (на самом деле, это был GW-BASIC, но это не относится к делу).

синтаксис намного легче получить голову вокруг (хотя непостоянный и иногда совершенно печальный). Это не преподает ничему OO, но это, вероятно, выше его головы так или иначе, поскольку это было бы моим.

Этот сайт может также представлять интерес.

2
ответ дан lc. 26 November 2019 в 23:28
поделиться

Сбегите из Java! Попробуйте что-то разработанное за обучение, как царапина , ЛОГОТИП, или Схема .

PLT
3
ответ дан Norman Ramsey 26 November 2019 в 23:28
поделиться

Попробуйте Маленький Основной , который имеет мини-язык Basic и упрощенный для младшей толпы.

4
ответ дан Inisheer 26 November 2019 в 23:28
поделиться

Microsoft имеет несколько интересных усилий, который кажется хорошим соответствием:

  • popfly: http://msdn.microsoft.com/en-us/devlabs/cc950523.aspx ---"Popfly включает простой способ создать и совместно использовать игры с Вашими друзьями. Выберите из множества встроенных шаблонов или начните с нуля создавать сторону, прокручивающую игру, 2D shoot-em-up или хост других. И лучший из всех, можно начать, не пишущий строку кода"... Я думаю, что это может действительно помочь быть мотивированным:)

    • smallbasic: http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx ---, который, как предполагают, был упрощен, но имеющий intellisense +. сетевая поддержка платформы (краткое описание также продает как, таким образом, я не вставлял его: P)
5
ответ дан eglasius 26 November 2019 в 23:28
поделиться

В плане развития семилетний вряд ли схватит основы синтаксиса даже на их разговорном языке.

Безотносительно языка или среды, которую Вы используете, я рекомендовал бы фокусироваться на идее запрограммировать как игра, а не способность записать фактические программы. К этому концу что-то можно работать из командной строки и видеть, что непосредственные результаты, как Python или, для более графического опыта, Silverlight, вероятно, были бы лучшими.

5
ответ дан Yes - that Jake. 26 November 2019 в 23:28
поделиться

Я думаю, что Python мог бы соответствовать Вашим потребностям. Это известно за то, что было легче учиться, чем много других языков и интерактивный интерпретатор позволяют программистам сразу видеть то, что происходит, когда часть кода выполняется. НЕАКТИВНЫЙ gui, который идет с ним, прост в использовании. Это также имеет модуль черепахи через TKinter.

https://docs.python.org/library/turtle.html

6
ответ дан 2 revs, 2 users 80% 26 November 2019 в 23:28
поделиться

Царапина является другим. Разработанный в MIT специально для цели преподавать программирование детям.

6
ответ дан Jörg W Mittag 26 November 2019 в 23:28
поделиться

Скажите ему о синтаксических анализаторах. Просто необходимо добавить контекст и обоснование к тому, почему вещи существуют. Фигурные скобки - то, так, чтобы машина, которая читает код, знала, где вещи запускаются и останавливаются.

я нахожу, что большинство людей включая детей берет вещи легко, пока Вы объясняете цель из них. Поэтому школа была ужасным отказом для меня, никто когда-либо объяснение идеи изучения половины материала.

9
ответ дан Quibblesome 26 November 2019 в 23:28
поделиться

Я изучил, как программировать, когда я был 10 в точно способ, которым Вы учили своего сына. Мой папа использовал интерпретатор GW-Basic, который шел с нашим AT& T PC6300, и мы записали игру, где компьютер задал Вам вопрос, и необходимо было ответить на A/B/C. Большое преимущество для синтаксиса в GW-Basic состояло в том, что у Вас не было многострочных операторов. Вы могли бы хотеть попробовать что-то подобное. Java, с он - фигурные скобки, могло бы быть немного жестким.

Пример кода:

10 PRINT "What color is Big Bird?"
20 PRINT "A. Blue"
30 PRINT "B. Green"
40 PRINT "C. Yellow"
50 INPUT$ ANSWER$
60 IF ANSWER$ = "C" THEN PRINT "Good Job!" ELSE PRINT "Oops, wrong answer!"

я провел часы на часы с помощью различных перестановок того синтаксиса и пишущий мои собственные "игры". И это заставило меня хотеть узнать больше... мог бы помочь.

12
ответ дан J. Polfer 26 November 2019 в 23:28
поделиться

Я категорически не согласен с людьми, которые говорят, что семи годам было бы нелегко изучать новый синтаксис. Это полностью назад. Попробуйте обучающую латынь свиньи семилетнему и к тридцати что-то неноситель английского языка. Или попытайтесь путешествовать в иностранном государстве со своими детьми. Посмотрите, кто может болтать бегло с собственными компонентами после месяца (подсказка: это, вероятно, не будете Вы).

погрузка Детей на произвольных лингвистических конвенциях очень быстрее, чем мы седые волосы делают.

23
ответ дан 2 revs, 2 users 78% 26 November 2019 в 23:28
поделиться

Можно также выбросить Lego ™ Mindstorms ™ в качестве возможности. Он использует графический язык программирования на основе LabView.

0
ответ дан GoatRider 26 November 2019 в 23:28
поделиться

Попросите его проверить http://scratch.mit.edu . Мой семилетний учится этому, когда мы печатаем ...

2
ответ дан McGovernTheory 26 November 2019 в 23:28
поделиться

Я недавно ответил на аналогичный вопрос SO указателем на kidbasic , кроссплатформенное программное обеспечение с открытым исходным кодом.

0
ответ дан 26 November 2019 в 23:28
поделиться

Я прочитал этот пост сегодня, а затем случайно зашел на YUP.com и обнаружил

Обучение детей взлому (программа) с помощью Hackety Hack

Решил, что отправлю его как дополнительный ресурс для всех глядя на этот вопрос.

0
ответ дан 26 November 2019 в 23:28
поделиться

Схема хороша и синтаксически похожа на Logo в отношении простоты. Кроме того, Scheme предлагает очень интуитивно понятный способ понимания рекурсии и сбора таких фундаментальных концепций в информатике, которые на раннем этапе не что иное, как хорошо с большим количеством пользы.

Схема UCB также предлагает множество встроенных функций для управления предложениями, которые может иметь больше смысла для семилетнего ребенка, чем построение многоугольников и решение числовых головоломок (не говоря уже о том, что нет предела!).

0
ответ дан 26 November 2019 в 23:28
поделиться

Я набирал программы из книги «BASIC Fun», когда учился во 2-м классе.

Я отчетливо помню, что концепции бесконечных циклов и INPUT A $ походили на открытие гравитации. Головоломка.

Самоучка, мой прогресс был невероятно медленным, хотя я действительно достиг точки в программе, когда мне хотелось, чтобы GOSUB принимал переменные аргументы, что, оглядываясь назад, означало, что я понял указатели на функции.

Мои ранние цели включали написание ДЛИННЫЕ программы. Длительная программа - неплохая цель для 7-летнего ребенка, потому что программа с четко определенной спецификацией делает риск неудачи слишком высоким. Любой может написать длинную программу, чувствовать себя хорошо и многому научиться на этом пути.

Был целый жанр книг по программированию на BASIC для видов из 80-х. Это отличный источник идей для программирования. Однако я бы не рекомендовал использовать BASIC даже для 7-летнего ребенка - lua имеет простое ощущение BASIC, но это не сломанная чушь.

0
ответ дан 26 November 2019 в 23:28
поделиться

Не смотрите дальше, на самом деле существует целая обучающая платформа / ОС, предназначенная именно для этой цели: Sugar .

OLPC (один ноутбук на ребенка) Операционная система под названием Sugar теперь доступна для широкой публики, и вы можете запускать ее как виртуальную машину во всех основных операционных системах, таких как Mac, Windows и Linux.

Загрузите копию по адресу . ] Sugar Labs .

Одно интересное занятие называется TurtleArt, усовершенствованная версия логотипа 21 века. Также есть удобная для детей версия Python IDE под названием Pippy. Он на самом деле учит детей Python!

См. TurtleArt и Pippy , а также другие занятия , найденные в Sugar.

Алан Кей стоял за некоторыми новыми концепциями в Sugar OS, которая на самом деле является современным воплощением его дальновидного DynaBook. Даже будучи взрослым (который является инженером), мне весело играть с ним.

И если вы любите Sugar как виртуальную машину, вы даже можете купить оборудование и в то же время помочь бедному ребенку в другом месте в мире. .

Engadget объясняет: OLPC XO Buy-One, программа Give-One в стадии реализации

OLPC OX

В качестве бонуса для нас, взрослых , Sugar является производным от Fedora. Так что это настоящая и полноценная ОС на базе Linux. Взломать должно быть весело. ; -)

Выполняется программа Give-One

OLPC OX

В качестве бонуса для нас, взрослых , сахар является производным от Fedora. Так что это настоящая и полноценная ОС на базе Linux. Взломать должно быть весело. ; -)

Выполняется программа Give-One

OLPC OX

В качестве бонуса для нас, взрослых , сахар является производным от Fedora. Так что это настоящая и полноценная ОС на базе Linux. Взломать должно быть весело. ; -)

0
ответ дан 26 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: