FAQ – Semester of Code

What are the goals of Semester of Code?

The Semester of Code pilot will work with higher education (HE) and free and open source software (FOSS) projects to provide real-world experience for students in the software industry, while providing projects with valuable contributions.

Following the pilot, the VALS project of which the Semester of Code is part will use the knowledge gained to produce a methodology and guidelines for running similar schemes in the future.

What is the timeline?

In the new instance of the Semester of Code, the timeline is not restricted by the program itself, but will be arranged between students and mentors. The projects and placements could be developed  from now on until the end of the academic year. In any case we recommend a similar length of projects to previous instances of the Semester of Code (about 3 months of full time work) and similar to the Google Summer of Code.

What will the benefits to the FOSS project be?

The purpose of the Semester of Code is to develop students engagement with and appreciation of being a part of the free software and open source communities. In some cases this may mean that students continue to contribute to projects after the semester is over, or once they graduate.

However, even where an individual student doesn’t contribute to that particular project once their academic work is completed, by participating in SoC we are growing the number of students actively engaged with open source, and developing the next generation of talent that all FOSS projects need for the future.

What commitment is needed from FOSS project mentors?

The mentor is responsible for connecting students with the project’s community, for getting them up t speed with using the project communication channels, and following the rules and norms of the project. Mentors need to engage with students to help them submit their work to the project, for example by getting set up to use any project-specific tools, advising on architectural and code style considerations, and breaking the project work up into smaller patches where appropriate.

We expect mentors to be in regular contact with students, to acknowledge communications from students, to review student work, and to complete a brief final evaluation of the project.

It is up to mentors, students and academic supervisors to agree on specific expectations for their SoC project, such as communication times and channels. “Regularly” may be an email each morning, a weekly Skype chat, or anything else that the participants agree on; for example, if students are submitting regular patches and issues into the project’s tracker, this may obviate the need for some of the communication.

We also expect mentors to communicate with the Academic Supervisor and the SoC team about any issues that arise and to provide occasional status updates.

I’m worried that participating in Semester of Code will be wasted effort. What does the Semester of Code have in place to prevent high rate of failure from student projects?

One of the common problems in mentoring programmes is where there is a breakdown in communication between mentors and mentees; another is where students do not deliver to deadlines. Sometimes its as simple as the student not letting the mentor know about other commitments such as resits or holidays. Sometimes its a deeper problem around motivation.

In these situations, given that mentor and mentee are rarely in the same location, there is very little a mentor can do to get the project moving.

However, in Semester of Code we have two ways to keep projects on track. One is the additional relationship in SoC between the mentor and the academic supervisor, who mentors can contact if there are any problems with the project.

Academic supervisors can conduct the sort of chasing and motivating of students that mentors cannot (and usually don’t want to) undertake, usually by virtue of being able to talk face to face with students.

They also of course have the recourse of academic sanctions; unlike in GSoC there is no financial incentive to students, but there is a requirement to satisfy the academic standards for their course.

The second option we offer is the SoC team itself. As a fairly small pilot programme our team can help troubleshoot any problems and keep things moving. Between us we have a lot of experience in FOSS projects, mentoring, and academia and can help out wherever we are needed. All mentors can contact us at any time.

Do Semester of Code projects have to involve writing code?

Generally, student projects at our partner institutions involve programming, so projects with this focus will be most popular and relevant. However, projects involving other areas of software engineering are acceptable, including system design, quality evaluation, testing, documentation, translation etc.
Guidelines for submitting project ideas will be provided when the idea submission period launches.

What technologies are studied by the Semester of Code students?

The students participating in Semester of Code will be studying a range of technologies across the field of computer science.
These include: Programming languages such as Java, C++, PHP, Javascript, C#; Web technologies such as HTML and CSS; Database technologies including MySQL and Postgres; System architectures such as Service-Oriented Architectures and MVC; Mobile development for iOS and Android.
Project ideas encompassing any of these areas will be well suited to our students, but individual students may also have interest and expertise in other technologies, so don’t feel restricted by these lists when submitting ideas.


More information:

Semester of Code User Guide

VALS Flyer (Industry)

VALS Flyer