Education & Research (Universities collaboration)

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Education & Research (Universities collaboration)

Post by fireball »

I'm starting this topic to try to gather and discuss information about all existing education and research involving ReactOS, what universities are involved, what students, and to pitch a bit about a new upcoming collaboration.

As of now, searching our forums, I found these threads:
Partnership with German universities?
Which universities produces qualified OS devs?
Aleksey Bragin,
ReactOS Project Lead
livestrong2109
Posts: 133
Joined: Sun Aug 30, 2009 4:42 pm

Re: Education & Research (Universities collaboration)

Post by livestrong2109 »

Aleksey, honestly most efforts so far have been lead by you and a few other individuals. We really should get ROS up and running on some netbooks and get them out there to schools that are willing to host us. We should do a tour to mimic the efforts the RasPi team did in the states last year. As I understand it was very successful, and spawned tons of media coverage.
Wesley Howard
ROS Contributor - Web Developer
cruonit
Posts: 251
Joined: Mon Jun 29, 2009 12:57 am

Re: Education & Research (Universities collaboration)

Post by cruonit »

I think reactos could try to contact university professors (system programming, operating systems, ...) and ask them for collaboration(has been done already but not systematically) and give them few interesting topics for bachelor thesis or seminars(open a topic for brain storming - ideas).
The problem is operating systems/system programming is mostly on the first cycle of study (bachelor) and most of the students are still inexperienced(C/C++ fundamentals) but still there are students that have previouse knowledge.
The tasks should not be hard, the main goal should be to do some marketing through the professor and if the students do a simple task maybe they will try something more complex.

Also there are research possibilities for master/phd but the problem is they can be done on linux too and it's easier to measure results as most reasearch papers use it as reference.

one contact:
Samir Ribic, PhD sribic at etf.unsa.ba (operating systems, system progamming, compiler construction)

one of his slides(windows intro/outline - dos/windows clones):
[ external image ]

with reactos picture :)
BlackRabbit
Posts: 128
Joined: Sat Dec 22, 2012 7:36 am

Re: Education & Research (Universities collaboration)

Post by BlackRabbit »

The problem is operating systems/system programming is mostly on the first cycle of study (bachelor) and most of the students are still inexperienced(C/C++ fundamentals) but still there are students that have previous[sic] knowledge.
Agreed.

Also, there are many who are no longer in university, but face the same issue: They have limited ability to contribute, but would still like to contribute. Therefore, the "carrots on which they nibble" must be well-prepared. Before they are exposed to the ReactOs project, each an every conceivable obstacle to contribution must have been abated to its very minimum.

This is the role of the ReactOS leaders, IMHO: to be fastidiously-paranoid about the assimilation process [which is very good in most areas btw], and crafty in the quantization and allocation of work to their human resources.

One idea is to use Jira as a "carrot box" and to categorize the level of difficulty of each "carrot" on a scale of 1-5, with:
  • 1 = Check for spelling errors in a particular language, etc.
  • 2 = Get an already-existing application to compile, link, and execute cleanly without exception.
  • 3 = Get ReactOS to compile for ARM.
  • 4 = Implement the Win32 Debugger API.
  • 5 = Fix the MMU.
The leaders would parcel out work as carrots having difficulty, 1-5, and let developers nibble on carrots that are appropriate to their skill-level. It will not matter if it takes a novice a month to finish his/her carrot, because the work would be done in parallel, and scale up.
fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: Education & Research (Universities collaboration)

Post by fireball »

Allright, you're going in a very good direction, and I did not even say anything yet ;)

So, that's absolutely true. The first step, which would be very useful pretty soon, is making up a set of rather simple "workshops".
Like Texas Instrument provides for their Stellaris Launchpad, but much better.
These should be tasks students perform themselves, and get experience from it. Of course, it's very convinient to use ReactOS to become familiar with OS kernel development, debugging, etc.

I will think about this, but any advise is warmly welcome.
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Education & Research (Universities collaboration)

Post by vicmarcal »

Here in Spain at least there are 2 big universities specialized in Open Source. Those are: University of Sevilla and University of Granada. Also the University of Malaga is really really good. Those three are OpenSource lovers and I am sure they will be really really interested in contributing to a project as this one.
In Spain, at the end of the Career, the students are asked to create a Final Project. Teachers usually are the ones who gives them several options to choose one. If we work in that direction, it could be really easy to push ReactOS development through small projects that could be given to these last year students. Also we can create workshops or courses and also subjects or intensive courses. If we begin to contact them now we could push these ideas to begin the next course.
cruonit
Posts: 251
Joined: Mon Jun 29, 2009 12:57 am

Re: Education & Research (Universities collaboration)

Post by cruonit »

vicmarcal wrote:Here in Spain at least there are 2 big universities specialized in Open Source. Those are: University of Sevilla and University of Granada. Also the University of Malaga is really really good. Those three are OpenSource lovers and I am sure they will be really really interested in contributing to a project as this one.
In Spain, at the end of the Career, the students are asked to create a Final Project. Teachers usually are the ones who gives them several options to choose one. If we work in that direction, it could be really easy to push ReactOS development through small projects that could be given to these last year students. Also we can create workshops or courses and also subjects or intensive courses. If we begin to contact them now we could push these ideas to begin the next course.
have you heard about coursera.org/ udacity.org ? also XDA-Developers is now making an XDA develoeprs university where they teach their community how to contribute to the project

http://www.xda-developers.com/android/p ... niversity/

reactos university could be a set of courses in different things i think it should not be hard to a make few video tutorials in c/c++ and windows api and maybe some advanced courses for expirienced programmers. There are many web/coumputer science courses(free) online but no system programming so it could be very interesting for many developers and good PR, maybe to try to do such a course with haiku and wine together.

I already have some expirience in teaching C/C++ but there are also many videos that could be used for this. Also unit testing and bug finding/fixing (debugging) courses/videos are welcome
PurpleGurl
Posts: 1790
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Education & Research (Universities collaboration)

Post by PurpleGurl »

A brainstorm. Suppose we have a public site or page with all of the missing and broken stuff listed on it. Then we would contact the computer science departments of as many universities as possible. They could agree to let students work on specific issues, and those who have pledged to help work on it could be listed. That way, any colleges wanting to help work on specific sections would know what can be done and in a way as to not step on each other. Some duplication of effort could be allowed in case of failure, bugs, lack of good faith, or whatever. Anyway, the purpose of the page or site and its maintainer would be to coordinate such effort. Like I said in the past, they could contribute work instead of doing "make work" assignments.
BlackRabbit
Posts: 128
Joined: Sat Dec 22, 2012 7:36 am

Re: Education & Research (Universities collaboration)

Post by BlackRabbit »

Suppose we have a public site or page with all of the missing and broken stuff listed on it.
This is similar to the suggestion that I had:
One idea is to use Jira as a "carrot box" and to categorize the level of difficulty of each "carrot" on a scale of 1-5, with:

1 = Check for spelling errors in a particular language, etc.
2 = Get an already-existing application to compile, link, and execute cleanly without exception.
3 = Get ReactOS to compile for ARM.
4 = Implement the Win32 Debugger API.
5 = Fix the MMU.

The leaders would parcel out work as carrots having difficulty, 1-5, and let developers nibble on carrots that are appropriate to their skill-level. It will not matter if it takes a novice a month to finish his/her carrot, because the work would be done in parallel, and scale up.
It is critical that the partitioning of work be "mechanized", meaning that, the current method of contribution, where the idea is to "just get a shovel and start digging", will likely result in there being many people who are interested in helping, but not many actually helping. There will be an efficiency problem for those who do remain engaged.

On a related matter, this is why I had been nit-picking at the build-process. At the end of the day, the only thing that matters is whether a potential contributor has remained engaged, or disengaged. If they engage, and remained engaged, that is good for us. If they engage, and subsequently disengage, due to do a perceived defect in the contribution process (from their point of view) it will not matter whether the perceived defect is real or not. The only thing that will matter is whether they remained engaged or not. I must emphasize the expression: from their point of view, since such perception is inherently subjective.

So we should be bending-over-backwards to make sure that potential contributors do not perceive any defect in the contribution process that would cause them to disengage.

You can almost taste the surprise/enthusiam in this post written by wildschwein for having a one-click build:
do i understand things right ?

Now, a dev can compile ROS completly in the Visual Studio IDE. Before he had to use some "tools" to do some extra custumizing work.

But now, you press the "compile button" and after a few seconds, a full compiled ROS is created in the output-folder, ready to be runned in VMARE.
wildschwein is hardly alone in his giddiness for the singular-operation: press the "compile button". :)

Once these two things are solved: the build-process and the work-partitioning process, there will be a lot more contributors who remain engaged after their initial exposure to ReactOS.

The first problem, the build-process, looks like it is well on its way to being solved.
fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: Education & Research (Universities collaboration)

Post by fireball »

OK, really interesting suggestions, and I'm glad that the discussion is evolving.

As for courses, there is little point in teaching something general, like C/C++, or WinAPI. There are thousands of tutorials about this elsewhere. What's more unique is actual operating system internals, and stuff specific to ReactOS.

And, also good news:
I was contacted by my technical university (http://translate.google.ru/translate?sl ... mstu.ru%2F ) a month ago, about developing and giving an "operating systems" lecture course + lab work. I started gathering information about existing OS courses, and found out that nearly all universities teach OS using either Linux or other systems like MINIX or even Pintos. Which have nothing in common with what's used by most of the developers, for example (iirc, according to stats, 80% devs work on Win32 platform, however now this figure dropped due to Android and iOS breakthrough).
After lots of thinking, I decided that it's a nice thing to try, even though it would take a bit of time, it's still worth it even if just one student would do something useful for ReactOS as a result.
The lecture course will be given by me in Russian, however if it all works good, I may do an English-based version.

So, now we can think into this direction too. Any advise would be welcome.
Aleksey Bragin,
ReactOS Project Lead
User avatar
jonaspm
Posts: 585
Joined: Mon Nov 21, 2011 1:10 am
Location: Mexico
Contact:

Re: Education & Research (Universities collaboration)

Post by jonaspm »

nice to hear that Aleksey!
zehnvor
Posts: 245
Joined: Wed Oct 27, 2010 3:20 pm

Re: Education & Research (Universities collaboration)

Post by zehnvor »

and what about this? News #69 ISIMA Partnership
fred02
Posts: 551
Joined: Thu Nov 22, 2007 5:54 pm

Re: Education & Research (Universities collaboration)

Post by fred02 »

fireball wrote:And, also good news:
I was contacted by my technical university (http://translate.google.ru/translate?sl ... mstu.ru%2F ) a month ago, about developing and giving an "operating systems" lecture course + lab work.
After lots of thinking, I decided that it's a nice thing to try, even though it would take a bit of time, it's still worth it even if just one student would do something useful for ReactOS as a result.
The lecture course will be given by me in Russian, however if it all works good, I may do an English-based version.

So, now we can think into this direction too. Any advise would be welcome.
That's an awesome news! Will it be one lecture or several? Can you arrange a video/audio recording of your lecture? This could be a good asset for future ROS PR. Even if it is in Russian, subtitles can be added, and may be later you can even record your own "voice over". :)
cruonit
Posts: 251
Joined: Mon Jun 29, 2009 12:57 am

Re: Education & Research (Universities collaboration)

Post by cruonit »

congratulations !

On which year is the course? , we learned OS from Tannenbaum - minix. But still the education is in foreground not the technology so it cen be expected that the students work on the memory manager, file cache CC, IFS drivers and algoritmic/structure things (but mostly for master students but this also depends on the university)
fireball
Developer
Posts: 358
Joined: Tue Nov 30, 2004 10:40 pm
Location: Moscow, Russia
Contact:

Re: Education & Research (Universities collaboration)

Post by fireball »

fred02 wrote:That's an awesome news! Will it be one lecture or several? Can you arrange a video/audio recording of your lecture? This could be a good asset for future ROS PR. Even if it is in Russian, subtitles can be added, and may be later you can even record your own "voice over". :)
Thanks ;)
It's going to be a complete course, 1 lecture + 1 lab workshop per week, 4 academic hours of time, one semester length (roughly 17 weeks). These are second year students, who already had one and a half year of significant math theory and C.Sc. (including low-level programming too).
Aleksey Bragin,
ReactOS Project Lead
Post Reply

Who is online

Users browsing this forum: No registered users and 71 guests