Year in Review 2022

With the year 2022 in the rear view mirror I wanted to take some time to update you all on what we have accomplished in the last year, give you some fun facts, a financial update, and talk about the community in general. So lets get to it!

Fun Facts

During 2022 we welcomed 74,000 registered students and instructors to the community! That is a lot of new people and a lot of money saved on textbooks! During an average school day we have around 1000 students active during a given five minute period. I think that is something we can leverage moving forward. The traffic on Runestone clearly shows that we have a “homework bump” that is once the traffic slows down at the end of the school day across North America, we have an evening spike that lasts three to four hours. We have no such spike on Friday nights. Also, students do not do homework on Saturdays. In 2022 we had 115,100,000 page views! That is nearly double the number of page views from 2021. About 60% of the page views are from registered users while the other 40% come from searches through Google, Bing, and others.

What makes Runestone Academy Tick?

People, 100’s of people who donate their time in many ways.

  • Authors – between PreTeXt and Runestone we probably have around 60 different authors represented on Runestone Academy.

  • Developers – Over the years around 100 developers have contributed at least one line of code to Runestone, and around 50 developers have contributed at least one line of code to PreTeXt. Over the years this job has become more difficult as the complexity of the whole system increases. I am aware of this and actively trying to find ways to make it easier for anyone to help with development.

  • Dev Ops - Monitoring the servers, building, testing and deploying updates, to our servers, building, updating and deploying updates to the textbooks, are all things that happen weekly. It takes time, although a lot of that time is just keeping an eye on things while they run in the background. For example it takes about 4 hours to rebuild and deploy all of the books on Runestone Academy. Its mostly automated but you have to keep an eye on it for those few times when something goes wrong. It takes another 30 minutes or so to rebuild and deploy all of our servers.

  • Bug Finders - Reporting problems to us is equally as important as writing code! I am always surprised by the number of people who just live with a bug instead of reporting it to us on github. PreTeXt is tracking 1242 issues while Runestone is tracking 2216. Of course those numbers are obsolete the moment I type them. Issues come in all forms and we welcome reports of typos as well as serious bugs in the Runestone servers.

  • Exercise Creators - Over the years the question bank for Runestone has grown by leaps and bounds - over 14,000 questions not including those that are part of a book. This is a great way to learn a little about restructuredText or soon PreTeXt and contribute to the whole. If you have a good exercise please feel free to add it through the web interface. You can keep it private if you wish or you can share it with all the other instructors out there looking for new homework problems.

  • Exercise Editors - With the huge growth in the size of the question bank, we have created quite a problem for ourselves. Many of these questions are just dummy questions that instructors use to learn and should be weeded out. Anyone can help with this problem by flagging a bad question. This puts it in the queue for an editor to take a look at and either delete or update. We need loads more exercise editors!

  • Community Builders - Do you know what makes for the most successful textbooks on Runestone? It is an active and supportive community of teachers using that book. The best case in point for that is CSAwesome. It truly is awesome the way teachers help and support each other on the mailing list. But that takes some effort and leadership to nurture Beryl Hoffman and the people at the Center for Computer Science Education do a wonderful job. We need more of that for all of our books!

  • Documentation Writers and Trainers - Have you gotten pretty good at some aspect of Runestone? How about taking a look at the documentation and bringing it up to date, or making it easier to understand? By now I’ve lost all perspective of what it is like to be a newcomer to Runestone, but many of you have not. Would you like to host a workshop to train people how to use Runestone? We would be happy to support that!

  • Word Spreaders - If you like Runestone or any of its books please help us spread the word. We would love to have everyone recommend Runestone and PreTeXt to two colleagues. We would love to have everyone mention Runestone and PreTeXt on social media. Do you Write a blog? Toot on Mastadon? Post on Facebook? Tweet on twitter? How about a shout out? I have left both Facebook and Twitter but if someone would like to take over the FB page or the iRunestone account on twitter let me know! Anybody can help with this and the more we grow our community the more good ideas we get.

Accomplishments in 2022

New Server Architecture

Looking back at it now, I have to agree that 2022 started off a little bit rocky. We moved to a brand new server architecture, and a brand new server to handle the majority of the book serving traffic. After a month or so of headaches things calmed down, and I’m super pleased with the new architecture. It allows us to scale horizontally as our traffic ebbs and flows over the course of the year. There is much more to be done in this area, but we will do our best to make it as seamless as possible.

The PreTeXt Partnership

During the Summer of 2022 a lot of work that has been going on since just before the global pandemic took hold really began to pay off. The partnership with the PreTeXt project allows me to focus more on the server and interactive widgets for learning, while freeing me from maintaining and improving an authoring language. We converted our first books from restructuredText to PreTeXt and in the words of Billy Crystal “they look mahhhhhvelous!” My hope is that we can transition the rest of the books during 2023. As we master the conversion process we will also be able to make PDF, Braille, ePub and other formats of our interactive books available. Though of course they will not be interactive.

