TSSFL Technology Stack Integrated Technologies for Teaching, Learning, Research and Business

User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#1

Please make sure you read, navigate all links, and scroll down through all posts to see live examples and new integrations!

The problem of poor education from early grade to university level and the quality of research output is mostly a global problem, but the situation is alarming in developing countries, Tanzania included. As depicted by the developmental progress in most African/developing countries, unquestionably, only very little research output and the acquired knowledge from school are useful and locally applicable in solving significant real-life problems. Notwithstanding, there is an opportunity to rectify this situation by employing digital technologies.

Both teaching and research can be greatly enhanced with the use of digital technologies. Appropriate digital tools are very helpful, for example in presenting, analyzing, and visualizing data, and in simulating, exploring, and animating various physical and mathematical models to make a sense of them. TSSFL Stack infrastructure has miscellaneous integrated open-source software and web-based technologies that can be deployed to provide inspiring and unprecedented cost-effective technology-assisted solutions in STEAM education and research. TSSFL Stack integrated digital technologies present an opportunity and technologically unconstrained environment for anyone to learn with flexibility in time, location, and communication model. Primarily, TSSFL Stack was created with an intention to offer an environment that stimulates open discussions/dialogue through educational/scientific articles, problem-solving discussions, and systematic documentation, the purpose that it still serves to-date. Recently, TSSFL Stack has integrated miscellaneous software and features, making it a very robust cloud application for real-time teaching/learning, research, and problem-solving.



Quickly navigate and explore these features/tools/integrations:
  1. Generative AI for Texts and Images
  2. Google Gemini
  3. ChatGPT
  4. PyScript: Python in the Browser
  5. Zoom Video Conferencing Integration.
  6. Probability and Statistics calculation and visualization tool
  7. Integration with Numbas Interactive e-Assessment Tool.
  8. TSSFL Stack, ODK Collect, and Google Drive Integration to Collect, Store, Manage, Process and Analyze Research Data.
  9. GNU Debugger for rapid software development.
  10. SageMath Cloud for computing and visualizations with code examples for Python and R, etc.
  11. SageMath computing engine with Sage and Macaulay2 examples (SageMath software is very extensive, intended to completely replace Mathematica, Maple, Matlab, and Magma software).
  12. GeoGebra software for interactive geometry, algebra, statistics, and calculus. Six GeoGebra web-based applications are integrated.
  13. Desmos Calculator for graphing functions, plotting data, evaluating equations, calculus, transformations, and for performing other tasks.
  14. A dedicated R programming compute engine.
  15. SymPy for symbolic computations. SymPy aims to to completely replace the proprietary Mathematica.
  16. Capabilities to embed any interactive PhET simulations.
  17. Embeddable Google Colaboratory notebooks for data science, AI and Machine Learning research, or for just any task that can be carried out with Python programming language.
  18. LaTeX and MathJax software systems for documents preparation, see this post, check this one.
  19. TSSFL Stack LaTeX files access to Overleaf for rapid document preparation and collaborations.
  20. Embedding interactive Plotly graphs/charts.
  21. Embedding interactive GeoGebra applets.
  22. TSSFL Stack allows embedding of Interactive Highcharts charts and editor.
  23. Embeddable editable Google spreadsheets.
  24. Embeddable editable Google Forms and Surveys.

    However, TSSFL Stack natively supports opinion polls/surveys.
  25. Embeddable Google Quizzes with instant feedback, automatic marking, and grading.
  26. Embeddable Google Slides just like power point presentations.
  27. Embeddable Google Documents (similar to Microsoft word).
  28. YouTube videos (see this example too) embedding including support for YouTube live-streaming.



    Even the playlists:

  29. TED video embedding.
  30. Support Instagram, Facebook and Twitter video/media embedding.
  31. PDF documents embedding (see here too).
  32. Supports all type of images and animations (see here too), gif, etc.
  33. Audio embedding, for example from SoundCloud:
  34. See TSSFL Stack inbuilt front-end features and capabilities.
  35. TSSFL Stack is natively integrated with a real-time chat system.

    TSSFL Stack is already integrated with Zoom. TSSFL Stack supports Google Hangouts, Google Meet, and more than 500 other media/video embedding. TSSFL Stack can, however, seamlessly be integrated with Cisco Webex and BigBlueButton (BBB) via SDK, APIs, LTI, or Containers for live virtual meetings.
General Explanations

