java jupyter
无论您在培训中遇到过障碍,无论是老师还是学生,我相信我们都有相同的经验:几个小时很难集中精力。 近年来,这种情况只会变得更糟,因为手机是分散注意力的巨大来源。
结果是最重要的部分是实践。 学生需要将刚学到的东西投入应用,以便:
-
更好地了解
-
知识保留期更长
15年前,我还是学生的时候就开始教学,没有接受任何教学培训。 当我准备新课程时,我将大量精力放在动手部分上。 有时,我会先准备一个研讨会,然后再在上面进行培训。
这是我多年来使用的一些方法。
在黑暗中抓稻草…
之前,我写了关于Word文档的研讨会。 为了分发它们,我首先使用USB密钥,后来在互联网和基于云的应用程序无处不在时使用Dropbox和Google Drive。
我对解决方案进行了编码,使它们
实时
呈现在观众面前,并在必要时解释和回答问题。 根据要求,我将它们交给了zip归档文件中的解决方案代码。
这种方法显然存在很多问题:
-
如果没有人要求解决方案怎么办
-
在这种情况下,没有学生可以使用它。 而且他们无法在以后进行审查。
-
显然可以给他们解决方案。 但是,它处于最终形式:他们看不到步骤。 我认为这是在理解过程和准备考试中的巨大障碍。
-
老师必须分别与每个学生联系,以告诉他们有关再次下载文档的信息。
如果有些学生不参加怎么办
如果问题陈述需要更新怎么办
码头工人
我打算在研讨会上使用Docker映像。 我认为这不是一个好主意,原因有几个:
-
学生将需要学习如何进行设置
-
Docker是设置应用程序服务器的好方法。
我对
IDE
有更多的怀疑。
-
我的经验告诉我,很难在公共教育组织中安装新软件(例如Docker引擎)
源代码管理和页面托管
几年前,我学习了Git。 我意识到,如果结合使用其他一些技术,它可以解决上述问题。
-
讲习班的说明以
Asciidoctor
格式编写
-
指令和代码在Git中进行管理。
-
master
分支包含车间的开始状态,而
solution
分支包含直到最终状态的每个任务的每个步骤。
最后,
documentation
包含说明和构建脚本(请参见下文)
-
一切都存储在
Github上
。
-
-
每个推送的提交都会触发
TravisCI
的构建。
这会将Asciidoctor源转换为HTML。
-
生成HTML在
Github Pages
上可用。
如果您想将源保密,Gitlab是一个很好的选择。
它提供了类似于Github的构建功能,但是作为集成的构建工具以及托管功能。
可以看到有关
Java数据结构
和
Java EE servlet的
样本研讨会(法语)。
我不相信有一个通用的解决方案:这与第二个关于servlet的研讨会非常有效。 Java EE开发需要大量的设置,并且研讨会也不例外。 此外,网站开发需要视觉反馈。
但是,对于Java基础-或任何其他语言基础而言,IDE都是过大的。 它们允许进行调试,但另一方面,它们使事情变得更复杂。
另外,使用测试框架来检查结果是否正确也是很尴尬的。 如果学生不了解注释,很难首先说出TestNG。 这成为狗追尾的情况。
Jupyter笔记本
那个IDE障碍使我开始思考替代方案。
Jupyter项目的存在是为了开发跨多种编程语言的交互式计算的开源软件,开放标准和服务。
Jupyter Notebook是一个开源Web应用程序,允许您创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。
用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等。
简而言之,Jupyter笔记本允许在浏览器中执行本地文档中的代码,并在同一页面中查看输出:这都是关于交互性的。 例如,以下内容摘自Jupyter的
网站
:
importipyvolume.pylabasp3
importnumpyasnp
fig=p3.figure()
q=p3.quiver(*stream.data[:,0:50,:200],color="red",size=7)
p3.style.use("dark")# looks better
p3.animation_control(q,interval=200)
p3.show()
这个需要:
-
Java 9
-
Jupyter笔记本
现在可以使用
记录的过程
来安装内核。
要测试新安装的内核,请使用以下命令:
jupyter console--kernel= java
这应该输出以下内容:
Jupyter console 5.1.0 Java 9.0.4+11 :: IJava kernel 1.1.0-SNAPSHOT Protocol v5.0 implementation by jupyter-jvm-basekernel 2.2.1-SNAPSHOT In [1]:
尝试键入任何有效的Java命令,
例如
System.out.println("Hello world!");
。
要启动笔记本,请在要创建(或使用)笔记本文件的文件夹中使用以下命令:
jupyter notebook
我玩了一些游戏,使用Jupyter笔记本重新创建了上面提到的Java研讨会。
这是结果的一部分:
如果您已安装Jupyter,则可以将
Github Pages上
的
研讨会
与
笔记本进行比较
。 只需在浏览器中打开后者并播放即可。
结论
有几种免费工具可以帮助教师和培训师完成任务。 对于涵盖基础知识的编码课程,Jupyter笔记本是一项重要资产,消除了设置IDE的麻烦。
翻译自:
https://blog.frankel.ch/teaching-java-jupyter-notebooks/
java jupyter