Redefining “Rigor”: Putting Theory into Practice to Improve Math Skills 

zyBooks is proud to work with the University of Phoenix, an online institution of higher education committed to serving a unique and critical adult student population. The university has been at the forefront of the seismic shift from traditionalist to theory-based teaching practices, practices they apply to their classrooms to give their students a greater chance for success. 

Central to this shift has been a fundamental rethinking of the notion of “rigor.” 

We spoke to Dr. Jacquelyn Kelly, Associate Dean and veteran education researcher, about how her university applies a theoretical framework to teaching math, and approaches academic rigor – insights you can put to work at your institution, too. 

In this post

What drives your university’s approach to teaching math?

How are you helping your students succeed in math? 

How do you apply these theories on a practical level?

Theoretical Framework For Learning

Have instructors been receptive to this approach?

What are the challenges with academic rigor?

Can you give us an example of redefining academic rigor?

Why do you think this evolution has been so difficult?

How does redefining academic rigor benefit your faculty?

Final takeaway? 

What drives your university’s approach to teaching math?

Dr. Jacquelyn Kelly The biggest thing for us at the University of Phoenix is to make math safe for students. We mainly serve non-traditional adult learners, and those learners may have been out of academia for quite a while. Many of them are parents or working or first-generation college students. It’s a very diverse population.

We’re serving an incredibly important student population who is looking to better their lives and their family’s lives. This comes with some additional challenges. If they’ve been out of school for a while, the idea of coming back might be very scary. They are also balancing many competing priorities, real life competing priorities. 

When they come to us, they may remember previous experiences that they had with math at other institutions, like in high school or even grade school. And those experiences by and large were incredibly negative – they were likely exposed to a very different instructional paradigm that did not focus on the student-centric approaches now well-known in education research. 

How are you helping your students succeed in math? 

Dr. Jacquelyn Kelly We know that math success is really predictive of college success. We want to make sure that our students have the skills that they need to be set up for success as they enter their math courses. 

“We know that math success is really predictive of college success. We want to make sure that our students have the skills that they need to be set up for success as they enter their math courses.”

Dr. Jacquelyn Kelly 

We do that by integrating a lot of different educational theories. Here at the University of Phoenix, we created a philosophical framework using a variety of seminal, well-accepted learning theories, cognitive theories, theories for motivation, and theories for identity development.

This synthesized philosophical framework drives what we do in our classrooms. It informs how we set up the classroom environment, the teaching strategies, the advisory information, and all of the experiences that the students require to feel safe. 

How do you apply these theories on a practical level?

Dr. Jacquelyn Kelly That’s the challenge that all education faces. We have these theories that we know work in the research field. And then we have practices that exist in the actual institutions of education. And those are often not aligned.

A lot of the research that I’ve been doing in the last few years is understanding how to bridge the gap between these complex theoretical constructs and the practices we see in the classroom.

The way that we do it is by relying on that framework. We overlay that framework on top of course features that exist in our classes. We go through each feature and determine which part of our theoretical framework applies. 

“That’s the challenge that all education faces. We have these theories that we know work in the research field. And then we have practices that exist in the actual institutions of education. And those are often not aligned.”

Dr. Jacquelyn Kelly

Can you give us an example? 

Dr. Jacquelyn Kelly We’ll start by looking at a class and asking which course features we have control over. Because pragmatically, we don’t have control over everything.

We know, for example, we have control over discussion questions. So we’ll go through them and say okay, based on our theoretical framework, our conceptual change theory says our discussion questions should look like this. Our theory about academic self-concept says our discussion questions should also do that. Our theory about cognitive change says they should also do this.

We walk through each of the six theories that make up our theoretical framework until we develop a list of discussion questions that encompass all of them.

For many course features, we can maximize this kind of implementation because we created a scoring rubric from this matrix so we can see, okay, did we do it? Did we kind of do it? Or were we unable to? We quantify, essentially, the score of every class feature that we design to know how consistent it is with our theoretical framework.

Theoretical Framework For Learning

Theoretical ConstructTheoretical Claim
Conceptual ChangeStudents learn through conceptual development and conceptual change
Social ConstructivismLearning occurs and knowledge exists between social entities and is developed through social interaction
Metacognition & AffectLearning is influenced by metacognitive process and affective state.
Systemic Functional LinguisticsLanguage is contextual; teaching students to navigate those contexts is essential for learning and communicating knowledge.
Academic Self-ConceptAcademic self-concept is the strongest quantitative predictor of student persistence. 
Hidden CurriculumUnintentional messages about learning and knowledge are delivered to students from the structure and policies of the learning environment.