I’m also really excited to see that a number of the Mathematics authors have embraced the interactive elements that Runestone brings to the table in writing their textbooks. Parson’s problems for doing proofs or derivations anyone?

The Launch of Peer Instruction

During the winter of 2022 we piloted our new peer instruction system, this was followed by a workshop attended by about 20 instructors who used peer instruction in their classroom during the Fall of 2022. This is a very exciting new feature that you can use to replace clickers in your classroom and which also works well in the virtual classroom. This work was funded by the NSF and led by Dr. Barbara Ericson at the University of Michigan.

The Launch of the Author Server

Every year I hear from a handful or more of instructors that want to customize one of our books for the classroom. While making that easy for everyone is still a ways off we took our first steps in enabling that by creating a server just for authors. The server allows you to start with a brand new book, or with the fork of an existing book on github and gives you control over when the book is updated and published either publicly or privately. A few brave authors have been using it for the 2022 fall term and it has worked quite well. This server also has the beginnings of what I am calling an impact report, that is, as an author you will be able to track the usage of your book, and understand what parts of your book are used the most. We look forward to working with authors to see how we can expand this out to provide much finer grained information on individual questions and other features.

Micro-Parsons

Formerly known as horizontal parsons, this new interactive question type allows you to create a parsons problem for an individual expression or statement. This is great for teaching SQL or regular expressions, or even helping students work through some trickier kinds of expressions that you might write in Java or Python. The new Micro parsons are also leading the way in terms of allowing parsons problems to be graded by unit tests in addition to simple block order.

Joint Runestone - PreTeXt Workshop

In June of 2022 we held our first joint workshop, where we brought together about 20 authors and developers from the PreTeXt and Runestone projects. The workshop was held in Ann Arbor on the University of Michigan campus and it was an amazing week of learning together, sharing research, and brainstorming ideas for the future. I’m so excited about where this could all lead.

NSF POSE Grant

We were honored to receive a grant for the project we call **PROSE** - PreTeXt Runestone Open Ecosystem. This NSF grant is designed to help projects like our become a sustainable ecosystem. For us that means many things: recruiting community managers, developers, authors, editors, question bank maintainers, and more. It also means reaching out other projects to see how we can work together more effectively and efficiently. There are so many projects that are part of the “Ed Tech” world and there is so much needless duplication of effort. The marriage of PreTeXt and Runestone demonstrates that two projects can come together and be more efficient and stronger when we work together, we want to spread that message and find other projects who share our vision and are willing to join us. Another big part of this grant is to help us figure out how to organize and maintain all that we do going forward. In a world where anything can happen, we need procedures and people in place if something horrible were to happen.

Finances

In late 2021 Runestone Academy LTD was formed as a new corporation to supplant Runestone Interactive. We are operating Runestone Academy as a non-profit. Although the conversion process took a lot longer than expected Runestone Academy has also filed our paperwork to get IRS approval as a 501(c)(3) which will give us official non-profit status for tax purposes. We have also named a board of directors to help us think strategically about how we ensure a strong future for Runestone. I am honored to have this group of forward thinking people help guide the way: Paul Resnick, Assoc. Dean of the University of Michigan School of Information, David Farmer of the American Institute of Mathematics, Susan Rodger, former President of SIGCSE and of Duke University, Danny Fenjves former founder and CEO of Upperline code now leads the LEARN team at Giant Machines and Jane Miller our CFO and Secretary/Treasurer who has been a partner in my crazy endeavors for the majority of my life.

The financial details of any transition year can be confusing, especially when trying to compare to a past year, so lets just focus on 2022 and mostly not try to compare to last year.

These are unofficial numbers but they should be pretty accurate. We have several different sources of income including students, schools, ads, partner support from people who use Runestone for their own purposes but want to support our work, Grant money, and consulting work on grants. Here is how that all breaks down.

Income

Source

Amount

Direct support from students

$10,000

Support from institutions (departments, colleges, schools)

$17,000

Advertising Income

$16,500

Support from Grants

$11,250

Support from partners

$2,400

Webwork income

$23,300

Other

$3,000

Total

$83,450

Expenses

Expense

Amount

Hosting and server costs

$8,800

Webwork expenses

$15,500

Legal fees

$9,725

Credit card and Paypal fees

$900.00

Travel

$1,800

People costs (healthcare, salary, etc)

$44,600

Total

$81,325

So, you might think that we have a net profit of about $2,000 which would be great for a non-profit, everything balances. But let me point out a few problems with that conclusion.

  1. People costs – $44,607 includes 1 full time person and 1 part time person. Thats not a very good salary.

  2. Support from institutions is what we have Invoiced for $17,195 Unfortunately we have been paid only $12,165 of that. People will often ask for an invoice and then completely ignore the invoice and our followup emails. This makes it hard for us to plan and count on that money.

In 2023 we have and will institute a couple of changes.

  1. If you school wants Runestone Academy to sign a contract or data privacy agreement we will invoice the school for $100.

  2. During the first part of the year we will be working on determining a small set of features will will require payment. None of the paid for features would prevent you from using Runestone for free. These are all features that are nice to have, but provide good backup for why you could pay to support Runestone. I know that many public schools have policies that don’t allow you to “donate” so by providing a few features that you can only use if you pay turns that donation into a fee for service.

Runestone Academy is not a big corporation. The two employees mentioned are myself and my wife. As I made clear above, Runestone is powered by volunteers. The Runestone community has accomplished a LOT on very little over the last 10 years. The challenge is to sustain that progress and spirit in an ever changing world.

Conclusions

This past fall I ran a survey for the instructors who use Runestone Academy, I learned a lot from the survey that will help us set a course to smooth out some of the rough edges of the Runestone platform. But even more than that was the outpouring of support for the mission. So many people have come to rely on using Runestone Academy in their classrooms every day, and so many people said that love it! That kind of feedback is really energizing and makes me want to work hard to keep building and improving things.

Our mission is expanding, Democratizing textbooks for the 21st century is only part of what we do now. An updated mission statement might read as follows:

>To enable authors and researchers to maximize the accessibility of open educational resources for learners, and advance the teaching of STEM fields.

As with any mission statement it needs a bit of unpacking. Accessibility is the practice of making information, activities, and/or environments sensible, meaningful, and usable for as many people as possible. And the goal is to create a virtuous circle of feedback that drives progress for our four major stakeholders: learners, researchers, authors, and teachers.

It is worth repeating… we can use your help! If you or your school can join the project by supporting us financially that would be awesome. But beyond that we want YOU to become an active participant in our community in any of the ways I mentioned above.

An Open Letter to Future Authors

Dear Future Textbook Author Who Knows LaTeX,

LaTeX is a markup language which is designed to help you produce nice PDF. PreTeXt is a markup language which does everything LaTeX can do, and in addition provides multiple output formats, interactivity, and accessibility. If you are writing a textbook, you will find it well worth the effort to learn PreTeXt. And it is better to start with PreTeXt instead of writing in LaTeX and then converting.

A major attraction of PreTeXt is that your book will be available in multiple formats, including highly accessible HTML. Formats are only part of the story: if your book is merely the book you would have written in LaTeX, translated into PreTeXt, the result will fail to achieve its potential. What will be missing are the features of PreTeXt which support teaching and learning.

But first, what is a textbook? In the past, the textbook was the source of all material being taught in a course and also the source of all examples, exercises, etc. These days it is common for a course to call on multiple resources. PreTeXt makes it possible to bring back the time when the textbook contained everything – with PreTeXt the textbook can be the portal to everything needed by the instructor and the student.

And second, what is your vision for your textbook? Some textbooks are a monograph: one person’s articulation of a particular subject – a beautiful and coherent exposition on a topic. A monograph, even if it contains many exercises, is no longer sufficient to be the sole resource for teaching or learning a subject. A modern textbook can be crafted to enhance teaching and learning, supporting good pedagogy and recognizing the realities that face both students and teachers.

If you are writing a monograph, some PreTeXt features will not be of use to you. But you will find that PreTeXt helps you think about the structure of your document, resulting in better exposition. The extra features are available if you later decide to use them.

If you are trying to actively support teaching and learning, then PreTeXt has many features which will help you create a textbook that improves learning and enhances teaching.

For example, some PreTeXt books have preview activities at the start of each section. A preview activity gives the student a few tasks to perform – tasks which they are capable of doing with only their current knowledge and which introduce (without using any terminology) the main concepts of that section. This supports good pedagogy, because

definition example

works fine for research and graduate level exposition, but in most of the undergraduate curriculum

examples terminology

works better.

Other PreTeXt books have reading questions at the end of each section. An ideal reading question is easy for a student to answer if they have understood the material in the section, and difficult if they have not. Reading questions are graded on effort.

Your book can be available in an online system (such as Runestone) which gives the instructor easy access to the students’ answers to preview activities or reading questions. A quick glance at those answers immediately before class will allow the instructor to productively modify their plans for the classroom, allowing more time for those topics where the students need it most.

So: think about how instructors might use your book. Then create a book which will help them be better instructors.

Let’s think about the students. What is the single most significant cause, throughout the history of STEM education, for students having difficulty learning the material? A good case can be made for: the long delay between when they answer a question and when they receive feedback on their answer. Some STEM fields, notably physics and computer science, have recognized this issue and taken effect steps to address it. Numerous types of problems have been created, where students can automatedly receive instant feedback on their work. Misconceptions and common errors are caught quickly, and the result is better learning.

