MaisonLogicielLibre / Website

Site of MLL
GNU General Public License v3.0
3 stars 9 forks source link

Capstone projects might need guidelines to help project proposers understand what's important #654

Closed fuhrmanator closed 8 years ago

fuhrmanator commented 8 years ago

At ETS, capstone projects are 3 credits and roughly 135 hours of work done in 15 weeks. The work includes preparing the final report (which counts for more than 50% of the grade) and presentation. A capstone project at ETS is supposed to have a strong design aspect, taking into account themes of sustainability and ideally be multidisciplinary (team projects from different engineering programs, e.g. electrical and software engineering).

At each institution (McGill, Concordia, etc.), it's probably similar, but likely the details are different (number of hours especially).

If a user proposes a capstone project on ML2, it would be good if there was an overall set of guidelines that improve the chances of that project being acceptable in the context of a capstone project.

One of the biggest risks (I see as a professor having tried open source projects in capstone before) is with respect to respecting the engineering practices we expect from our students. Many open source projects don't document requirements, design or even do a comparison with existing products to decide which features to develop. The development can be very free and spontaneous, which is great for open source. There are a lot of advantages to that.

As a professor, I expect a capstone project to be engineering. A big part of the grade depends on how well it respects the engineering disciplines taught in the program, which may seem like a conflict of culture in traditional open source.

I don't want to argue whether open source is engineering or not. I'm convinced there is some overlap where capstone projects can work in ML2.

Perhaps the best way is to look at what Open Source projects have been done in the past as capstone projects and figure out what characteristics were responsible for the success.

fxleblanc commented 8 years ago

@fuhrmanator, I agree with the fact that we need to have best practices in capstone projects and in open source projects. However, I don't think forcing certain guidelines in the platform would be beneficial in the sense that not everyone has the same level of standards as others. What we could do is outline best practices in the wiki and link these articles in the website. For instance, if I create a PFE or even an Intership type mission, there would be a link to the wiki explaining exactly what to do in order to be standard or at least use the best practices.

If you agree with this approach, I'll make the necessary issues for future implementation. Also, as a first step, you could make issues in the wiki outlining the best practices you are talking about concerning the capstone projects.

In the end, I absolutely agree with you and I think the wiki will greatly gain from this information.

luctrudeau commented 8 years ago

We could add this information to the wiki and add a link in the mission submission form.

fuhrmanator commented 8 years ago

I looked at several supposed capstones that were added in the early iterations of ML2 by various stakeholders. Except for the ones proposed by Google, none of them met the criteria I use for capstones. I think if you want to get professors on board with ML2 in capstones, the subjects have to be "capstone ready." You can try the wiki approach and see if it's any better. You could also try to find out from professors what it is that is necessary to get them involved.

In software engineering we call that "requirements analysis" (analyse des besoins). A user story that is developed for a professor seeking capstone projects would be a great way to manage that in an Agile fashion.

fxleblanc commented 8 years ago

I agree with @luctrudeau, the informative approach the safest in the sense that professors are not forced in a certain way of doing things. I even think that it will ease them in the process of being more standard since it's going to be progressive. What I mean by that is that in the future, once we have all the information setup in the wiki, we could start forcing some of the standard informations in the platform.

One other reason I want to go with this approach is that the platform is stil in it's early days and the focus is much more on core features than on specific rules.

In the end, we need to start focusing on the issues you are talking about but as informative pages. I would like to have a discussion about the specifics with you. In the meantime, issues on the wiki would be a great start since I could have information before our meeting.

fuhrmanator commented 8 years ago

It's the person who proposes a project type of PFE or Master's (who doesn't really know what that means) that needs guidance.

A simpler solution could just be that missions are proposed, but only a Professor (who is the domain expert) can classify them as Capstone or Masters. If a student from university X proposes a mission, then only a professor from university X can classify it as Capstone or Masters. On the other hand, if a professor from university X proposes a mission, she has the right to classify it immediately as capstone/masters. This is a simple rule and leaves the details to the domain experts.

fxleblanc commented 8 years ago

@fuhrmanator, good idea. Here's the proposition:

When these missions are posted, teachers from universities can then decide that this mission is worthy of being a Capstone project, thus transforming the mission into a Capstone. However, the problem is that we need to confirm the identity of those teachers since normal users can switch on and off their status as Professor. Do you know how this would be possible?

fuhrmanator commented 8 years ago

That is probably a business process that involves human verification and assigning roles to users by admins. Most professors have a web page, as well as an email address with their full name at a university (the email I use on github is not the same as my university email which is christopher.fuhrman@etsmtl.ca).

When a (supposed) professor creates an account, she has to specify her university home page and university email (for validation)? An ML2 admin will validate this info and give the role/permission of Professor to the user account.

fxleblanc commented 8 years ago

@fuhrmanator, I agree with your proposition. Let's structure this into a different issue. Let me know if the overview in #818 corresponds to your design, at least from a high level design percepective. I simply outlined the changes, not the actual documentation. I am going to do this in a pull request like I did with #791.