Whether you land on the forum as a guest or as a registered member, you can carry out Python, R, Sage, Macaulay2, Octave, Maxima (and other) programming and computational tasks right away from this forum. We have, however, integrated via API the GeoGebra Software and the Desmos Calculator to help improve STEAM teaching and learning experiences.

Unquestionably, TSSFL Stack in its current state can be used more capably to engage students in teaching and learning activities from early grade to university level. The forum achieves this objective by providing anywhere, anytime distributed learning opportunities with zero requirements in installing, configuring, or upgrading the technological learning tools on the user side.

With TSSFL Stack, we can create and embed Google Colaboratory notebooks (and all kinds of Google docs). We can create and embed as many notebooks as we want, see an example here. Google Colaboratory is a great tool for data science and AI research,



or for just any task that can be carried out with Python programming language. TSSFL Stack can, however, seamlessly be integrated with Zoom and Cisco Webex via APIs. The platform is currently integrated with YouTube, and any YouTube (even Facebook, Twitter, or Instagram) live streaming can be synchronized with TSSFL Stack without any problem.

However, anyone can load LaTeX files attached to this forum posts into Overleaf with a single click, and edit, customize or start building on it to produce an intended pdf document.

You can find out more about TSSFL Stack by visiting Welcome To TSSFL Stack post and About Us page.

All these tools can be variably used on the fly to teach in a live (physical or virtual) classroom, in computing, and in learning and developing prototypes for various technological and software solutions. TSSFL Stack aims to provide anyone with an opportunity and technologically unconstrained environment to learn, carry out research and computational tasks, or educational activities with flexibility in time, location, and communication model. The platform brings together distantly located individuals while initiating and nurturing life-long collaborations in learning and problem-solving.

These technologies can greatly enhance interaction, speed, flow, and accuracy of instructional materials to increase performance and optimize teaching and learning outcomes, and impactful research that can provide answers to various developmental challenges.

Furthermore, the aforementioned technological integrations are on standby and ready to be deployed out of the box in real-time to address numerous bottlenecks that are often encountered in teaching and research:
  • Firstly, TSSFL Stack overrides the burden of software installation, configuration, maintenance, and upgrades since numerous learning and research tools are natively integrated into it.
  • Secondly, TSSFL Stack employs a flexible approach, highly unconstrained by time, location, technology, and communication model to organize information and communication technologies, and formulate an instructional design that can advance oriented, focused, active, open teaching & learning, and research processes.
  • Thirdly, these tools aid to provide meaningful interpretations of models and research data to alleviate rote learning, cramming, and reproductive learning which make many students and graduates unable to assimilate the acquired knowledge to face and solve problems in contexts different from those of instructions delivery. In addition, these tools help to enhance understanding by making abstract concepts easy, hence motivating learners to approach and solve real-life problems more confidently.
In particular, the creative convergence of TSSFL Stack digital and ICT is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies to boost economy and industrialization for sustainable development. TSSFL Stack's objective is to harness software and web-based technologies over an Internet connection to facilitate consistent and reliable high-quality teaching, learning, and research transactions at any time and anywhere.

Our hope is that TSSFL Stack will stimulate and establish an impactful take-off of technology-assisted learning and research in Tanzania, Africa, and beyond while virtually bringing together distantly located individuals, initiating and nurturing the life-long collaborations in learning, research, and problem-solving.

Recently, a number of participants during a series of virtual workshops of the Abram Gannibal Project have been using Sage and Macaulay2 computing interface embedded at TSSFL Stack to carry out various computational tasks as part of training exercises.

We like to share TSSFL Stack news with you. We love talking to colleagues, friends, and all those who support us in various ways. We value your questions, comments, problems, suggestions, or anything that may contribute to further TSSFL Stack advancements.

Thank you for being with Us,

TSSFL Stack Team
2 Image 1 Image
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Robot
Super Administrator
Senior Expert Member
Reactions: 24
Posts: 124
Joined: 7 years ago
Has thanked: 7 times
Been thanked: 7 times

#2

On August 26, 2020 at TSSFL Open Discussion Forums (TSSFL ODF), we changed the game, and here is how:

In partnership with GDB (GNU Debugger) Online -- an online compiler and debugger tool for C, C++, Python, PHP, Ruby, C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS, and other programming languages, we have integrated an Interactive IDE (Integrated Development Environment) at this forum, see here.