PreTeXt supports many types of interactive problems. Multiple choice and short answer, of course. Also Parsons Problems (multi-step answers where the steps are given, to be put in the correct order), Matching (match Column A with Column B), Clickable Area, and more. Not every type of problem is suitable for instant feedback, but surprisingly many are.

PreTeXt also supports multiple types of interactive demonstrations, such as GeoGebra, Desmos, Sage cells, CalcPlot3d, etc. Students can explore an example as much as they wish, and the demonstration can be reset just by reloading the page.

So: think about how students might use your book. Then craft a book which will help them to learn more: more than they would just by reading clear explanations, seeing illustrative examples, and turning in their work to be graded later.

All of the interactive examples and exercises can be right there in the book: there is no need to cobble together and keep track of a variety of resources. If the book is hosted in Runestone, the instructor has direct access to submitted student work and a dashboard of learning analytics.

Some books have introductory videos in each section and some have videos showing worked examples. These are appreciated by those students who prefer learning by watching and listening. It is better for your book to include quality material that you have selected, instead of having your users wade through the swampy haystack of the Internet.

It takes a while to start thinking holistically about how your book will serve as the interface which connects the material you are passionate about to the students learning the material and the instructors helping the students to learn. The ability to properly support all of that activity, by yourself as an OER author, is a new idea which is now made possible by the combination of PreTeXt and Runestone. But you are not by yourself: there is an active community of PreTeXt and Runestone users and developers, and there is a growing list of textbooks which illustrate what is now possible.

A good textbook might present the material in a clear and coherent manner, but a great textbook actively supports teaching and learning.

PreTeXt and Runestone are free and open source tools which can help you craft a great textbook.

Regards,

David Farmer
Director of Programs

Instructor Survey 2022

Let me start out with a big thank you to everyone who responded to the Instructor Survey over the last few weeks! About 200 of you took the time to answer the questions. The results as I watched them come in were remarkably consistent. I would like to break down the results into four sections: Features you value, Features you might be willing to pay for, Contracts and Privacy, and Thoughts on the future.

Features you Value

The following graph summarizes the responses to the first four questions. Recall that 1 is least important and 5 is most important.

../../../_images/features.svg

I was a little surprised by how many instructors said that LTI was really not important, nearly 50% of respondents rated the importance of LTI a 1. Assignments and grading, practice, and tracking student progress were rated a 4 or 5 by 60% That reaffirms that these are our core features that you rely on. Although reading through the open text response it is clear that we can make the assignment and grading pages much better. I’ve started a redesign of those in my head, but I would love to hear from you on what exactly the pain points for you are. I heard words like clunky, cumbersome, difficult, and those are somewhat helpful but some detail would sure help.

The thing that made me the most happy was the overall satisfaction score with over 90% of the responses rating us a 4 or 5! There were so many nice comments in the text section that I will read again and again on the days when I am slogging through the code trying to fix some obscure bug!

Features you Might be Willing to Pay for

I know the question was a big vague, and I think think that it led to some unnecessary panic by some of the respondents. What is clear to me is that there is a section of our user base that values Runestone Academy and would like support us. There is also a sizable number that come from school districts that would not have the budget to support us even though you might want to. This latter group is why Runestone exists, we exist to serve you and we want to be here for you. Recall that 1 is least likely to pay and 5 is most likely. Here is the summary graph:

../../../_images/fees.svg

A couple of things people are clearly not interested in paying for: early access to features, dedicated email support, LTI. But about 20% of respondents would be willing/able to pay for a support fee, access to the student progress features, the practice feature, assignments and grading, PDF copies of the books, and even LTI. Because I’m kind of a nerd I made a correlation matrix:

../../../_images/corr.svg

This does show some interesting correlations that may suggest a way forward. First there is a 0.5 correlation between those who value the practice feature and those that would be willing to pay for it. This is also true of LTI at 0.42. Assignments and Grading and Student progress are at around 0.3. I think it is kind of cool that satisfaction is not correlated with anything. One might hypothesize that the more satisfied you are the more you are willing to pay. But it is probably just be that because 90% of the responses were very satisfied that there is not much to correlate with.

Contracts and Privacy

I have written about this a lot in the past. Processing these contracts that schools want me to sign is a major time sync and a terrible use of my time. Nearly all of them require Runestone to promise to reimburse the school for costs associated with a data breach! For a service they are not paying for! Is it reasonable to charge schools a $100 fee to process these? As the following graph shows the overwhelming majority 85% feel it is fair.

../../../_images/contracts.png

I would love to hear the reasoning of why 5% of the responses do not think a $100 fee is reasonable. I suppose you might think that I should trust your school. They are not out to get me, just to protect their students. But that is no way to run a business. More and more I have become convinced that Runestone Academy needs to have a Cyber insurance policy. I am happy to say that after an extensive search and a LOT of back and forth with underwriters we have finally obtained a policy. But, guess what… They don’t give those policies away for free, they charge a substantial premium that adds to the cost of running Runestone.

Thoughts on the Future

I want to start this section by reminding everyone of why Runestone Academy exists. We exist so that we can make high quality, accessible textbooks available to students no matter their economic situation or physical limitation. Too many students do poorly because they cannot afford (and therefore do not buy) the textbooks they need for class. We exist to provide students engaging books that help them learn more effectively than paper books. We exist to help teachers teach more effectively by providing them feedback about their students. We exist to help authors and researchers do their jobs more effectively by providing a system where they can experiment with new pedagogical techniques and new technology for textbooks. You will notice that not once in that list of reasons we exist did I mention the word profit or money. Making money is not why we exist. The materials we provide will always be free to students.

Yet the hard facts of the world are that nothing is for free. We have hosting fees and legal fees and credit card fees and paypal fees in 2021 we had about $28,000 in fees. That is before I even try to pay myself a salary for working on this full time. What happens if I disappear? Is there someone else willing to devote full time to keeping Runestone running for little or no pay? I haven’t met anyone yet, which means we have to get to the point where we can pay someone and keep Runestone sustainable.

There are a few immediate decisions from the results of the survey.

  1. Runestone books will continue to be free to all students. We will not charge the students for access to our books.

  2. For all schools with courses beginning after January 1 2023 that want Runestone to sign a contract we will require a $100 contract fee. If your school cannot afford that fee we have options for you to continue using Runestone without a contract.

  3. I think that there is room for a “freemium model” to work. We will work on defining a set of features that will remain free to everyone, for example assignments, grading, and student progress remain free but features like LTI integration, practice and peer instruction may cost a small fee. I am being transparent about this because donotpanic I don’t want people to panic, I want to open a dialog to get your feedback and I want to reassure everyone that if we do have to charge for some features you will get plenty of notice. I also want to reassure you that we will do everything we can to find grant money so that everyone who wants to use any book on Runestone Academy can continue to do so regardless of the financial position of the school.

Pathways to enable Open Source Ecosystems

Early this year my friend, colleague, and Runestone board member Paul Resnick forwarded me a copy of a new NSF program called POSE, the solicitation said: “The purpose of the program is to harness the power of open-source development for the creation of new technology solutions to problems of national and societal importance.” The solicitation continues: “The POSE program aims to support managing organizations that will facilitate the creation and growth of sustainable high-impact OSEs around already-developed open-source research products.” Cool!

This is not a solution to all of our funding needs as the solicitation further explains: “Importantly, the POSE program is not intended to fund the development of open-source research products, including tools and artifacts. The POSE program is also not intended to fund existing well-resourced open-source communities and ecosystems. Instead, the program aims to fund new managing organizations that catalyze community-driven development and growth of the subject OSEs.”

Well, I thought to myself if that isn’t a program specifically designed to help Runestone and PreTeXt in their joint mission I don’t know what is. On September 9th we learned that indeed we had been funded as a Phase I project! The work begins immediately!

We say PROSE

Our proposal which we called the PreTeXt – Runestone Open Source Ecosystem (PROSE) says the following:

We propose an Open-Source Ecosystem (OSE) which will support such a community. This is timely because software for creating OER is just reaching a mature state, in particular, PreTeXt for authoring, and Runestone for publishing. The governing organization for this OSE, which we will call the PreTeXt-Runestone OSE (PROSE), will be built upon the following principles.

  1. Students and instructors should have no-cost access to high-quality OER that supports STEM learning without the equity issues inherent in for-profit educational publishing.

  2. Authors should have a no-cost mechanism for creating high-quality and accessible OER that is not locked into one specific format or vendor.

  3. Authors should have a no-cost mechanism for disseminating their OER as part of fully- featured courseware that provides rich usage and learning analytics for students and instructors.

  4. Researchers, authors, and instructors should have access to high-quality student data to inform research and development efforts related to OER, and improve student learning.

  5. OER must be accessible to everyone, regardless of background, demographic, or disability.

I like to think of these things in terms of a virtuous circle of improvement. Educational Research makes good Open Educational Resources better, which in turn helps teachers teach more effectively, which improves student learning, which drives even more interesting educational research…

../../../_images/VirtuousCircle.png

This way of thinking is part of the DNA of both the PreTeXt and Runestone projects since their earliest days. Every time we add a new feature and study how it effects students and teachers we learn something new! New knowledge inspires new ideas for new features. My TODO list has never run low in over a decade of working on the project, and in fact it is longer today than ever. Recently I’ve had to admit to myself that the list is too long. There is too much to do and Runestone Academy has grown so much that it is more than one person can manage. More than that, is the feeling that we are on the cusp of something disruptive, transformative, and sustainable. That is why this grant is so important and timely.

How you can help?

Over the next months we will be hosting a series of online discussions around areas where we need help. Everything from cybersecurity and dev-ops to community building and training. We invite you to participate in these discussions to share your ideas. We also invite you to consider if there is an area of interest where you can actively participate and contribute some time to the project. Both Runestone and PreTeXt have operated on a BDFL model. That is Rob and I act as Benevolent Dictators for Life. In order to grow and ensure that these projects are sustainable we must move beyond the BDFL modus operandi to become community driven. Check out the calendar of events and sign up on our new PROSE Website

We have many questions to answer in the coming months:

  1. What will the PreTeXt / Runestone ecosystem look like in 5 years? 10 years?

  2. How do we transition from our current organization(s) to a community driven model?

  3. Is our goal to be the preeminent publisher of online textbooks for STEM or are we more focused on being a catalyst for change by serving the research community or both?

  4. How do we fund an organization like ours to provide stability for the future? How do we retain the ability to support teachers and students yet pay for support staff and servers?

  5. What organizations can we partner with to facilitate future growth and provide mutual benefits?

  6. How can we recruit new authors? Particularly authors in STEM fields outside of mathematics and computer science?

At the end of all this process we will have the opportunity to submit a Phase II grant to help us achieve the goals we will have set. The POSE program is a wonderful opportunity for a project like ours, but it will only achieve its full potential if we can convince people like you to join us in making it a success.

NSF PROSE is supported by NSF Award #2230153.

A Practical Introduction to Databases

I am pleased to announce the availability of the new textbook A Practical Introduction to Databases on Runestone Academy (book id: practical_db).  The purpose of this book is to provide a free, open textbook on material of practical interest for students going into computing professions.  The text at present is suitable as the core of an introductory course on databases, and may also find use as a gentle introduction to the topic in more advanced courses on databases, web applications, or software engineering.

In this first release, the book covers three core topics: SQL, data modeling, and relational database theory.

SQL

The chapters on SQL (part 1 of the book) take full advantage of the Runestone platform to provide live, interactive examples with a real database.  Students can see the examples in action, test themselves on the challenge questions, and experiment with querying the provided tables.  As the database is an in-memory copy that is replaced whenever the browser page refreshes, students can freely try out data modification and DDL statements.

For students or instructors who wish to use something other than the SQLite engine built into Runestone (perhaps wanting more persistence), scripts are provided to create the book’s database in PostgreSQL, MySQL, Oracle, and SQL Server.  The text also gives appropriate guidance for these systems where they differ from the SQL used in the book’s examples; an appendix provides a SQL reference that similarly supports these systems.

SQL coverage includes: basic SELECT, INSERT, UPDATE, DELETE; joins (both explicit and implicit); data types and DDL (CREATE TABLE); keys & constraints; subqueries; grouping and aggregation; and set operations.  The chapter on joins includes coverage of one-to-one, one-to-many, and many-to-many relationships and their typical implementations (e.g., cross-reference tables).  There is also a very brief explanation of views, CTEs, and window functions.

Data modeling and theory

Part 2 of the book covers ERD (Chen notation) and translation of the ERD into a relational database, with a complete worked example.  Crow’s foot notation and other alternatives are also covered.

The third part of the book covers the relational model, relational algebra, and normalization (through 4NF), and has a short chapter on the differences between the relational model in theory and as implemented in SQL.

Future work

