Chapter 3 Notebooks in teaching and learning | Teaching and Learning with Jupyter (2023)

Jupyter notebooks are a valuable tool for teachers, but their value can only beleveraged if you apply them correctly within the context of your course. Inthis chapter, you will learn how teachers can initially structure the design oftheir course and then determine when and how notebooks can be used to achievetheir goals.

3.1 Oh the places your notebooks will go!

3.1.1 Introduction

In Chapter 4 you will learn about the many creative ways that notebooks can beused within the design of your course. Many times notebooks can be adapted intocourse activities that you are already doing, and other times notebooks willgive you opportunities to extend what you have done in past to increase theengagement, participation, understanding, and performance of your students.Jupyter notebooks can be a valuable member of your existing instruction toolkit,useful at every point in the learning environment. New adopters of Jupyter canstart small, incorporating notebooks into single modules, assignments, orclassroom activities. This is an excellent approach to see how your learningaudience interacts with the notebook environment and explore notebook hostingsystems in a low cost/risk way.

Instructors adopt Jupyter within their classrooms at a variety of levels, eachmaking use of the strong features of the environment. Transitioning an existingcourse to any new platform seems daunting, but Jupyter notebooks are modular andideal for an iterative development approach of adoption. Some may findthemselves inheriting a course already built in Jupyter, while others willchoose to build new courses entirely within Jupyter.

This section seeks to inspire you about the many uses of Jupyter withinclassroom content and presentation design, and preview how other elements of theJupyter ecosystem can be integrated into that use. Some of these uses are quickto spin up as experiments to test the waters.

3.1.2 Jupyter notebooks as textbooks

Instructors often write Jupyter notebooks as linear narrative documents. Thesenotebooks are to be read by students and learners, perhaps worked through,marked up and are a relatively one sided information consumption experience.

Most often these notebooks exist as the readings a learner is required to dobefore class, as reference material (e.g., to review for future assessments), orsomething that a learner works through on their own as a part of self study.Jupyter notebooks can be constructed of completely static text, which can serveas a starting point for transitioning existing material into the notebookenvironment.

This traditional static textbook chapter or section can be extended into anactive space by changing inline code text to executable code cells that supportmodification and experimentation. Adding prompts with suggestions forinterrogating the code and examples further extend active learning opportunitieswithout rewriting the original content. Interactive sliders, user input sources,and manipulable visualizations are examples of how other widgets and plugins canopen up more possibilities.

As you’ll see in later chapters, many authors are using Jupyter notebooks astheir primary authoring and publishing platforms. These materials are publishedon paper and online, meaning that the interactive portions of the learningexperience are first class elements within the resource.

3.1.3 Notebooks as workbooks/primer

Workbooks engage students in the notebook environment by including activeelements where they are asked to manipulate or create new content. This movesstudents from a passive or static learning environment like a book into anactive learning experience where they can engage with and critically think aboutthe content.

You can include many pedagogical patterns (discussed in the next chapter) withina workbook, crafting a completely custom learning experience. These workbookscan be assigned as independent student learning (for example, pre-work forflipped classroom), or as part of an in class activity for individuals or smallgroups.

When teaching in the technical space, the exploration of concepts in theircontext is an ideal environment for showcasing an authentic experience tostudents. Studying a concept in isolation may reduce the complexity of theproblem to be more accessible, but this removes it from the context for why itexists and may make it harder for students to put all the pieces together andsynthesize it into their larger problem solving repertoire.

Retention of this context adds the complexity of expository text, technicalreference in disconnected documents, or some boilerplate code. Providing this ina large script or lengthy lists of direction can be overwhelming for students towork with. Jupyter notebooks are excellent tools for teaching these complexworkflows, because instead of a script with lengthy code comments or havingdisconnected documentation, this guiding text can be embedded exactly where itis needed where the coding is happening. This guidance material can also beformatted as markdown cells, which are visually distinct from code, making iteasier to visually scan and opens the possibility to add helpful formatting.

