Excited to share my new project - interactive textbooks for data science.
After returning back from industry to academia for a PhD, I realized that the way data science is taught is lagging way behind its potential.
So I spent some time brainstorming, exploring Streamlit functionality and existing apps, and decided that this must be the future of education for all things data science and beyond.
My current plan is: Take these giant PhD textbooks one-by-one Summarize key concepts in a cheat sheet style Add interactive visualizations Make the knowledge accessible to everyone
Let me know your thoughts on my MVP and let’s chat if you’re equally excited about it as I am!
Hi @justgri, your textbooks look great. I see that you have created a textbook (code + content) for each different topic. What if you could think of a way to make your code common and your content different? And you push your (changing) content into the (common) textbook code as required by a student? Just a thought.
Thank you for your comment! Just to clarify, are you thinking of a chatbot interface where a student describes the topic and the content is generated automatically? If that’s the case, I actually had thought of it and might try to implement in the future, but it would require quite a bit of engineering to make it seemless and also, might still need to wait for some improvements in LLMs themselves.
Or is your idea a simpler one, to have built-in common code for a chart template and then let students enter their own formulas for visualization? That’s also an interesting route - need to think in what ways that would be different from tools like Desmos or WolframAlpha.
1.Let’s say your code starts with a blank page. It lists all the available textbooks in the sidebar (because your code scanned all your textbook (content) files in your folder and added it to a list, which it displayed in the sidebar though a radio widget)
2. When you choose a certain textbook (content file, which can be a CSV / json dictionary, etc. that contains all information on how to display your content), your code reads and parses it.
3. During parsing, it reads that you require to get an x-coordinate from the user, it dynamically creates a number input on your screen. Same for the y coordinate. Your content can either specify what graph you want to display basis the x & y coordinates (only if the user has entered both), or it creates a drop down that a user can choose the graph type from
4. And so other content data is read in by your code and the entire textbook is displayed
This way you can create your code (to handle all types of widgets) only once, and the textbook content can be created as time permits and viewed by anyone on demand.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.