Source: University of Phoenix White Paper “Using a custom authoring online product to create (education) theory-informed online asynchronous learning environments”

Have instructors been receptive to this approach? 

Dr. Jacquelyn Kelly Changing institutional paradigms is a big challenge. Many of the outdated norms that exist in academia, traditionalist views of teaching, are still views that many faculty hold across multiple institutions, because those paradigms existed as they themselves went through the educational system. So they know nothing different.

One thing that has been an incredible challenge is helping faculty understand an evolved definition of academic rigor.

What are the challenges with academic rigor? 

Dr. Jacquelyn Kelly Rigor has become almost a buzzword to make sure we’re not watering down academia or anything like that. The question we ask faculty is, when you say “rigor,” what does it actually mean to you? 

The answer is usually that students have to have to be challenged, coursework has to be hard. Students, essentially, have to be kind of miserable because faculty is often relating rigor to their own process of earning their terminal degree, which was in fact pretty miserable in many cases.

But if you get instructors to really talk about, ask what really is rigor? Very few are able to actually say, well, it’s just a leveling measure. It’s just a measure that students have met some sort of level of proficiency. That’s it. 

“If you get instructors to really talk about, ask what really is rigor? Very few are able to actually say, well, it’s just a leveling measure. It’s just a measure that students have met some sort of level of proficiency. That’s it.”

Dr. Jacquelyn Kelly

We’re still sticking to many outdated teaching practices with the excuse of maintaining rigor. What we’ve noticed is if we can explain that you can still maintain rigor while shifting your methodology to something more productive, they’re likely okay with it.

Because once instructors recognize that rigor is just a level, we can set learning outcomes at the right level. And they will understand that anything in the classroom that supports students with feeling good has a positive effect and is not contradictory to rigor. We don’t want to equate rigor to student suffering.

Can you give us an example of redefining academic rigor? 

Dr. Jacquelyn Kelly  A big issue is understanding that leniency is not related to rigor.

A student could have a hardship in their life, say, a family member passed away or they just lost their job – big life events that happen to our non-traditional students because they’re in the middle of their real lives. An outdated perception would be that an instructor couldn’t make any exceptions to turning in an assignment late because it wouldn’t be “fair.”

A practice that would be more in alignment to what we expect in the classroom is we see that student as a human. A student might need a reasonable accommodation because of what’s happening in their life, and by doing so the instructor is not sacrificing the quality of their learning and instruction.

At the University of Phoenix, we specifically put policies in place to support faculty to extend time frames like that because we know that it doesn’t compromise the rigor of the classroom. That’s an example of how a small shift from a traditionalist to a more research-based approach has improved student outcomes.

Why do you think this evolution has been so difficult? 

Most faculty’s overarching memory of their own academic experience is earning their doctorate before starting to teach. So that’s their perception of how academia should feel. So unless we define it for them, many instructors will come into a 100-level class filled with novice learners just starting out and apply the expectations and feelings they had at the doctoral level. 

That’s not a great place to be for anybody. Not the students. And not the faculty because they just become frustrated. And we want our faculty to have joy in teaching. 

How does redefining academic rigor benefit your faculty? 

We were discussing at my faculty council the other day, that as a parent, if you’ve gone through some sort of generational trauma, you have to learn to basically re-parent yourself before you parent your own children or do that in tandem. And that is work. That is work. 

It’s the same thing with our faculty. They’ve come through a generational system that is essentially abusive for academics. And not on purpose. It’s just really intense and there are no feelings, and it’s not supported by the best research. So as they move into teaching and developing teaching roles, they have to be able to essentially re-parent or relearn how they learn before they can effectively support their students.

And if they do, magic happens. 

And if they don’t, the same trauma cycles will continue to repeat, just at lower levels now.

Final takeaway?

At the end of the day, every single thing we do is for students. In order to support our educational systems at large – nationally, locally, everything – we all have to be in it for the students. We think about that in every single thing that we do. And we try our best to come across with all of that consistently.