A variety of activities can be supported with the executable code cells solearners can explore the space in an interactive and iterative environment.They can see and inspect portions of the surrounding code, but aren’t requiredto touch it, maintaining appropriate granularity for assignments and challenges.Using markdown formatting separating sections helps scaffold larger problems andhelp them really experience a real world workflow rather than statically readabout it.

3.1.4 Notebooks as worksheets/drill sets

Many programming and domain tasks have specific syntaxes to be learned andeffectively memorized before they can be internalized. Akin to math homeworksheets, short worksheets where learners focus on highly granular ordecontextualized problem sets lets them practice the complex syntax andprocedures in an isolated and highly focused way. A set of small targeted taskswhere these complexities can be practiced without the worry of additional syntaxerrors or other problem solving requirements can reduce the cognitive overhead astudent might be overwhelmed by.

The cell based nature of the Jupyter notebook makes interactive code-basedworksheets a clean experience for students to run. Each problem prompt can bewritten in a markdown cell, perhaps referencing an object or data fileestablished in an initial cell. For example, a list or other data structurewould be defined at the top and the exercises below are focused on the relevantmethods and usage syntax. Each answer would then be completed by the student ina single code cell just below that markdown cell. This means that outputs anderrors stay with the code producing them, so successes or bugs are easilytraceable to the source.

Usages of autograding tools or unit tests, as discussed in later chapters, canbe added to give students instant feedback about their work. Example or desiredoutputs could also be reproduced in markdown cells with the question for furtherguidance.

(Video) Hands-on Teaching with Jupyter Notebooks on nanoHUB

3.1.5 Notebooks as notepaper or course packets

The ability for a notebook to represent a linear experience with human prose andworking code means that these can be used a student’s notepaper in class. Theycan capture the linear narrative structure of a lesson or lecture, and actuallyrun the code they are taking note of. This ensures that what they have writtendown actually works, and makes for a strongly reusable document for them movingforward with homework.

Encouraging students to use Jupyter notebooks for taking class notes opens upfurther opportunities to provide scaffolding and support within the classroom.Providing notebooks with outlines of lecture content or other materials coveredin class can become an useful active learning and engagement strategy. You mightprovide a mostly blank notebook with just topic headings, and ask them to takenotes in their own style within those spaces. Or you could choose to embedreference notes, examples, and even small activities within the notebook, askingthem to both take notes and work through examples with you.

Caution should be taken to encourage students to carefully maintain a linearorder of their code in the notebooks. A later chapter has more information onJupyter specific caveats that students should remain aware of.

3.1.6 Notebooks as an app

Notebooks even have a place in non-coding classroom content or activity.Interactive user inputs like mouse or touchscreen controlled sliders, buttons,highlighting, etc. allow a notebook user to manipulate input parameters for avisualization, tool, or model without directly editing any of the code withinthe notebook. These strategies support interactive computational exploration, ortransform the notebook into an advanced calculator tool for students to usewithin their homework. These notebooks are then treated as applications that aredistributed or made available for students to use during class or explore ontheir own.

This allows you to make an existing research workflow accessible to novicestudents as part of a computational module of a foundational class, or mock upcontent from a static textbook or reading into something for an active learningactivity. The adaptability and reuse aspects of Jupyter notebooks also createopportunities for students to take this code further and adapt it forassignments or other research.

3.1.7 Notebooks as lab reports or assignments

There are a variety of assignment deliverables that programming and technicalcourses may require. Students may be asked to produce essays, presentations,working code, analytics, and even art or music. Many of these deliverables aredirectly supported within the notebook environment. Any written work could becompleted within the notebook environment with markdown, which is ideal forcommunication content that is driven by data or incorporating code content. Forexample, a student could write a computational essay within a notebook, and useone of the presentation tools to present a report out in class, all using thesame notebook.

Coding assignments can be submitted to a Jupyter supported learning managementsystem and be autograded (discussed in later chapters), providing instantfeedback and automating the grading process. This opens up self paced andhighly scaled options for many courses, particularly open access MOOCs or largesections. Meanwhile, the inline visualization options mean that an assignmentwith graphical output can be self contained without trying to embed imageswithin a word processing document or attaching a collection of images along witha script.

The multiple conversion and hosting options available to notebooks means thatthey can be shared or submitted across many formats. For example, conversion toHTML means that there is zero overhead for viewing the content, and support formarkdown and PDF opens up accessibility and other publishing platforms.

3.1.8 Notebooks as interactive multimedia platforms

A variety of media formats can be embedded within a notebook, and other toolsmore offer platforms to more directly connect notebooks with multimedia content.Instruction content might be split up between short videos (often for flippedclassrooms) or a variety of static images might be important for an assignment.The markdown cells within the Jupyter notebook provide several ways to placehyperlinks and embed a variety of media.

Several widgets are also available for embedding playable audio and videocontent (including from streaming video services) directly within the notebook.This creates a cohesive platform experience for the student, so they don’t haveto exit out or change screens to work on their assignment and reference thatcontent.

Other tools are available for more directly connecting the notebook content to avideo guide. Video lectures or content in your courses can get lengthy inrunning time and associated notebooks are often just as long. Tools likeOrioleprovide a platform where you can integrate video timestamps into notebooks tocreate interactive video experiences. You can include, for example, Youtubevideos within notebooks, with text and/or coding opportunities before/after thevideo. Using timecodes, you can also guide students through the videos intandem with the notebook text. This further extends the ability to create asingle cohesive interactive experience without the need for students to go backand forth between materials.

3.1.9 Notebooks as a demonstration platform

Eventually you will have to display a notebook in class. This may be as ademonstration of how to use a notebook, presenting more a traditional stylelecture, creating and editing code, or using an interactive feature to explorean experiment. Normal standards for font sizes, organization, and accessibilitystand for these cases.

(Video) Teaching with IPython:Jupyter Notebooks and JupyterHub | SciPy 2015 | Jessica Hamrick

Displaying actual notebook within your presentation is a natural starting point.This content may include text from markdown and LaTeX, code, and independentfigures and sketches. For instance the lecturer could display the notebook,slowly scrolling through the material and interacting with cells containing codewhile also making use of either a digital or analog (e.g.chalkboard) sketchingdevice. Custom styling plugins are available to change the background color,font, and other viewing aspects of the notebook for better presentation qualityand accessibility.

Several slide show tools are available, which allow you to markup notebook cellcontent for a more traditional slideshow presentation mode without having toexit from your standard notebook. These slides can be scattered across notebookcontent into specific cells that will correspond to individual slides, with theother content ignored from the presentation. This then can be shown alongsidethe usual notebook interface and can be flipped between the other forms ofcontent.

It is natural for students to read and interact with notebooks in their standardform, using either Jupyter Notebook or JupyterLab, and this can also be used forpresentation. Jupyter Lab offers the convenience and uniformity of being able toopen and edit source files (.py, etc.) within the same environment and withoutOS- or browser-specific clutter. Full screening the browser is recommended ifpresenting using this mode. Presentation styles vary widely and span a spectrumfrom full-prepared notebooks to blank-slate live coding.

Many find it useful to incorporate an alternate modality such as a physical ordigital “board” for free-form diagramming, working through a mathematicalderivation, or other written procedural task. Notebooks can be a portion ofthese presentations or the complete environment, depending on your personalinstruction style and content needs.

Care should be taken about how the notebook is presented and demonstrated. Doinga live demo gives you a few options. You might choose to:

  • Scroll through a notebook
  • Step through a notebook by executing the cells in order
  • Fill out details or values into a mostly complete notebook
  • Tweak or flesh out a notebook with some content
  • Add content to a completely blank notebook

Each of these strategies have a place within a classroom, and their use shouldbe informed by audience needs and learning goals. For example, having a notebookwith prepared challenges for the end of each module or section, but with blankcells for the content gives you the opportunity to develop code live withinclass, but within a structure that keeps your workflow organized, and yourformative assessments coded directly into your presentation. Incorporatingreference information can make these documents more complete for students andanswer common questions. There are many possibilities about what you can put in.Keep in mind that students will often ask for you to share copies of thesenotebooks after the class session is completed.

How much you focus on live coding will likely be determined by the domaincontent of the class. Programming courses would clearly have a priority forstudents to have more thorough practice with writing and typing in the code.However, a conceptual class looking at computational models may interactivelytweak parameters for a model and discuss only what is happening within thatmathematical model. No code is written or directly changed in the process.

3.1.10 Notebooks as a live coding environment

Live coding, as the name implies, involves the active writing of code within theinstruction process. This might be part of a recorded screencast or an in personclassroom. The process of live coding has several benefits for the student andinstructor.

Showing the process of building up code examples showcases the naturalnon-linear process of how code is crafted, but walking through the logic of acode example slows instruction down and highlights the reason for inclusion ofeach element within the code.

Introduction of bugs (either purposeful or accidental) to the code has the addedbenefit of giving the presenter an opportunity to work through the debuggingprocess and demonstrating that perfect code is never created on the first go.

Live-coding can also be an opportunity to provide an active learning experienceby providing notebooks with code that has not been completed before the lectureand having students attempt to fill in the missing lines before doing thelive-coding demonstration. Feedback on where students are in this process canbe a useful way to also judge what students are retaining and are strugglingwith leading to just-in-time teaching opportunities.

Formative assessment and prediction prompts can also be incorporated eitherdirectly into the notebook or as part of the narration of the lecture. Creatinglive-coding opportunities can be done anytime where a block of code exists butpicking out particularly illustrative examples or key points and appropriatelyscaffolding the example can be critical. For example, if the critical conceptis inside of a for loop then only coding the inner part of the for loop can behelpful and not overwhelm the presentation with scaffolding such as the setup.The reverse can also be true however. If too much complexity orscaffolding is displayed learners may struggle to understand the scaffoldingrather than concentrating on the key concept.

Many instructors utilizing live coding will choose to have students code alongwith them. This allows them to practice what they are learning, see it in thenatural context of their environment, make all the normal mistakes and typos,and all within an environment where they can ask questions (or pause a video).Actively coding along with the instructor also includes a requirement that theyare actively listening to the instructor and engaged with the content.

Presentation styles of scrolling or shift + enter are not live coding, butlive demonstrations. While these limit or negate the benefits of the livecoding environment, the benefits of speeding up the presentation or runningthrough code that’s irrelevant to the learning goals may be more important.Removing the student’s active engagement with the content may eventually lead totheir disengagement with the lesson, or missing large chunks of information.Instructors should balance their inclusion of live coding and live demonstrationto ensure that students are active and engaged with the most important aspectsof the lesson.

Information bandwidth in the classroom during a live coding session needs to becarefully managed, particularly when students are trying follow along. Therhythm of live coding roughly has three stages: preparation, typing, andexplanation. These three follow quickly in succession but are independentphases. Preparation is the first, where you stop and explain what you are aboutto do. Typing is the next phase where you should speak as you type but only saywhat you are typing. This ensures that what the learners are seeing on thescreen and hearing from you match. They will likely be looking back and forthbetween their screen and yours that they often won’t be able to stop and followwhat you are saying while they are typing. The final stage is to stop andexplain what you have typed and what has or will happen when you run the code.You may choose to execute the code and explain the results or include aformative assessment or prediction question before running the code. Pausing toexplain the code you just wrote and walk through the results gives students timeto catch up to your typing, time to consider what has happened, and a naturalplace to ask (and for you to as for) questions about what has happened.

Live coding does take practice to get used to, but can be extremely powerful foryou to restrain your pace to your learners and to retain engagement with yourstudents.

3.1.11 Conclusion about places

As you have just seen, notebooks provide a flexible tool that can be used innumerous ways to achieve your course goals. Notebooks are flexible enough thatyou can use them from relatively passive to very active student learning, youcan use them in your lecture or in a flipped-classroom environment. There is nosingle best way to use notebooks in your courses, and you explore the variousoptions you will want to start filling your use of notebooks with a variety ofthe pedagogical patterns described in the next chapter.

3.2 Before You Begin…

This chapter focuses on course considerations when incorporating notebooks intoa class. Experienced instructors may choose to skim parts of this chapter andfocus specifically on how Jupyter notebooks would change their current teachingstyle.

Before you begin adding Jupyter notebooks to your course, take some time to:

  • Identify your teaching goals
  • Understand your students
  • Develop your content strategy
  • Consider the context of the learning environment

The Jupyter notebook is a tool; its use in this context is subject to theexpectations of the instruction. Setting expectations for learning depends onyour goals, your students, the content, the learning environment context, andyou.

3.2.1 Identify Your Teaching Goals

As with the creation of a building or robot or book, it is important to beginthe process with a clear goal of what you are trying to create and why. The “andwhy” could be the most important decision you make in the whole process and itwill (or at least it should) guide all the decisions that follow. The why hereis not about why to use Jupyter notebooks, but the why is the goal you have foryour students.

Is the goal to teach them critical thinking skills, or how to execute a specificset of functions to solve a problem? Is the goal that they will be able totranslate mathematical concepts into real world application, or is the goal toteach them how to code? Be specific and clear, and then let the answers guideyour decisions.

3.2.2 Understand Your Students

Your students are central to decisions about when and how to use notebooksalongside other tools in your instruction. An obvious illustration of thesedecisions would be selections made if you compare teaching 5th graders inrelation to teaching graduate students. Yet, there are more subtle differencesthat you will also want to be aware of and monitor. For example, within aclassroom, you will have variation among the backgrounds and skill levels of thestudents. Depending on the domain, some students may have extensive experiencewith coding in multiple languages while others may be doing their firstcomputational explorations. Keeping students of all different experience levelsengaged and excited is challenging.

3.2.2.1 Learn About Your Students

In many circumstances you will have little background information on yourstudents prior to the first day of a class or workshop. You will have to learnquickly and be prepared to adjust the instruction to fit the students inattendance—not the students you wish you had or anticipated having. Some keyconsiderations to learn about your students:

  • Motivation: Why are your students participating? What are their goalsbeyond the workshop or class? Will they be applying what they learn soon, ornot for months or potentially years?
  • Entry skills: What skills are students coming to the instruction with,both technical (e.g., basic computer, coding, computational) andpsycho-social (collaboration, presenting, asking questions)?
  • Prior topic knowledge: Specific to the content of the instruction, whatdo they already know coming in?
  • Attitudes toward content: Are they excited to learn, or nervous aboutthe content? How confident are they about their success in the class?
  • Attitudes about the delivery format: Do they have attitudes, positive ornegative, about the delivery format (e.g., lecture, flipped classroom, lab)and/or technologies (e.g., learning management systems)
  • Learning preferences: Are learners comfortable in active learningexperiences? (e.g., working with teams, interacting with the instructor,using technology while learning, etc.)
  • Group characteristics: Looking at these considerations, how diverse isthe group? Have they been together for instruction before? Do you have asmall class or a very large class?

A simple online survey ahead of class can be very helpful in gaining anunderstanding of your audience.

3.2.3 Cultivate Student Study Skills and Learning Strategies

Do not assume that your students will have acquired the necessary study skillsto effectively and efficiently learn from your course. From note-taking skills(i.e., finding patterns, discerning what is worth writing down, linking toreadings, etc.) to multitasking (i.e., knowing when it is ok to keep their emailopen while studying and when they really have to focus) are skills that oftenhave to be developed during learning experiences.

For most students learning through hands on tools, such as notebooks, will bequite different than their previous learning experiences—especially comingout of traditional high school or large-lecture undergraduate course.Interacting actively with technologies for the express purpose of learning(i.e., not just socializing with friends) is valuable—and yet not common.

Take time to work with your students to help them build the foundations for howthey can most benefit from the experiences you are creating. Talk with themearly in the instruction about how notebooks will be used and how they will haveto adapt their study strategies (where, when, and how they study) to best learnthe content and achieve the goals of the instruction.

