Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/src/packages/next/pages/features/teaching.tsx
Views: 687
/*1* This file is part of CoCalc: Copyright © 2022 Sagemath, Inc.2* License: MS-RSL – see LICENSE.md for details3*/45import { Layout } from "antd";6import { Icon } from "@cocalc/frontend/components/icon";7import { AvailableTools } from "components/landing/available-tools";8import Contact from "components/landing/contact";9import Content from "components/landing/content";10import Footer from "components/landing/footer";11import Head from "components/landing/head";12import Header from "components/landing/header";13import Image from "components/landing/image";14import Info from "components/landing/info";15import Pitch from "components/landing/pitch";16import SignIn from "components/landing/sign-in";17import { Paragraph, Title } from "components/misc";18import A from "components/misc/A";19import { Customize } from "lib/customize";20import withCustomize from "lib/with-customize";21import assignments from "public/features/cocalc-course-assignments-2019.png";22import nbgrader from "public/features/cocalc-jupyter-nbgrader-overview.png";23import teaching from "public/features/cocalc-teaching.png";24import logo from "public/features/fa-graduation-cap.svg";2526export default function Teaching({ customize }) {27const pitchPcLab = (28<>29<Title level={2}>30<Icon name="server" style={{ fontSize: "32px", marginRight: "10px" }} />{" "}31An entire computer lab in the cloud32</Title>33<Paragraph>34{" "}35<ul>36<li>37Every student works 100% online – inside their own dedicated38workspace.39</li>40<li>Follow the progress of each student in real time.</li>41<li>42At any time you and your teaching assistants can{" "}43<strong>jump into a student's file</strong>, right where they are44working, and answer their questions.45</li>46<li>47Use{" "}48<strong>49<A href="https://doc.cocalc.com/time-travel.html">TimeTravel</A>50</strong>{" "}51to see every step a student took to get to their solution, and to52get context when helping them.53</li>54<li>55<strong>56<A href="https://doc.cocalc.com/chat.html">57Integrated chat rooms58</A>59</strong>{" "}60allow you to guide students directly where they are working or61discuss collected files with your teaching assistants.62</li>63<li>64The project's{" "}65<strong>66<A href="https://doc.cocalc.com/project-log.html">Activity Log</A>67</strong>{" "}68records exactly when and by whom a file was accessed.{" "}69</li>70<li>71CoCalc's massive default{" "}72<strong>73<A href="/software">Software Environment</A>74</strong>{" "}75provides nearly everything anybody{" "}76<strong>has ever asked us to install since 2013!</strong>77</li>78</ul>79</Paragraph>80</>81);8283const pitchNoSetup = (84<>85<Title level={2}>86<Icon name="laptop" style={{ fontSize: "32px", marginRight: "10px" }} />{" "}87No software setup <small>100% online</small>88</Title>89<Paragraph>90<strong>Fully managed software environment</strong>:91<ul>92<li>93Forget any complicated software setup – everyone is able to start94working in seconds!95</li>96<li>97Since everyone works with exactly the same software stack, all98inconsistencies are eliminated.99</li>100</ul>101</Paragraph>102103<Paragraph>104<strong>Batteries included</strong>: CoCalc includes much of what you105need to teach your course106<p></p>107<ul>108<li>109Integrated{" "}110<A href={"/features/jupyter-notebook"}>111<strong>Jupyter Notebooks</strong>112</A>{" "}113with collaboration, recording changes, and much more…114</li>115<li>116Support for <strong>many programming languages</strong>:117<br />118<A href={"/features/python"}>Python</A> with many pre-installed{" "}119<A href={"/software/python"}>Python packages</A>;120<br />121<A href={"/features/r-statistical-software"}>122Statistical Software R123</A>{" "}124with many pre-installed <A href={"/software/r"}>R packages</A>;125<br />126<A href={"/features/julia"}>Julia</A> programming language,{" "}127<A href={"/features/octave"}>Octave</A>, and{" "}128<A href={"/features/sage"}>SageMath</A>, …129</li>130<li>131A <A href={"/features/linux"}>Linux environment</A>, with many{" "}132pre-installed <A href={"/software/executables"}>utilities</A> and a{" "}133<A href={"/features/terminal"}>terminal</A>.134</li>135<li>136Use a virtual{" "}137<A href={"/features/whiteboard"}>138<strong>Whiteboard</strong>139</A>{" "}140with embedded Jupyter Cells to bring your ideas across.141</li>142</ul>143</Paragraph>144</>145);146147return (148<Customize value={customize}>149<Head150title={151"Teach scientific software online using Jupyter Notebook, Python, R, and more"152}153/>154<Layout>155<Header page="features" subPage="teaching" />156<Layout.Content>157<Content158landing159startup={"CoCalc"}160aboveImage={<></>}161body={logo}162title={"Teach scientific software online using Jupyter Notebooks"}163subtitle={164<>165CoCalc is a virtual online computer lab: it takes away the pain166of teaching scientific software!167</>168}169subtitleBelow={true}170image={assignments}171alt={"Cocalc's course management interface"}172/>173174<Pitch col1={pitchPcLab} col2={pitchNoSetup} />175176<Pitch177col1={178<Paragraph>179<Title level={2}>180<Icon181name="files"182style={{ fontSize: "32px", marginRight: "10px" }}183/>{" "}184Manage all files185</Title>186<p>187The{" "}188<strong>189<A href="https://doc.cocalc.com/teaching-instructors.html">190course management interface191</A>192</strong>{" "}193gives you full control over distributing, collecting, grading194and returning everyone's assignments.195</p>196<div>197<Image198src={teaching}199style={{ width: "100%" }}200alt="Diagram showing how to use CoCalc for teaching."201/>202</div>203</Paragraph>204}205col2={206<Paragraph>207<Title level={2}>208<Icon209name="book"210style={{ fontSize: "32px", marginRight: "10px" }}211/>{" "}212Learn more213</Title>214<ul>215<li>216Start{" "}217<strong>218<A href={"/features"}>discovering CoCalc</A>219</strong>220:{" "}221<A href={"/features/jupyter-notebook"}>222CoCalc's Jupyter Notebooks223</A>224</li>225<li>226The{" "}227<strong>228<A href="https://doc.cocalc.com/teaching-instructors.html">229Instructor Guide230</A>231</strong>{" "}232explains how to use CoCalc to teach a course.233</li>234<li>235The <A href="https://doc.cocalc.com/">CoCalc Manual</A>{" "}236explains much of what CoCalc can do.237</li>238<li>239There are a{" "}240<strong>large number of courses all over the world</strong>{" "}241running on CoCalc. We used to{" "}242<A href="https://github.com/sagemathinc/cocalc/wiki/Teaching">243list them here...244</A>245</li>246</ul>247<p248style={{249fontSize: "150%",250margin: "30px",251padding: "15px",252border: "1px solid #c0c0c0",253boxShadow: "2px 2px 2px 2px #cfcfcf",254borderRadius: "5px",255}}256>257<Contact /> or{" "}258<A href="https://docs.google.com/forms/d/e/1FAIpQLSesDZkGD2XVu8BHKd_sPwn5g7MrLAA8EYRTpB6daedGVMTpkA/viewform">259request a live demo260</A>261!262</p>263</Paragraph>264}265/>266267<Info.Heading>Feature Overview</Info.Heading>268269<Info270title="NBGrader support"271icon="graduation-cap"272image={nbgrader}273alt="Editing an NBgrader Jupyter notebook"274anchor="a-nbgrader"275>276<Paragraph>277CoCalc's Jupyter Notebooks fully support{" "}278<strong>automatic</strong> and <strong>manual grading</strong>{" "}279<A href="https://doc.cocalc.com/teaching-nbgrader.html">280using our version of NBGrader281</A>{" "}282with no configuration!283</Paragraph>284<Paragraph>285The teacher's notebook contains exercise cells for students and286test cells, some of which students can also run to get immediate287feedback. Once collected, you tell CoCalc to automatically run the288full test suite across all student notebooks and tabulate the289results.290</Paragraph>291<Paragraph>292By default, tests run in the student's project, so malicious code293won't impact anybody except the student.294</Paragraph>295</Info>296297<AvailableTools style={{}} />298299<SignIn />300</Layout.Content>301<Footer />302</Layout>303</Customize>304);305}306307export async function getServerSideProps(context) {308return await withCustomize({ context });309}310311312