At the end of the day, we’re going to push all of the barriers. We’re going to try to do all this translation from traditionalist to theory-based. We’re going to do the hard work, even if it’s not the easy path. And we’re going to still choose that path because it’s the best one for our students.

How to Teach Data Science – a 2023 zyBooks Guide

I’ve thought about how to teach data science – a lot.

Six years ago I was a statistics professor at a Midwestern university when my dean asked me to create a data science class from scratch. That was a tough challenge, because at the time there wasn’t a clear consensus of what a data science course should even look like. 

And you know what? There still isn’t. 

Data science is such a new field that the pedagogy isn’t yet etched in granite. Instructors often shift into this subject from other disciplines, like I did, and have to figure it out on their own (again, like I did). I joined zyBooks to help solve this problem, and create the data science textbook I wish I had back at school. 

Although the discipline is still evolving, through my own experience, research and talking with instructors across the country, I’ve evolved the following set of best practices that are invaluable in helping students master this subject – best practices you can put into action in your own classroom right away.

Best Practices for Teaching Data Science

  1. Key topics for a data science course
  2. Use a variety of real-life datasets
  3. Communication skills are essential – teach ‘em
  4. Lecturing isn’t enough
  5. Coding is key…
  6. …but data science is more than just programming
  7. Encourage good coding practices
  8. Use the “data science lifecycle” in your classroom
  9. Meet students where they are (I’ll explain)
  10. Use frequent, meaningful assessments
  11. Bonus: Teaching data science with zyBooks

1. Key topics for a data science course

First, a not-so-rhetorical question: What is data science, anyway? Think of the discipline as the entire process of working with a dataset and extracting meaningful insights from it. While no consensus curriculum yet exists, you’ll want to cover the following foundational topics in your classes:

Data Wrangling 

How do you manipulate or structure a dataset?

Data Visualization

How do you “see” a dataset to understand the relationships within?

Modeling Data 

How do you make meaningful insights or describe relationships between features in your dataset?

Data Wrangling

This is the process of manipulating the structure and formatting of a dataset to answer a particular research question. Show how:

  • Datasets may need to be “tidied” into a row-column format
  • Features or variables in a dataset may need to be combined or split
  • New features might be calculated based on existing features

Data Visualization

A picture is worth a thousand words, and so is a plot! Creating static and dynamic data visualizations to explore and describe relationships in a dataset are the baguette and butter of data scientists. Demonstrate how:

  • Data visualizations should be clearly formatted and accessible
  • Good data visualizations don’t try to show too much. Simpler can be better!

Modeling Data 

Models are algorithmic or mathematical tools for making predictions and describing relationships in a dataset. Explain:

  • How models in data science come from machine learning, statistics, and artificial intelligence
  • How to use a model, and when each model is appropriate
  • How to evaluate a model, and choose the best model from a series of options


Programming is an essential tool in data science. Languages like Python and R are important for data wrangling, data visualization, and modeling data. These languages are also used to put data science models “into production” so that companies can make real-time decisions based on incoming information. If your students have a computer science background they may need less programming instruction than students without coding experience. 

Consider your students’ interests and future goals when planning the sequence of topics for your course. For a single course in data science, for example, you may want to focus just on data wrangling and visualization, or on an overview of data science models. 

2. Use a variety of real-life datasets

Just say no to boring datasets! 

Data science is being applied to basically everything now – business, medicine, social sciences, sports, and on and on – so we’re surrounded by fascinating datasets.

Your students come from a variety of backgrounds and disciplines, so give them a wide range of datasets they can really sink their molars into. They’ll enjoy a richer experience in your class, and gain hands-on experience with real-life challenges that will be invaluable for their future careers. 

It’s easy to dig up cool datasets. Try these three free repositories, for starters:

Free Collections of Fascinating Datasets

Tidy Tuesday

New datasets from a wide range of sources are added every Tuesday, including datasets on Bigfoot sightings, cosmetic brands and Bob Ross paintings. 


Open-source datasets and dataset competitions with prizes. Datasets available include the most streamed songs of all time on Spotify; brain tumor images; and fast-fashion eco-data.

UC Irvine Machine Learning Repository

Over 600 datasets and counting, including datasets on income predictions from census data; landmine detection; and one of the first datasets ever, on irises (nearly 90 years old!).

3. Communications skills are essential – teach ‘em

While data scientists are technical experts, it’s also critical that they effectively communicate their findings to a variety of audiences. So it’s imperative to teach communications skills to your students.
Writing assignments, labs and term projects are excellent opportunities to practice written and verbal abilities. And tools like Jupyter Notebooks, Google Colab and RMarkdown give students the chance to write code and describe their findings in a single document.

“Explain it like I’m your grandma”

Dr. Schwab-McCoy breaks down how to develop communication skills in the data science classroom:

4. Lecturing isn’t enough

Data science is a discipline where you learn by doing. Simple as that. So just lecturing won’t work. Instead, you’ll want to join your students on their learning journey. 

What do I mean by that? 

Hold live classroom demonstrations where you write code, execute it, and interpret the data. Don’t be afraid to make mistakes – show your students that you’re learning by doing just like them. And engage them by assigning lab activities and short coding exercises they complete during class. Keep it interactive and dynamic, ask loads of questions, and prompt discussion. 

5. Coding is key… 

Like I mentioned earlier, programming languages like Python and R are crucial to data science. Giving your students well-documented sample code or template analyses are great ways to get them started. And this is where live coding during lectures becomes so important – show your students that programming isn’t always straightforward and mistakes are the name of the game (and okay!). 

6. …but data science is not just programming

Coding is only part of the story. Unless we really understand what the features in our data are representing, and what we’re trying to learn, the code might not tell us anything. We can create a cool graph with Python. But if it doesn’t address the research question, what’s the point? 

Another heads up: Avoid introducing too much code too quickly so you don’t lose sight of the bigger picture, and lose your students at the same time. 

How to get students engaged from Day One

Dr. Schwab-McCoy shares her approach to getting – and keeping – students engaged:

7. Encourage good coding practices

Emphasizing good coding practices in the classroom can be tricky, but there’s an immediate payoff for both instructors and students: It’s easier for you to review and grade nicely formatted code, and also easier for students to share and review it with their peers.

How to get there? 

  • Set expectations of code formatting through your own examples
  • Teach students how to write meaningful, well-documented comments to their code
  • Share a style guide that outlines things like formatting and naming conventions
  • Remind students that in the real world, code doesn’t just have to work; it must be readable and accessible to your coworkers, managers and other stakeholders

8. Use the “data science lifecycle” in your classroom

Data scientists approach a research problem through a deliberate five-step process, otherwise known as the data science lifecycle. Use it as a model for critical thinking in your classroom. Assignments, projects and discussion examples should all emulate these five-steps, to help your students learn how to effectively conceptualize and analyze complex data. 

Five Steps of the Data Science Lifecycle 

Gathering data

Identify what data is available and relevant, and collect new data if necessary

Cleaning data

Reformat datasets, create new features, and address unusual or missing values

Exploring data

Create visualizations, calculate descriptive statistics, and identify possible relationships

Modeling data

Use statistical or algorithmic techniques to make predictions or measure relationships

Interpreting data

Describe conclusions and make recommendations

Reinforcing the Data Science Lifecycle

How does Dr. Schwab-McCoy emphasize this pivotal concept in the classroom? 

9. Meet students where they are

Some data science courses require programming or statistics courses as a prerequisite. Others don’t. No one pathway into data science exists; no one curriculum does either. 

(For example, we offer three different versions of our data science zyBooks). 

Students come to data science from a wide range of disciplines, so it’s really important to understand their background to tailor your course to where they are. For example, in a class where students have taken introductory statistics but haven’t done much programming, you might want to spend more time at the beginning on the ins and outs of, say, Python. But if students are already familiar with coding, you can jump right into more advanced aspects of data visualization and modeling. 

10. Use frequent, meaningful assessments

For data science, frequent assessment is the golden rule. 

Small, meaningful assessments help your students build up their knowledge and confidence bit by bit by bit. Assigning weekly coding tasks, in-class labs and ongoing projects are more effective ways to assess critical data science thinking than quizzes or exams. (Or getting tripped up by a huge final exam.)

Grading all these assessments can be a big challenge, of course. Relying on Jupyter Notebooks, Google Colab or RMarkdown can help. Since code runs live in their environments, they can provide quick checks on quality. 

Remember, think “small, constant checkpoints.” Assessments can be as simple as filling in the blanks in a Jupyter notebook, running an analysis of code you’ve given them, or writing a short interpretation of what they’re finding. All this will help students stay on track, and help you gauge the pace of class, and adjust as needed as the term progresses.

11. BONUS: Teaching data science with zyBooks

Since data science is so dynamic, requiring coding and live investigations of datasets, interactive, web-native zyBooks, I feel, are the ideal format to study this discipline. So much so that I helped create the groundbreaking Data Science Foundations zyBooks series! 

These books cover the entire range of real-life tasks that data scientists might face in their daily practice. Here are quick tips to get the most out of them:

  • zyBooks are great for active learning, so assign reading and Participation Activities before class to increase student accountability and identify points to cover during lecture
  • Use built-in Jupyter notebooks as a starting point. Datasets and sample code can be expanded on in class or as homework. Data Science Foundations uses real datasets, which can be downloaded from the appendix; feel free to augment with your own
  • Challenge Activities and zyLabs are great to use as homework assignments, or as precursors to your own assignments
  • Programming is an important part of data science, but not the only part, of course. Data Science Foundations builds conceptual understanding before diving into programming

How to Teach Data Science with ZyBooks

Dr. Schwab-McCoy walks through best practices for teaching data science with zyBooks:

Helping Students with Visual Impairments Succeed in STEM

A visual impairment shouldn’t stop anyone from earning an engineering degree, but in many cases it still does. Reversing this outcome is a major goal for the team here at zyBooks. 

In fact, zyBooks is at the forefront of developing – and implementing – accessibility innovations to help students with visual impairments succeed in STEM. Innovations all educators should adopt. To learn more, we spoke with three engineering and science content experts who are leading the accessibility charge at zyBooks. 

Read on. 

zyBooks Accessibility Team

We spoke with three members of the zyBooks accessibility team:

Dr. Alicia Clark, engineering content developer

PhD in Mechanical Engineering, University of Washington; researcher in engineering education, fluid mechanics and medical ultrasound

Dr. Adrian Rodriguez, engineering content developer

PhD in Mechanical Engineering, University of Texas, Arlington; lecturer in mechanical engineering at the University of Texas, Austin

Dr. Greg Sirokman, engineering and statistics content developer

PhD in Inorganic Chemistry, MIT; former chemistry professor at Wentworth Institute of Technology

What are the challenges for students with visual impairments studying STEM subjects? 

Dr. Greg Sirokman It’s quite difficult to convey to someone with a visual impairment the kinds of information that you find in an engineering or science or math curriculum. These disciplines tend to be very visual in how they’re taught. 

To solve this problem, we’re working on parallel ways to deliver that same information, so people with visual impairments can study these subjects.

Dr. Adrian Rodriguez In my engineering teaching experience, and I think Greg and Alicia can also agree, I haven’t encountered many students with visual impairments. But I’ll say that’s probably a symptom of the fact that there’s no support for those students to feel like they can pursue a STEM field. 

“With the accessibility options we’re developing here at zyBooks, we’re giving those students an opportunity they wouldn’t have had otherwise.”

Dr. Alicia Clark

Dr. Alicia Clark As Greg says, STEM is such a visual discipline, so if you do have a visual impairment it’s extremely difficult to even participate in a course. With the accessibility options we’re developing here at zyBooks, we’re giving those students an opportunity they wouldn’t have had otherwise. And since we’re building accessibility right into zyBooks, there is actually very little work a professor has to do to include it in their instruction.  

How are you supporting visually impaired students studying STEM subjects? 

Dr. Adrian Rodriguez We found in our research a huge lack of alt-text descriptions for images and graphics in engineering textbooks. So we started there, with images and zyBooks animations. We asked ourselves, how do we create a system to ensure that the alt-text descriptions are as complete and accessible as possible? 

Alt-text for animations

Our author training manager, Jane Snare, established some foundational guidelines that we’re building on now. For example, with our animations, students see a static figure when they first scroll to an animated activity. We use that static figure to provide a 10,000 foot-level description. Then, we describe the animation in alt-text following a “natural order” of the graphic. We follow the steps and highlight any intermediate movement or actions that are important to convey. For example, if a squiggly line has some context to it, we want to make sure we capture that in the description.

The nice thing about this work is that we’re all subject matter experts developing the alt-text, rather than outsourcing it to third parties who may not have engineering experience. So we can make sure it’s accurately describing the animation concepts from a technical perspective.