GDB Online is a robust and versatile IDE that enables anyone to code, compile, run, and debug codes at TSSFL ODF from anywhere in the world! The GDB interface has functionalities for creating/uploading files, beautifying codes, using keyboard shortcuts, and even for configuring the IDE to meet custom needs!

Dive into TSSFL Open Discussion Forums today and start writing codes just from your browser by using any internet-connected device.

Thank you very much for giving us an opportunity to share this information with you.

TSSFL Open Discussion Forums Team
0
User avatar
Eli
Senior Expert Member
Reactions: 183
Posts: 5334
Joined: 9 years ago
Location: Tanzania
Has thanked: 75 times
Been thanked: 88 times
Contact:

#3

It is now possible to embed interactive Highcharts charts on this forum:



Statistics and Probability

0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#4

GeoGebra, go here for various GeoGebra applications

1
1 Image
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#5

0
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#6

Python, R, Octave, and other languages programming interface, see it in action with examples here


  1. from mpl_toolkits.mplot3d import Axes3D
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4.  
  5. print("3-D Plotting")
  6. load("https://raw.githubusercontent.com/TSSFL/Dataset_Archives/40c6c386c63ad157d11ba97065d851373ee42c47/3D_demo.py")
  7.  
  8. """
  9. ========================================
  10. Create 2D bar graphs in different planes
  11. ========================================
  12.  
  13. Demonstrates making a 3D plot which has 2D bar graphs projected onto
  14. planes y=0, y=1, etc.
  15. """
  16. fig = plt.figure()
  17. ax = fig.add_subplot(111, projection='3d')
  18. for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):
  19.     xs = np.arange(20)
  20.     ys = np.random.rand(20)
  21.  
  22.     # You can provide either a single color or an array. To demonstrate this,
  23.     # the first bar of each set will be colored cyan.
  24.     cs = [c] * len(xs)
  25.     cs[0] = 'c'
  26.     ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8)
  27.  
  28. ax.set_title("3D plotting")
  29. ax.set_xlabel('X')
  30. ax.set_ylabel('Y')
  31. ax.set_zlabel('Z')
  32.  
  33. plt.show()
  34.  
  35. print("Statistical distributions")
  36. load("https://raw.githubusercontent.com/TSSFL/Demos/main/iris.py")
  37.  
  38. print("Casting 3-D into 2-D")
  39. load("https://raw.githubusercontent.com/TSSFL/Dataset_Archives/main/dativa.py")
  40. load("https://raw.githubusercontent.com/TSSFL/Dataset_Archives/e28861a0729136f7c2023e7c587cf2f78a028f7d/some_data.py")
  41.  
  42. print("Categorical data visualization")
  43. load("https://raw.githubusercontent.com/TSSFL/Dataset_Archives/aceaabd2f5decc6306a6227e35da71e8afaaf925/categorical_data2.py")
  44.  
  45. print("Barcharts")
  46. load("https://raw.githubusercontent.com/TSSFL/Dataset_Archives/40a14b8fbb0c4456d07aaa21fc9075b5786db2e6/barcharts_demo1.py")
  47.  
  48. print("Piecharts")
  49. #https://docs.google.com/spreadsheets/d/1xjLTkLxr6-3cIGVbtMRHhXAkVgF7TCdis-eLWZQm6sI/edit#gid=874892587
  50. import pandas as pd
  51. import numpy as np
  52. from matplotlib import pyplot as plt
  53. textstr = 'Created at \nwww.tssfl.com'
  54.  
  55. """
  56. sheet_id = "1xjLTkLxr6-3cIGVbtMRHhXAkVgF7TCdis-eLWZQm6sI"
  57. sheet_name = "Sheet1"
  58. url_1 = f"https://docs.google.com/spreadsheets/d/{sheet_id}/gviz/tq?tqx=out:csv&sheet={sheet_name}"
  59. """
  60. colors1 = ['tomato', 'gold', 'skyblue', '#ffcc99']
  61. #colors2 = ['orange','blue','lime','red']
  62. #colors2 = ['orange','blue','green','red'] #explsion
  63. colors2 = ['#ff6666', '#ffcc99', '#99ff99', '#66b3ff']
  64. def label_function(val):
  65.     return f'{val / 100.0 * len(df):.0f}\n{val:.2f}%'
  66.  
  67. #"Growth form", "Part used", "Ailment cured", "Citation"
  68. #df = pd.read_csv(url_1)
  69. df = pd.read_csv('https://raw.githubusercontent.com/TSSFL/Dataset_Archives/main/students_survey_data.csv')
  70. df = df.replace(r"_", " ", regex=True)
  71.  
  72. fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12, 6))
  73.  
  74. df.groupby('group_ow7qd27/Subject_for_assessment').size().plot(kind='pie', autopct=label_function, textprops={'fontsize': 14},
  75.                                   colors=colors1, ax=ax1)
  76. df.groupby('group_da25q48/What_are_your_percep_s_teaching_knowledge/Our_teacher_presents_y_and_systematically').size().plot(kind='pie', autopct=label_function, textprops={'fontsize': 14},
  77.                                  colors=colors2, ax=ax2)
  78. ax1.set_ylabel('')
  79. ax2.set_ylabel('')
  80. ax1.set_title('Subjects', size=18)
  81. ax2.set_title('Question 1 Responses', size=18)
  82. plt.tight_layout()
  83. plt.gcf().text(0.02, 0.84, textstr, fontsize=14, color='green')
  84. plt.show()


R Programming

  1. library(deSolve)
  2. # Define parameters and initial conditions
  3. a <- -8/3; b <- -10; c <- 28
  4. #Create a three-valued vector of initial conditions using c function
  5. yini <- c(X = 1, Y = 1, Z = 1)
  6. Lorenz <- function(t, y, parms){with (as.list(y), {dX <- a*X + Y*Z; dY <- b*(Y - Z); dZ <- -X*Y + c*Y - Z;
  7. list(c(dX, dY, dZ))})}
  8.  
  9. # We solve the IVP for 100 days producing the output after every 0.01 days
  10. times <- seq(from = 0, to = 100, by = 0.01)
  11. #Integrate
  12. out <- ode(y = yini, times = times, func = Lorenz, parms = NULL)
  13. # We check the output by printing out the first five lines
  14. head(out, n = 5)
  15. plot(out, lwd = 2)
  16. # Plot variables Y versus X to generate the famous butterfly
  17. plot(out[,"X"], out[,"Y"], type = "l", xlab = "X", ylab = "Y", main = "Butterfly")
  18.  
  19. #Bessel function
  20. require(graphics)
  21.  
  22. nus <- c(0:5, 10, 20)
  23.  
  24. x <- seq(0, 4, length.out = 501)
  25. plot(x, x, ylim = c(0, 6), ylab = "", type = "n",
  26.      main = "Bessel Functions  I_nu(x)")
  27. for(nu in nus) lines(x, besselI(x, nu = nu), col = nu + 2)
  28. legend(0, 6, legend = paste("nu=", nus), col = nus + 2, lwd = 1)
  29.  
  30. x <- seq(0, 40, length.out = 801); yl <- c(-.5, 1)
  31. plot(x, x, ylim = yl, ylab = "", type = "n",
  32.      main = "Bessel Functions  J_nu(x)")
  33. abline(h=0, v=0, lty=3)
  34. for(nu in nus) lines(x, besselJ(x, nu = nu), col = nu + 2)
  35. legend("topright", legend = paste("nu=", nus), col = nus + 2, lwd = 1, bty="n")
  36.  
  37. ## Negative nu's --------------------------------------------------
  38. xx <- 2:7
  39. nu <- seq(-10, 9, length.out = 2001)
  40. ## --- I() --- --- --- ---
  41. matplot(nu, t(outer(xx, nu, besselI)), type = "l", ylim = c(-50, 200),
  42.         main = expression(paste("Bessel ", I[nu](x), " for fixed ", x,
  43.                                 ",  as ", f(nu))),
  44.         xlab = expression(nu))
  45. abline(v = 0, col = "light gray", lty = 3)
  46. legend(5, 200, legend = paste("x=", xx), col=seq(xx), lty=1:5)
  47.  
  48. ## --- J() --- --- --- ---
  49. bJ <- t(outer(xx, nu, besselJ))
  50. matplot(nu, bJ, type = "l", ylim = c(-500, 200),
  51.         xlab = quote(nu), ylab = quote(J[nu](x)),
  52.         main = expression(paste("Bessel ", J[nu](x), " for fixed ", x)))
  53. abline(v = 0, col = "light gray", lty = 3)
  54. legend("topright", legend = paste("x=", xx), col=seq(xx), lty=1:5)
  55.  
  56. ## ZOOM into right part:
  57. matplot(nu[nu > -2], bJ[nu > -2,], type = "l",
  58.         xlab = quote(nu), ylab = quote(J[nu](x)),
  59.         main = expression(paste("Bessel ", J[nu](x), " for fixed ", x)))
  60. abline(h=0, v = 0, col = "gray60", lty = 3)
  61. legend("topright", legend = paste("x=", xx), col=seq(xx), lty=1:5)
  62.  
  63.  
  64. ##---------------  x --> 0  -----------------------------
  65. x0 <- 2^seq(-16, 5, length.out=256)
  66. plot(range(x0), c(1e-40, 1), log = "xy", xlab = "x", ylab = "", type = "n",
  67.      main = "Bessel Functions  J_nu(x)  near 0\n log - log  scale") ; axis(2, at=1)
  68. for(nu in sort(c(nus, nus+0.5)))
  69.     lines(x0, besselJ(x0, nu = nu), col = nu + 2, lty= 1+ (nu%%1 > 0))
  70. legend("right", legend = paste("nu=", paste(nus, nus+0.5, sep=", ")),
  71.        col = nus + 2, lwd = 1, bty="n")
  72.  
  73. x0 <- 2^seq(-10, 8, length.out=256)
  74. plot(range(x0), 10^c(-100, 80), log = "xy", xlab = "x", ylab = "", type = "n",
  75.      main = "Bessel Functions  K_nu(x)  near 0\n log - log  scale") ; axis(2, at=1)
  76. for(nu in sort(c(nus, nus+0.5)))
  77.     lines(x0, besselK(x0, nu = nu), col = nu + 2, lty= 1+ (nu%%1 > 0))
  78. legend("topright", legend = paste("nu=", paste(nus, nus + 0.5, sep = ", ")),
  79.        col = nus + 2, lwd = 1, bty="n")
  80.  
  81. x <- x[x > 0]
  82. plot(x, x, ylim = c(1e-18, 1e11), log = "y", ylab = "", type = "n",
  83.      main = "Bessel Functions  K_nu(x)"); axis(2, at=1)
  84. for(nu in nus) lines(x, besselK(x, nu = nu), col = nu + 2)
  85. legend(0, 1e-5, legend=paste("nu=", nus), col = nus + 2, lwd = 1)
  86.  
  87. yl <- c(-1.6, .6)
  88. plot(x, x, ylim = yl, ylab = "", type = "n",
  89.      main = "Bessel Functions  Y_nu(x)")
  90. for(nu in nus){
  91.     xx <- x[x > .6*nu]
  92.     lines(xx, besselY(xx, nu=nu), col = nu+2)
  93. }
  94. legend(25, -.5, legend = paste("nu=", nus), col = nus+2, lwd = 1)
  95.  
  96. ## negative nu in bessel_Y -- was bogus for a long time
  97. curve(besselY(x, -0.1), 0, 10, ylim = c(-3,1), ylab = "")
  98. for(nu in c(seq(-0.2, -2, by = -0.1)))
  99.   curve(besselY(x, nu), add = TRUE)
  100. title(expression(besselY(x, nu) * "   " *
  101.                  {nu == list(-0.1, -0.2, ..., -2)}))  
  102.      


1 Image
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#7

Sage and related languages, computing interface with examples

0
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#8

Dedicated R programming interface (About 19,000 packages installed!)

0
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#9

The GNU Debugger and Compiler



Copy and paste this template into the editor above and start learning HTML5, CSS, and JavaScript:

  1. <!DOCTYPE html>
  2. <html lang='en'>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1">
  7.     <!-- The above 3 meta tags must come first in the head; thereafter
  8.    other head content may follow -->
  9.     <title>Document</title>
  10. </head>
  11. <body>
  12. <h1>Hello World</h1>
  13. </body>
  14. </html>

0
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
User avatar
Admin
Site Admin
Senior Expert Member
Reactions: 56
Posts: 383
Joined: 10 years ago
Has thanked: 38 times
Been thanked: 32 times
Contact:

#10

Any PhET simulation can be easily integrated, see examples:

phet-interactive-simulations-by-the-uni ... ulder-6337

Click here to jump to the next page
0
TSSFL Stack is dedicated to empowering and accelerating teaching and learning, fostering scientific research, and promoting rapid software development and digital technologies
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Technologies for Teaching, Learning, Research, Problem Solving and Business”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests