Hi,
I’ll tell it straight to the point, I am newbie, like, level 0. I know things but wrote very little. My friend developed an idea for a program (or web app, depending on how one chooses to implement the thing), for a revolutionary course in extremely quick typing.
Before selling it, obviously we need to decide on how people are supposed to interact with the course. From a developer, the cost would be 1800€ for a month and a half of work. But he would have done it through a web app, something we disapprove of a priori… and that I cannot and will not even try to learn. We would to do it ourselves, and by we I mean I, in Ada. Like I said I don’t know much. There would be no deadline. Consider it a hobby which could prove useful. But I might be completely, utterly out of my depth here, in fact I most certain am.
These are the principles:
The student will first have access to the course then a button following this “I have read correctly and understood the principles of the course, and I feel ready to move on to the practical exercise" will allow to move on to the exercises.
The exercises will be composed of one or more modules which must be carried out according to the parameters that the teacher will have assigned to the student.
How the module works:
Display of the line to reproduce and the field where it must be copied
The timer starts as soon as a character has been entered in the field
Each character is confirmed by a sound depending on whether the answer is correct or false
After the exercise, visualization of the results (according to the established fault reporting)
If the conditions are met, the student moves on to the next module, otherwise he starts again
the current one.
Transitional texts can be inserted to provide information for the rest of the sections.
The student can return to the course at any time to reread the instructions and previous modules.
When all modules have been correctly completed, the results of the exercise are displayed and a button “I have completed this course and I am ready to continue learning” will allow him to to access the next course.
Once access to the next course is requested, it will not be possible for the student to return to the different courses that he has done before.
Exercise number, if it already exists, increments the following exercises.
Course name
Course content
Selection of the help file for students viewing this course (optional)
Create a module with in order…
Number of repetitions (how many times the student must repeat this module)
Line of text to reproduce
Add a new module (which will create 6)
Change the order of modules (Go down)
Added additional module with above functions, more…
Add explanatory text (transition between two modules)
Removing the module
Change the order of modules (Move up)
A priori, any good graphical library should handle this, yes ?
Would it be ridiculous for me to learn what is necessary to get it done in a year or two, in one form or another ?
Or is it pure nonsense ?
There exists many way to achieve what you want to do.
For a desktop application, in Ada world, there is GtkAda which can be used on multiple platforms (Windows, Linux, MacOS). There is also GWindows which is dedicated to the Windows platform.
You said this is a hobby project. How much time will you be able to spend on it ?
You have to learn the language and the graphic tool (GtkAda or GWindows or…).
You can get help here, on Matrix and on news groups.
You have not mentioned how the course data are stored. A database ?
What about libagar ?
I said it’s a hobby project, but effectively I’m able to spend as much time as I like on it. The question is, is it possible to learn the language quickly enough, so that I can get going on making that course in under a year, or if the inherent difficulty is such that on ly a seasoned programmer can do it.
I want to learn the language, but I mean, In terms of complexity is it closer to a good website (that I can do) or to a effin compiler, which is out of the question ? You be the judge, that’s why I gave the specifications.
For the data, well, it matters not, as long as I (the administrator) can get it (sent by mail, manually or automatically, to me), and review it.
I said it’s a hobby project, but effectively I’m able to spend as much time as I like on it. The question is, is it possible to learn the language quickly enough, so that I can get going on making that course in under a year, or if the inherent difficulty is such that on ly a seasoned programmer can do it.
Do you already know a programming language ? Do you learn new technologies easily ? One can ask many questions like these. You’re the only one which can answer your question. Ada is not difficult to learn but there are many many features to learn.
I want to learn the language, but I mean, In terms of complexity is it closer to a good website (that I can do) or to a effin compiler, which is out of the question ? You be the judge, that’s why I gave the specifications.
You’re mixing language and application. HTML is a programming language (sort of), a web site is an application.
For the data, well, it matters not, as long as I (the administrator) can get it (sent by mail, manually or automatically, to me), and review it.
I was talking about the data associated with your application. Your application needs data, the courses content. How are these data stored on disk and retrieved by your application ?
You have two things to learn. The language and the GUI framework.
I meant that I learnt css and html quickly, to a decent level, enough to make a cool website, so I learn new technologies easily, when they’re well-designed enough.
I’ve dabbled with Ada, before so I know the structures and principles already, I just need - a lot of - experience in algorithmic and coding. I followed courses years ago but stopped because I wanted to learn math first… didn’t work out so well. But maybe I was just too autistic and perfectionist. In any case none of it (packaging and inheritance, OOP, limited types, variant records, tasks, etc) is completely terra incognita to me, except for the new Ada 2020 stuff I think.
I am not completely inept at math, obviously… I have two degrees, history and biology. So now I decided to learn on the fly, and will whip out the big theoretical books another day. No need to be dogmatic about learning when it clearly didn’t work…
There are several modules to the typing course, so they would have to be separate from the program itself, yes. Multiple types in sequence, so a stream type it will be.
So learning Ada should not be a problem. I suggest you start with Adacore learning site.
You still have to choose a GUI framework. Will your application be running under Linux, MacOS or Windows ?
I think I’ll settle for Gnoga… cross-platform, browser-based (something a bit familiar). It’s not the time to worry about it though. I’ll start with Ada 95: The Craft of Object-Oriented Programming, I remember the spreadsheet exercice, pretty thorough. I liked the French the Aix university’s courses from Daniel Feneuille were super, but the exercices don’t work anymore.