Static figure from a zyBooks animation

zyBooks animation with captions shown

zyBooks animation alt-text 

Consider colors

Dr. Alicia Clark Colors are also important. We established guidelines for the colors we select for animations. We make sure there’s enough contrast between certain colors so they’re more accessible for people with low vision requirements. We also choose colors that are color blind-safe, to make them easier to distinguish if you’re color blind. And in certain cases, we’ll frame animations or graphics with a black border to differentiate it from the text. So a lot of consideration goes into just the color choice. 

zyBooks animation with high-contrast colors that is color-blind safe

Accessibility helps all students

Dr. Greg Sirokman Thinking about how you communicate an animation in a non-visual way means you have to think about how to simplify images, how every line drawn in an animation is maximized for utility. This approach actually benefits all students, visually impaired or not, because by simplifying images, we’re reducing cognitive load, and that helps students absorb the material more readily.

“This approach actually benefits all students, visually impaired or not, because by simplifying images, we’re reducing cognitive overload, and that helps students absorb the material more readily.” 

Dr. Greg Sirokman

Accessibility for assessments

Dr. Alicia Clark I want to mention that we’re also developing alt-text for assessments, which is really important. This is a challenge, because when we’re describing detailed graphics, we sometimes just have to give students the answer, which isn’t ideal. We’re now developing a program that pulls data points from the graphics that students can interact with. It’s a work in progress but we want to develop a way for students with visual impairments to tackle assessment problems that are not currently accessible to them. 

Where is accessibility for students with visual impairments heading? 

Dr. Greg Sirokman One of my projects has been pushing the frontiers with accessibility. I was inspired by an article that appeared last summer in Science describing how chemists 3D printed lithophanes of gels and chemical spectra. These are three-dimensional images printed on translucent material that use tactile sense to visualize data. What the chemists found is that this approach helped all students retain the content better – students who were fully-sighted, visually impaired, and even completely blind. 

3D printed graphics

I had an idea of applying this approach to our zyBooks animations and to incorporate Braille annotations. We followed the chemists’ methodology and created 3D printable files of the static figures of animations that you can download and send to a 3D printer. Most universities, even high schools, have 3D printers, so this is a really accessible way to communicate visual content to blind or visually impaired students. We’re working on perfecting this approach now.

Converting a graphic to a 3D printed image

3D printed image of a graphic

You’re opening up STEM education for students with visual impairments 

Dr. Greg Sirokman In my previous life as a chemistry professor, we were required to convert physical books into braille to make them accessible for students with visual impairments. This was an incredibly time consuming and expensive process. Since our medium is now digital, it’s an order of magnitude easier to create the resources that can open new horizons for these students. This is an incredibly exciting opportunity for all of us. 

“Since our medium is now digital, it’s an order of magnitude easier to create the resources that can open new horizons for these students. This is an incredibly exciting opportunity for all of us.”

Dr. Greg Sirokman

Learning Programming with Coral 

Seven years ago, Dr. Alex Edgcomb, Principal Software Engineer for zyBooks, met with zyBooks cofounders Professors Frank Vahid and Roman Lysecky to discuss a glaring gap they saw in computer science education – the lack of a truly accessible coding language for students with zero footing in programming. 

Sparked by that conversation, the programming language Coral was born. We spoke with Dr. Edgcomb about the motivation behind Coral and how universities across the country are now using the language as a successful onramp for teaching programming. 

In this post:

What was the motivation behind creating the Coral language

What do beginner programmers need to know?

Foundational concepts for beginner programmers

How do you teach these foundational concepts in Coral?

How do you use Coral in the classroom?

Visualization is a major aspect of Coral – how is it used?

What courses can benefit from Coral?

How to get Coral

Final thoughts

Coral in action

What was the motivation behind creating the Coral language? 

Dr. Alex Edgcomb: A consistent challenge that we were very much aware of was: How do you get students to both develop a very precise, specific way of thinking in code, and also learn the syntax of a programming language? These are two distinct things.

Thinking like a programming language transcends the actual language itself. What I mean is, an intro programming course can be taught in C or Python or Java… the list goes on. And each of these languages, which are used professionally, come with their own distinct syntax – a whole lot of different language constructs because professionals need those things. Beginners just learning coding, on the other hand, don’t need 95% of them. 