3.2.4 Develop Your Content Strategy

The content of the instruction should support the instructional goal(s) you haveidentified for the course. Sometimes the goal(s) and the content are synonymous,but other times they are not. For example, if your goal is for students to beable to calculate conjoint probabilities, then your content will be synonymousand be on calculating conjoint probabilities. Whereas in other contexts, yourgoal may be to develop critical thinking skills in relation to logicalfallacies, and the content you use to achieve this is the analysis of politicaldiscourse, which is not necessarily synonymous.

In both cases, the content guides why, when, and how notebooks can be used toachieve the goals. Remember that notebooks are solutions we can use to achieveour goals; they should not be confused with the goals themselves, even then theyare closely related.

The content of your instruction is not limited to what you want to teach; itinvolves activities, exercises, feedback opportunities, and assessments. Each ofthese supports your goal(s) for instruction and benefits from the use ofdifferent tools within and outside of Jupyter notebooks. For example, if yourcontent goals suggest that students require some specific knowledge (such as,what is a logic fallacy) before they are prepared to move on to another contenttopic, then you should assess that knowledge before you select which tools(e.g., a fill-in-the-blank item in a notebook, or a verbal question to thestudents in a classroom, or a self-reflection) is most appropriate for that stepin your instruction.

Having a comprehensive outline of the goals and related content for theinstruction is key to making good decisions about how, when, where, and why touse notebooks in your instruction.

(Video) Lesson 1 - Part 3 | Deep Learning | Introduction : History , Framework and Jupyter Notebook | Fastai

3.2.5 Consider the Context of the Learning Environment

Instruction happens in many interesting contexts—but learning is not restrictedto the instructional texts that we construct. Students learn before, during, andafter instruction, and notebooks may be a integrated components for students inall those contexts (see below).

Within our instructional contexts, those times when we likely have the mostinfluence on student learning, we also have lots of options for how we deliverlearning experiences. As an instructor you can, for example, assign notebooks aspre-work for a flipped classroom approaches; use notebooksduring an in-person or online class to demo or offer student practice; and/oruse notebooks for homework, assessments, and resources that students canuse later long after your instruction. All of these create different contextsfor your use of notebooks.

Other aspects of context that you should consider when determining your use ofnotebooks including both those of the instructional environment and then thelater performance environment of the learners.

3.2.5.1 Instructional Environment

Today the instructional environment can be quite complex and involve multipleaspects. For instance, the instruction may include online videos, short lecturein a classroom, and then group activities in a lab. Each of these are uniqueenvironments and their characteristics may influence how, when, where, and whyyou use notebooks.

  • Classroom: How will students be engaged with the content? Given thelayout of the room (e.g., small tables, lecture hall) are thereopportunities for peer engagement?
  • Lab: How does the physical structure of the lab environment offeropportunities for peer learning and sharing? What are the hardware andsoftware tools available to students?
  • Flipped classroom: What are required knowledge and skills that studentsmust gain from pre-activities? What is the role of video in the flippedclassroom? Are students prepared with the study skills and strategies forlearning independently in the flipped classroom approach? Will all studentshave access to the materials (potentially in a notebook) prior to the class?Do students have access to computers outside of the classroom? How willpre-reading/pre-watching be incentivized and assessed in the course?
  • Online classroom: Are students prepared with the study skills andstrategies for learning independently in the online classroom?

3.2.5.2 Performance Environment

After the instruction your students will, hopefully, apply what you have taughtthem, and the environment in which they apply your instruction can vary greatly.You will want to consider how any differences between the instructionalenvironment and the performance environment might impact on the ability ofstudents to apply what they have learned.

  • Organizational/Managerial Support: Will students be supported in theiruse of the instruction and tools that you are using?
  • Social Support: If they learn through group projects, will they also beable to apply the instruction when working on their own?
  • Physical Aspects: Will they have access to the same, or similar, toolsand resources they have access to during the instruction? For example, ifstudents only learn in notebooks, will they also be able apply the learningin an IDE that is used by their employer?

3.2.6 Crafting an experience: choose the right tool and approach for the task

As an instructor, you create many types of learning objects for your classroom.Jupyter notebooks can be used to present many types of information, fromslideshows to book chapters to homework. You can imagine the large differencesyou might have with the information you present within a slideshow, a bookchapter, a homework assignment, and a worksheet for an in class activity.Jupyter notebooks can be used for all these activities, yet this is all withinthe same type of document platform.

This freedom of expression available within the Jupyter notebook environment canadd a lot of pressure and decision fatigue to the design process. A blanknotebook you intend to make a lecture document within and a blank notebook foran in class activity each look the same when first created.

Content and design decisions should be driven by the purpose of the lesson andthe needs of the audience. How many times have you asked someone a question andhad them answer it in a completely unhelpful way? Perhaps you asked about how toimplement something but they answered it conceptually, or you asked forreasoning about why something existed but they gave you a syntax information.

Learning goals and pedagogic practice are complex and often domain and skillspecific, but decisions about them come back to the essential question: what areyou trying to do here? As an instructor, you not only need to select the righttechnology for the learning experience, but the right activities to fulfill thelearning mission of the day and the course.

Students are given a variety of experiences to aid in the learning process. Sometopics are conceptual that students need time to experiment with and buildintuition over; others are purely syntax that requires reference and practice tobuild their internalize knowledge over usage, and some fall in between.

The rhythm of the learning process sees students working independently, workingtogether, reading, producing, listening, problem solving, and struggling. Eachactivity should serve a purpose as part of a larger experience. The same waythat restaurant or business owners craft an experience for their customer, youare crafting an experience for your students.

This design of this experience is not a simple process, and something driven byyour expertise of your audience, domain, and your own ability to instruct.Through it all, your core perspective should be to incorporate elements thatharmonize together to make an experience leading to your desired learning goal.

Perhaps for the section above add a block diagram or word cloud visual of themajor decision considerations.

3.2.7 Transitioning to and from Jupyter

Although this book focuses on using Jupyter notebooks in education, we recognizethat students have different backgrounds and familiarity with coding. Not allstudents are ready to jump right into notebooks from a traditional lecture-basedclassroom; while, other students may have significant programming experience andmay be closer to being ready to transition to IDEs.

Based on your analysis of the goals and context you will want consider theappropriate instruction points for introducing and exiting from notebooks as atool for achieving your goals. As your students gain experience withprogramming, they may be more interested in using an IDE. Likewise, you maychoose to introduce a more traditional IDE first and introduce Jupyter notebookslater. Exercises that can support this transition include assignments where theydo the same task in 3 or 4 different IDEs and then reflect on those experiencesas they make decisions about which environments best supports their ambitions atthe time.

(Video) Thomas Kluyver - Jupyter notebooks for teaching and learning

3.2.8 Conclusion about teaching practices

In this chapter we have attempted to place the use of Jupyter notebooks into theprocess of good course design. Notebooks are a tool that many teachers can useto increase student engagement, participation, understanding, and performance—butthat is not to say that every course and every lesson should use notebooks.Let the goals of your course define when and how to best use notebooks toachieve those goals.

(Video) Teaching Engineering using Jupyter Notebooks

Videos

1. Machine Learning Linear Regression using python jupyter NoteBook|#03
(Data Science)
2. Python forecasting on Jupyter notebook
(BRONDIA, KATHLEEN JOY P.)
3. Coding Deep Learning in Jupyter Notebooks
(Entertainment Intelligence)
4. Jupyter notebooks vs Python projects: Learn when when to use which | Ep 1
(Lightning AI)
5. Learning Python Book with Jupyter Notebook.
(CodeNova)
6. Teaching With Jupyter Notebook with a Custom Kernel
(Adam Morris)
Top Articles
Latest Posts
Article information

Author: Eusebia Nader

Last Updated: 01/07/2023

Views: 5526

Rating: 5 / 5 (60 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.