Future releases are planned, covering software programming with databases, NoSQL, and other topics of practical interest, and some expansion of existing topics.  The book is licensed under a Creative Commons (CC BY-SA 4.0) license.  The github repo is public (https://github.com/cpainterwakefield/practical_db_textbook), please feel free to fork and adapt as per the license terms.  Suggestions, corrections, and pull requests are all welcome!

Christopher Painter-Wakefield, Colorado School of Mines cpainter@mines.edu

WeBWorK Hosting Fees

In case you missed it, check out the annual WeBWorK report from last December.

Starting Fall 2022, we are raising the fee for WeBWorK hosting for most (but not all) institutions. The goal is to bring a little more support to WeBWorK and Runestone developers who still do the majority of code development as volunteer workers. All of the additional revenue will go to those nonprofit organizations (once the additional taxes are accounted for). For example, I’m not going to paid more starting in the Fall. In fact, we’ve streamlined some things and will be reducing the per course alottment that I am paid.

Who is not affected?

Secondary schools will continue to pay $100 per course. We appreciate that it is generally more difficult for secondary school faculty to get expenses approved.

Also, if your institution has many courses each term/semester, the hosting fees are effectively not going up.

OK, what is the new fee structure?

  • Secondary (and primary) institutions: $100 per course

  • Higher ed: $120 per course. But every 6th course is free. For example, 13 courses would come to $1320.

The 6th course discount for higher ed applies at the time of invoicing. So for example there is no discount for ordering 4 courses in the Fall and then 4 more in the Spring. But you are welcome to preorder courses for a future term/semester, as long as it’s not more than 8 months in advance. Since this hosting service is only promised annually, we can’t accept orders too far into the future.

How long will it be until it could go up again?

We will stick with this through the 22/23 and 23/24 academic years and reassess at that time. Who knows, if there are more subscriptions or public funding, we could even reduce the cost.

-Alex

PreTeXt Runestone Workshop

Happy July 4th Weekend! I am glad to be home after almost two weeks in Ann Arbor Michigan. But it was a great two weeks. Here are a few of the highlights.

../../../_images/ptxwc.png

The week of June 20 – 24 was the first joint workshop with the PreTeXt team. We had 28 attendees including authors, developers, educational researchers, and instructors representing the Runestone and PreTeXt projects. One of the main goals for the week was to give everyone a chance to get to know each other and learn more about the two projects.

The PreTeXt Runestone Partnership

After spending an entire global pandemic working on integration Rob Beezer and Brad Miller presented the integration of Runestone and PreTeXt. PreTeXt now has the ability to natively author most of the Runestone Interactive exercises including multiple choice, Parsons problems, Matching, clickable area, short answer, fill in the blank, activecode, and CodeLens! Rob has built a very nice annotated sample book (alternative link without source annotations) that illustrates these questions in action. Runestone Academy can now host books written in PreTeXt and fully supports using questions written in PreTeXt in our analytics and assignments.

Going forward PreTeXt will be the primary authoring language for books hosted on Runestone Academy. We will continue to research and develop new interactive components but we will not have to worry about inventing markup. If you are a current Runestone author I think you will really like the consistency and expressiveness of PreTeXt. It may take a bit to get used to the more verbose XML style of writing, but is well worth learning for future development. There are many advantages to using PreTeXt as an authoring language.

  • PreTeXt books are highly accessible

  • PreTeXt books that are interactive on the web can also be rendered in various static forms including pdf, ePub, Kindle, Braille, and more. We make two types of PDF, one is meant specifically for print/print-on-demand. If you want a bound copy of a book, you can get it!

  • PreTeXt books are highly structured, which will allow for more customization in the future. We spent a lot of time during the workshop talking about various ways we can make the textbooks more customizable.

One big topic of discussion at this workshop is how to grow the PreTeXt Runestone ecosystem. With our combined forces we need to do more in the following areas:

  • Developing champions for each textbook to develop community around each textbook.

  • Developing instructor materials for each book

  • Improving videos

  • Doing more blogging

  • Creating a new home page for Runestone Academy that is more informative about what we are.

  • Being visible at conferences and workshops.

New Titles Coming to Runestone Academy

Starting this summer we are converting many of our current books to use the PreTeXt markup language. The first of these is also the first textbook to be converted to Runestone. How to Think like a Computer Scientist: Interactive edition. We are finalizing the conversion, but I encourage you to take a look at what we have done so far on our development server I am super excited to see this all come together and you will see many other textbooks undergoing the conversion soon. In addition we will have a lot of other new titles available for the Fall.

  • Ordinary Differential Equations

  • Discrete Math: an Open Introduction

  • Active Calculus

  • Apex Calculus

  • Elementary Algebra

  • Intermediate Algebra: Functions and Graphs

  • Trigonometry

I am also pleased to announce that the classic Java Java Java: Object Oriented Problem Solving textbook is now available. Although this textbook was originally authored in LaTeX we have the scripts to convert to PreTeXt. If you have a open source textbook in LaTeX or practically any other format we can convert it to PreTeXt just like this one. Of course the conversion is only part of the work. What we talked a lot about at the workshop is how interactive textbooks that support active learning are structured quite differently than a traditional book. Our research shows that students jump straight to the questions or activities and only come back to read the text when they don’t understand the material. This makes for much more engaged readers.

New Features

One of the features of the workshop was a sharing of a lot of research done by the PreTeXt team as part of the UTMOST project sponsored by NSF. We also got a demo of a new feature of Runestone Academy that allows you to do Peer Instruction in your classroom. This peer instruction feature was the focus of the second workshop the week of June 27.

For Runestone authors it is also exciting to know that Sage and the R language are both supported natively by PreTeXt.

Starting a new book

It is easy to get started writing a book with PreTeXt using the PreTeXt command line tool. This tool allows you to quickly start a book, build books, and see updates to your book as you write. In addition there is also a great extension for Visual Studio Code!

We are working on an editor designed specifically for PreTeXt that will make it super easy for anyone to edit a PreTeXt textbook, more on that another day.

The future

One of the biggest goals for both PreTeXt and Runestone is to ensure that these projects thrive for many years into the future. This means growing the combined team, finding funding and many other things. If you are interested in getting involved in any way we would love to have you join the team. You don’t need to be an expert coder, you don’t even need to know how to code at all. We need willing proof readers, editors, testers of new features, community builders, bloggers, and authors. You don’t need to be a mathematician or a computer scientist either, great open source textbooks are a benefit to students studying any topic!

Summer 2022

Summer time is often when instructors of all kinds can help out with Runestone Development. Since June marks the beginning of summer I thought I would highlight what is on my list for development list for the next few months. If something sounds interesting to you then please get in touch!

PreTeXt

PreTeXt is now the official authoring language for Runestone. There are a host of reasons why this makes sense, and I’ve written about them before. It has taken some time but we have finally arrived in a place where it is a reality. I have converted our first Runestone book ever How to Think Like a Computer Scientist to PreTeXt and Rob Beezer has added markup to support our interactive elements. This is a huge step forward and we now begin a process of converting our current books. Like any conversion process it is not 100% so each book is going to take some manual work to perfect the conversion.

  • select questions

  • toggle questions + A/B testing
    • I think the correct way to do this moving forward is to make toggles tasks and have Runestone show the tasks as dropdown

  • Convert select books to PreTeXt for Fall 2022

  • Build APEX Calculus for Runestone

  • Build ORCCA for Runestone

  • Build Yoshiwara’s Algebra book for Runestone

  • Finish up the SAGE Cell integration

  • Jaas - Jing as a service - Jing is a validator for PreTeXt

  • Make a PR to store traces with a hash of the input.

Peer + Grant Work

This work is funded by an NSF Grant for Barb Ericson at the University of Michigan.

  • Grading - 2 interaction Qs plus chat (maybe) - update autograder

  • Add async peer instruction page

  • Get tags working with question bank searching - what we really want is prereqs and reqs - add to web UI and make use of some taxonomy - someone please give me a taxonomy!

Automatically Create Parsons problems

This work is also funded by an NSF Grant for Barb Ericson!

  • Get Overcode working in python3 - this may also be a good task for Celery

  • Generate parson’s problems from the selected

Github Integration for Custom books

This work is funded by a grant from Elliot Houser and UT Austin.

  • Add simple interface to connect a Repository

  • Add simple interface to publish draft/published

  • Integrate the web hooks to auto build when pushed - this may be a separate server

Runestone Internal Projects

  • Updates to student progress page - replacing d3 stuff with pandas

  • Allow instructors to download LARGE classes on their own - using a celery task with an email followup - maybe create a special role for trusted teachers / researchers to allow them access
    • celery could also be used to do build on demand of Runestone / PreTeXt books

  • Finish redoing the login process

  • prototype an author/researcher dashboard

  • Convert other books

  • Does PreTeXt support hidden pages? Somehow we will need a workaround for how barb has been adding problems to the database but not on a page that is linked to a TOC

  • Create a bibtex file with references and generate a web page of references from that.

Peer+ Webinar

Today, Barb Ericson and I hosted a webinar on Peer+. Peer+ is an NSF funded research project on using Peer Instruction in a Runestone eBook. Click the link to see a recording of the 1 hour zoom or feel free to just look at the slides

I won’t try to repeat the information here, but just emphasize that Peer Instruction is a well studied way to increase your students engagement and success in your class. Please check it out, and don’t hesitate to give us feedback on this exciting new feature.

The New New Academy

This is a big announcement that changes some things very little and some things a lot!

We have incorporated Runestone Academy and applied for 501(c)(3) status. Creating the new corporation is done and official. Eventually, Runestone Interactive LLC will cease to exist as a corporate entity. As of January 1, 2022 the server that you have come to know as runestone.academy is operating under Runestone Academy LTD.

Why the change?

The reason for the change is really quite simple. We want to keep Runestone free for all students. Period, end of story.

However, the reality is a bit different. In an ideal world every school that used Runestone would send us $10 per student. This would allow us to hire support staff and incentivise new authors to add more books to runestone for very little cost to the school and no cost to the students. But that does not happen. I know that many school districts do not have big budgets, and my goal has never been to “get rich from Runestone.” Don’t even get me started about the legal fees we would have to pay to have the “contracts” from school districts reviewed!!!

But We have big goals! I would love to see Runestone helping two million students a day instead of fifty thousand. To do that we need more authors, more books, more servers, more support people, and more programmers! I am greatful to all of the schools and teachers that send us support! Although I feel bad about teachers that send me money from their own pocket! I am from and education family and I know how little teachers at public schools and small colleges make!

So, what to do?

The more I researched this problem the more convinced I became that Runestone had to become a non-proft. This opens the door for us at many corporate and family foundations that care deeply about STEM education. We have several grant applications outstanding, but like everything else, this is a process. New groups have to prove themsevles, and that takes time. In the meantime we will be rolling out new programs that make it possible for individuals or schools to help us financially. More about that soon.