What do beginner programmers need to know?

What they need are some very basic constructs. For example, there’s input and output. Your program’s got to get some information in, and send some information out. Very fundamental. You need to know a little bit of math. You need to do some decision making in your program. And you need to understand looping, arrays, and functions. These are the most foundational parts of a computer science education. 

Foundational concepts for beginner programmers

  • Input/Output
  • Basic math
  • Decision making
  • Looping
  • Arrays
  • Functions 

How do you teach these foundational concepts in Coral?

Dr. Alex Edgcomb: We looked at the concepts one at a time and asked, what’s the easiest syntax? Pretty much every language uses a similar standard structure. We chose the simplest of those structures to build Coral. 

For example, in Python, indentation is how nesting is expressed, whereas other professional languages use curly braces and indentation doesn’t matter. But in early programming courses, instructors really care about students getting the indenting right, so we made it required for Coral. 

We went through the list of key syntax and made these kinds of decisions. We tried to balance keeping it really simple with making the underlying concepts transferable to a professional language. 

Even back in 2016 when we first met to map out Coral, we were clear that it isn’t a language you teach students and they go off and use it professionally; the purpose of the language is to launch a programming education.

“Coral isn’t a language you teach students and they go off and use it professionally; the purpose of the language is to launch a programming education.”

Dr. Alex Edgcomb

How do you use Coral in the classroom? 

Dr. Alex Edgcomb: zyBooks cofounder Dr. Frank Vahid pioneered an approach in his introductory CS classes at UC Riverside where he spends the first five weeks of the semester teaching Coral, and the second five weeks focusing on a professional language like C++. 

His students learn basic programming concepts with Coral, then apply those fundamentals to learn the syntax of a professional language, instead of trying to absorb both at the same time. Frank and his colleagues are still fine-tuning this approach, but the results have been really impressive. 

Visualization is a major aspect of Coral – how is it used? 

Dr. Alex Edgcomb: The language is expressed in two ways. One is textually, as code, like you’d see in a professional language. The other is pictorially, as a flowchart. This flowchart has a very particular structure – it mirrors code in a lot of ways. 


The flowchart is a key feature of Coral. It helps students start thinking like a programmer. Once they understand a concept through a flowchart, they can switch to the code version of the application to understand how that works. 

We created a simulator where you can flip back and forth between flowcharts and code, and work on both sides and see how you’re writing code and how the flowchart represents programming logic. It starts to make a ton of sense. 

In fact, as a professional developer, I have that same kind of visualization – that flowchart – in my head when I’m writing code. It’s super important for students to develop this fundamental insight into the process. Professional languages by their nature don’t readily reveal this insight if you’re a beginner. 

Visualizing Memory

Another key benefit of the Coral simulator is that it helps students visualize memory. We actually show the variables in memory and how they’re being updated. You can step through your code line by line and see how a line of code changed memory or wrote to output, and so on.

Coral connects the dots; memory isn’t this hidden thing. This is huge. Professors use the learning power of hashing out memory on a blackboard. The Coral simulator bakes that in; enabling every program to be hashed out, modified, and then re-hashed. Especially insightful: Hashing out a program the student is actively writing or debugging.

Coral flowchart

What courses can benefit from Coral? 

Dr. Alex Edgcomb: As I mentioned earlier, we’ve seen great success introducing Coral to the first half of Introduction to CS, or CS1 courses. Another course that benefits from working with Coral is CS0, or introduction to programming for students who aren’t studying computer science or engineering. At many universities students from other disciplines will have a tech elective, and Coral is an ideal approach to teaching those students programming concepts. 

When we created Coral it was very important for us to make it available to anyone who wanted to teach with it. The simulator is available free on the Coral website. And we integrated Coral into our interactive Fundamentals of Programming in Coral zyBook. 

How to get Coral

Check out zyBooks Fundamentals of Programming in Coral or visit the Coral language website

Final thoughts 

Fundamentally, our key motivation behind creating Coral is to help the computer science instructor community. We see the evolution of Coral as truly a community effort, and we welcome all comments and feedback on the language. I’d love to hear from instructors about what works for them and how they’re using Coral in their classrooms. 

[You can reach Dr. Edgcomb by emailing]

Coral in action

In this video, Dr. Edgcomb demonstrates the power of Coral to teach fundamental programming concepts: