Over the past couple of months, we have been working on a new version of Neo4j GraphAcademy, a free, self-paced online training platform. I’m delighted to announce that the first two of five beginners courses are now available along with a brand new platform!
The Neo4j Fundamentals course is aimed at anyone — technical or non-technical — who is interested in learning at a high level about Neo4j. The Cypher Fundamentals course then guides you through how to query Neo4j using the Cypher query language.
I thought I would take a few minutes to walk through what we did, why we did it, and how we did it.
Start with Why?
A wet and rainy Saturday afternoon during the lockdown in Swindon, UK working on a couple of potential design ideas for our docs led to a full overhaul of our documentation publishing and deployment steps. We spent some time migrating the Developer Guides over to an open-source documentation generator called Antora.
Antora allowed us to bin a lot of legacy publishing techniques, which involved turning Asciidoc files into HTML and merging with the neo4j.com website using the WordPress API. The process was long and cumbersome — no one really seemed to understand how it worked, and it took a long time to complete.
Antora solved a lot of these problems for us, and now we could build a set of static HTML files in a matter of seconds.
GraphAcademy was quickly included with this migration featuring a modified version of the new layout. The site used Auth0 for client-side authentication and a set of lambdas to store lesson progress and generate PDF certificates. Things were a little all over the place, but they worked. My main grievance was that the UI flickered on sign-in.
Aside from the login flickering, there were a few issues that we needed to address.
The courses on GraphAcademy very closely mirror the training that I had delivered in my previous role as a Professional Services consultant, so I had some initial thoughts on where we could improve things. But rather than let my biases lead the improvements, I thought I would reach out to our large developer community to first gather their feedback.
I came with a list of pre-canned questions, but let the conversation flow as much as possible:
- What is your job role?
- What was your experience with Neo4j when you started GraphAcademy?
- Did you have a use case in mind?
- How did you find out about GraphAcademy?
- What was your motivation for choosing GraphAcademy?
- Which course(s) have you taken? Do you plan to take any others?
- Did you find the information you were looking for in the Docs or Developer Guides?
- What do you think about the content of the course(s)?
The outcome of the User Interviews was broadly positive; the main feedback that I received was that the courses were good, if not a little long. We were doing a good job of providing comprehensive content completely free of charge, if not presented in the most attractive way.
Users also highlighted that GraphAcademy was a little overwhelming. There were a lot of courses, but we hadn’t really made it clear where to start.
Along with the qualitative feedback from the community, I also looked at previous enrollment data to gain some quantitative insight into how learners were using the site.
Our completion rates weren’t bad, but were still a few percentage points short of the industry-standard completion rates. Users were also picking and choosing their courses, which was driving down the completion figures as users dropped out along the way.
Our end goal was to get users to complete a certification, and these rates were for the most part good — although possibly fueled by our offer of a free t-shirt to all Certified Neo4j Professionals!
With all of this in mind, it would be disingenuous of me to describe this as a revolution. The content that I had inherited was in good shape, but we can always do better. The key points I took from the research stage were to:
- Improve the look and feel of the site — get rid of the grey.
- Shorten the length of courses into smaller chunks, which would make courses easier to come back to, and in theory, improve completion rates.
- Multiple-choice questions are a little repetitive, and could probably be guessed.
- Provide a more interactive experience to make the courses more fun, but with the added benefit of improving the learner’s comprehension and recall of information.
- Provide a clear learning path towards certification.
- The new courses should all work with Neo4j Aura, Neo4j’s Database-as-a-Service platform.
If I have already piqued your interest, you can view the new site at graphacademy.neo4j.com.
When you first visit the site, you are immediately presented with a recommended set of courses based on your experience level and job role. For beginners, there are a set of courses that cover the fundamentals:
- Neo4j Fundamentals — a course aimed at beginners, whether technical or non-technical, who want to learn what the fuss is all about. (30–60 mins)
- Cypher Fundamentals — an interactive course designed to give you a grounding in Cypher, featuring videos, quizzes, and code challenges. (60–90 mins)
- Graph Data Modeling Fundamentals — everything you need to know to create performant graph models in Neo4j. (90–120 mins)
- Importing Data into Neo4j — a hands-on introduction to importing data into Neo4j, including exercises for importing CSV and JSON. (60–90 mins)
Each course has been developed from scratch, with content split into modules and lessons. Rather than having to pick up where you left off mid-paragraph, the bite-sized lessons should be achievable in 5–10 minutes.
Interactive Code Challenges
The majority of the courses are designed to provide a hands-on experience of Neo4j.
When you enroll in an interactive course, a new database instance is created in Neo4j Sandbox, prepopulated with a graph of data.
As you learn, you are taken through a continuous loop of learning information, recognizing that information, and then actively recalling that information.
For example, in the Cypher Fundamentals course, you are asked to find which movie Emil Eifrem has acted in, or subsequently to remove Emil’s node from the database.
Share Your Progress
Previously, we generated a PDF certificate, but now your certificates appear on a public profile that you can share with your friends, colleagues, or potential employers. As you continue through GraphAcademy, new badges are added to your profile.
As well as digital rewards, learners will also be able to earn physical rewards including stickers, badges, and limited edition t-shirts. But more on that soon!
In the early stages, you may see that many courses are listed as Coming Soon. We have decided to develop the curriculum in the open and give our community the ability to affect our road map. You can register your interest for any course listed as Coming Soon, and we will take this information into account when we prioritize our work. We are a small team so this feedback is invaluable.
We Want Your Feedback!
We would love to hear your feedback on the new courses — whether you have taken a course previously, or are a newcomer to Neo4j or GraphAcademy. We have added feedback widgets to every module and lesson page, where you can tell us whether the page is useful, and if not, how it could be improved.
All of this information is fed into a dashboard (built with Charts) that we constantly monitor.
Limited Edition T-shirt Offer
Complete the Neo4j Fundamentals and Cypher Fundamentals courses within a week and provide feedback and you could be sporting a limited edition GraphAcademy t-shirt inspired by Experimental Jetset’s “John & Paul & Ringo & George” design.
Simply complete the courses, use the feedback widget to provide some feedback, and send an email to firstname.lastname@example.org with a link to your profile and any likes or dislikes about the experience before 23:59:59 PT on Friday 15 October 2021.