Open CourseBook

What is it?

It is a collection of tools and services to write, publish, discover, and read open "next generation" digital textbooks.

The OCB's mission extends beyond increasing the accessibility and affordability of educational materials. The quest is to fully facilitate the five Rs of Open Educational Resources (i.e., reuse, retain, revise, remix, redistribute).

A primary objective of the OCB project is to streamline adopting and adapting "coursebooks" for teaching to build better learning experiences that serve more students with diverse needs.

r

Source: https://nsufl.libguides.com/oer/5rs

ad

User Interface for Readers

A clean and uncluttered, yet modern and appealing UI with a responsive design to offer a superior reading experience on the web.

Fast and lightweight UI.

Responsive UI; Automatically adapts to perfectly fit the available screen estate, no matter the type or size of the viewing device (desktop, tablet, mobile).

A customization menu (or widget)

Switch between Sans-serif, Serif, and Mono font

Adjust the margin size (which affects the line width).

Adjust the spacing between lines.

Make the font size larger or smaller.

Switch between left-aligned, right-aligned, and justified

Switch between light, dark, and sepia themes.

Turn high contrast on/off

Switch between vertical and horizontal page flip

Accessibility options similar to Microsoft Immersive Reader

Break words into syllabus

Break word into phonemes (smallest sound units) and morphemes (smallest meaningful units)

Color code parts of speech

More color themes

Increase space between words and letters within words

Line focus (with options to focus on 1, 3, or 5 lines at a time)

Click on word would show option for pronunciation, definition (text or picture dictionary), etc.

Text to speech to read the text out loud.

Out-of-box styling for superior reading experience.

Should covers all common HTML tags.

Should include styling for common book features such as boxes, epigraphs, sidenotes and bibliographies.

Should include at least three themes: light, dark, and Sepia.

Community should be able to customize the default themes or create their own.

UI that is easy to use (feels familiar)

Something like GitBook’s old interface (which is similar to mdBook’s interface)

a

Users can navigate the book with touch devices, keyboards.

Keyboard shortcuts to toggle features (theme, next/previous page navigation).

Employ semantic markup to ensures users can benefit from screen readers.

Features specific to "book" reading experience!

Search bar to search the book content

Sidebar to navigate between chapters/sections

In-page table of context.

Progress-bar to show progress in reading page/section/chapter/book

A web component that can be added to any website.

It will be open source and free.

Available through CDN and NPM.

It shall be well-documented with guides on using it, customizing it, etc.

Using a technology stack that is performant, scalable, reliable, and popular (thus easy to learn and use).

Leverage state-of-the-art CSS tooling such as PostCSS and Saas

Command Line Interface (CLI)

CLI to convert a collection of markdown files to a CourseBook site.

A Jamstack solution built on top of great and stable libraries such as AstroJS and ReactJS.

Developers can leverage everything these libraries are able to offer to suit their needs.

It will be open source and free.

Available through NPM.

It shall be well-documented with guides on using it, customizing it, etc.

Fast, powerfull, and performant!

All the goodies you expect from a superior static site generator.

Bundling and minification

Image optimization

Search Engine Optimization

Plug in (Google) analytics, (Algolia) search, etc.

Minimal setup with markdown-centered project structure helps content creators to focus on writing. (Hide all code by default)

Allow HTML and Web components in markdown

This is necessary for injecting dynamic content into markdown

The idea is similar to MDX but with Astro, developers can use any framework to create those components (whereas MDX only works with React).

a

We use this approach instead of creating a new markup language or extending Markdown

r

Hugo, the static site generator, has its own extension to markup. It calls them "shortcodes." See https://www.swyx.io/shortcodes-vs-mdx-3d4e This shortcode approach has been taken further by tools like MarkDoc and Markua.

a

Allow an option (flag) to show the codes (layout files, etc) so an initiated user can modify it.

Command to initialize a boilerplate CourseBook (file/folder structure)

Command to preview through a local server with hot reloading

Command to produce an output folder (the static website). User can host the content of the output folder anywhere they want

Command to deploy the CourseBook site to common static-site hosting providers such as GitHub Page, Netlify, etc.

Command to deploy the "coursebook" to the CourseBook platform! (For premium users only)

Plugins and Integrations

To support and/or extend CLI capabilities

Flexible plugin API, allowing plugins to provide lots of plug-and-play features for coursebook site.

The plugins are like steroids for digital textbook!

Anything from adding interactive quiz to runnable code snippets and beyond!

Well-documented so the community can easily get started building their own plugins.

They could be extending the functionality of markup (authoring) or presentation (UI), or both.

For example, extend fenced code with metadata support allowing code titles, line numbers, links to source, clipboard copying, line highlighting, etc.

VSCode extention

Preview (exactly as it would on the CourseBook site)

Snippets for Web (non-markdown) components such as “quiz”

Internationalization

Support for right-to-left (RTL) languages (like Arabic), support for languages in the East Asia (like Chinese)

OCB Platform

OCB Homepage

Documentations, Guides, References, Tutorials

Download the CLI

Search for and download plugins

Hosted Coursebooks

All coursebook sites can be deployed directly to OCB platform without requiring the authors to host their site.

It is essentially a service like GitHub Page or (a simplified) Netlify.

Readers can organize their courcebooks in a library!

OCB Hub

It will offer services for (open) textbooks similar to GitHub for open source software projects.

Courseware as Code (CwaC)

An approach to designing, creating, and maintaining educational content by leveraging applicable aspects of the software development lifecycle.

a

Each coursebook (repository) will have a license similar to repositories on GitHub.

People can clone or fork other coursebooks (repositories).

People can submit editorial or revisions (similar to GitHub's pull request) to improve a coursebook!

People can make private “coursebook” (repository) if they want and share it with select authors (developers)

The OCB Hub's UI must be much simpler than GitHub so lay person can effectively use it

There must be a registry system (like NPM) and a good discovery (search) system that can search among all repositories (their metadata and content).

Connect to OER Commons?

a

Premium features

Behind a paywall!

Classroom tools

Streamline adapting and adopting a coursebook for class and use it as a teaching and learning tool.

Create class, upload roster, assign readings

Supplement the coursebook with other resources typically needed to run a class such as syllabus, schedule of topics, etc.

Protected resources/content (e.g. solution to exercises, homework problems, etc)based on user role, group (e.g., which section they are in), date, etc.

Integrate with LMS via LTI

Add unique features to coursebook to use it a teaching and learning tool. For example, presentation mode/worksheet mode for instructor to use CourseBook during the class.

Collect end-user data to generate learning metrics and facilitate educational research.

Track progress through the course (both for students to see their progress and instructor to see theirs)

Include features to increase student engagement such as gamification (progress/karma points, unlock content, achievement badges etc.) and community features (e.g., post question about content, chat with your peers, etc.)

Support for following a pedagogical approach such as Differentiated Instruction, etc.

a

Tools for learners

Turn coursebooks into advanced learning tools with easy-to-use interactive features.

Bookmarking and in-text highlighting

Annotating and margin notes

r

When reading in print, students are more likely to employ strategies – such as annotating and highlighting – which facilitate metacognitive monitoring of the learning process and, subsequently, improve comprehension.The "comment" and "note" features of this app (Mindoro) are pretty fantastic as a model for us!

Empower learners with learning tools and techniques such as Flash card (with automatic Quiz generation), Spaced repetition and active recall, etc.

a

Support learners to learn effectively without an instructor, through strategies such as Adaptive Learning, etc.

a

Include features to increase learner engagement such as gamification and community features (e.g., share notes, see most highlighted text, etc.)

Emphasis on self-paced learning: You choose the schedule and decide how much time to invest as you work through a Coursebook.

Tools for authors

Content authoring with support for textbook authoring process, i.e., to facilitate ideation, resource collection, collaborative authoring, etc.

Web (and desktop) authoring app

Not just another editor, but a Content Management Systems (CMS) that help authors create, manage, and modify digital textbooks.

r

This feature has the potential for winning the market! There are many text editor and word processor apps out there but very few are designed for authoring textbooks!

Outlining

Drafting

Versioning

Comment

Switch between rich and raw format

Support for following an Instructional Design model to create content (e.g., UbD) or deliver it (e.g., PI)

r

https://en.wikipedia.org/wiki/Understanding_by_Design https://en.wikipedia.org/wiki/Programmed_learninghttps://en.wikipedia.org/wiki/Differentiated_instruction

a

Collaboration tools (e.g., support for co-authorship, editorial process, etc.)

Harness the power of community (e.g., allow readers to identify typo and other errors, and to suggest corrections, improvements, etc.)

r

For example, Nextbook has this tool (https://nextbook.io/authors):

ad

Facilitate ideation and resource collection, citations, etc.

Tools for business

Sell and buy (similar to Leanpub)

r

Example screen shot from Leanpub pricing model:

d

Novelty: allow crypto currency or other form of trades (e.g., readers/learners get "points" for engaging with the content/services and they can use the "points" like currency on the website, etc.)

Allow various business model for publishing

a

Include features to increase readership such as community (e.g., reviews, endorsement, etc.), gamification, etc.

Support for institutes/departments (mass discounted) licensing

What makes OCB different from existing tools/services?

The OCB platform will offer services for (open) textbooks similar to GitHub for open source software projects. This GitHub-like aspect of the OCB platform is its novelty.

What is the MVP?

A general roadmap for product development!

Alpha release

User Interface for Readers

Accessibility options can be made available later.

Ideally it is independent from the CLI but this can be made available later.

It must look good!

Command Line Interface

A wrapper around NextJS

Must include a few plugins to meet the needs of CS courses (e.g., fancy code blocks, support for Math equations, etc.)

OCB Platform

Just a Homepage to say what the project is, who we are, what is accomplished so far and what will come next!

Docs for how to work with CLI

Users and usage

Madooei uses it for one of his courses!

Beta release

Everything in Alpha

User Interface for Readers

Include accessibility options.

At this point it should be an independent Web component that can be added to any website.

It must look really good and work well (UI/UX study)

Command Line Interface

More plugins that push beyond typical SSG and provide interactivity desired for teaching and learning (e.g., quiz, runnable code snippets, etc.)

Plugin and Integration API polished and well documented.

VScode extension for preview, snippets, etc.

OCB Platform

Refine the homepage!

Hosted Coursebooks

Classroom tools (integration with LMS is a must but no need for data collection, learning analytics, gamification, etc.)

Users and usage

Madooei uses it for all of his courses!

Gateway Data Science (and perhaps Gateway computing) will adopt it.

Reach out to GitLab and try to get them to use OCB as their CwaC build tool (instead of Jekyll's "Just The Doc" documentation theme.

Reach out to Astro and try to get them to include OCB as one of the official templates.

MVP release

Everything in Beta

User Interface for Readers

Allow for customization (developer experience)

Well documented API for customization and guideline for it to be added to any website.

It must look and work supremely! (Wow the reader)

Command Line Interface

More plugins

Supreme documentation.

Bullet-proof tested and well-integrated into Astro ecosystem.

OCB Platform

Homepage (must Wow the vistors)

Hosted coursebooks must be optimized for performance and scale!

Classroom tools - must include data collection and learning analytics

Hub - which is what makes this app different from other existing ones!

Users and usage

Reach out to faculty at JHU!

Reach out to EP and lifelong learning at JHU!

Spread the word! Go to conferences/workshops!

Next?

Re-evaluate! If there is traction, move to implementing the premium features (learner tools, author tools, and business tools)

Reach out to JHU's Open Source Programs Office and ask them to (financially) support the effort.

Apply for internal grants such as DELTA and DISCOVERY

Apply for external grants such as NSF

Get startup funds from CS department and FastForward U

Seek industrial support (gift and donation)

What does "open" mean?

In a narrow sense, "open" means "open access" or "free."

In a broader sense, "open" relates to intellectual property, as in the Open-Source movement in the Computer Software industry.

Open does not only refer to the CourseBooks; the technology and tools we build will be open source and free to use.

We won't restrict the application of OCB to "open" educational materials. Instead, educators may choose different licensing models (including closed, private, and proprietary).

What is CourseBook?

A coursebook is a cross between textbook and lecture notes.

It is a companion to a course that should be treated as a teaching and learning tool.

It is not as long and comprehensive as a textbook is.

It is not as sparse, scattered, and stark as lecture notes are.

It is meant for curating learning materials (and activities) around subject matter content to the extent required to meet your course's learning outcomes.

It should be treated as teaching and learning tool. It is slides/handouts, worksheets, and (assigned pre/post) readings rolled up in a single, organized package.

Each CourseBook is made up of several lessons (think chapters), and each lesson is made up of several steps (think sections).

This organization lends itself to active learning and project-based learning.

r

Manning publishing has liveProjectCoursera has "Guided Projects" O`Reilly has "Interactive Scenario-based learning"

a

Each step is curated around one (or a few) learning outcome(s). It comprises (rich formatted) text and (multi-) media and may include activities and exercises.

A CourseBook is a companion to a course. It is meant for a semester (16 weeks) of instruction for a typical 3-credit college-level course.

Suggestion: Make each lesson (chapter) roughly correspond to one or two lectures.

We won't restrict the application of OCB to creating "coursebooks." Our tools and services can be used for any digital textbook or, more broadly, any (open) educational material.

"coursebook" is ONE word, not two!

Haga clic aquí para centrar el diagrama.
Haga clic aquí para centrar el diagrama.