First of all, please read the following link with general information provided by the MCS department.
The following FAQ will not repeat what's already mentioned in the above link. It will mainly be about the specific preference and expectations of Larry, which do NOT necessarily apply to the independent study course in general. In addition, the page below curates a few pointers to information related to student projects from different faculty members. Please also take a look.
There are generally two types of projects: implementation projects and research projects.
The majority of the project I supervise are implementation projects: it typically involves developing a piece of "useful" software. For example, I'm often interested in developing pedagogical tools that improve the teaching and learning of a computer science course. Most of time, we do it by contributing to a new or existing open-source software project. Ultimately, we would like to build a growing "repository” of high-quality open-source projects that could provide future students with more and more project opportunities.
In research projects, we typically conduct a piece of research that could potentially be published to an academic conference or journal. Promising research ideas don't just pop up regularly, so we start this type of projects on a more ad-hoc basis.
From you, or me, or both. It could be any of the following ways: (a) you propose a project you're excited about and successfully convince me to take it on as well; (b) I have a project in mind, and successfully get you excited about it and we work together to get it delivered; or (c) we both have ideas that are related, we discuss them and make the ideas converge to something we're both excited about, and we deliver it.
Yes, you're encouraged to work in groups. A group size of 2-3 usually works the best. You may also consider bringing to the team an experienced student who would serve as the mentor of the team. The mentor could also get the credit of the independent study course if they do a great job in mentoring.
Not to scare you, the expectations are quite high, both in terms of the the process and the product. You'll be expected to follow a professional software development / project management process and deliver/present a high-quality product at the end of the term.
Just to be clear, the independent study course is NOT a course for getting an "easy credit” or "easy A”. You'll have to work hard for a good grade, so THINK TWICE before you commit your time and energy to it!
The marking scheme would vary on a per-project basis. Below is an example of the list of criteria that you could be evaluated on:
First and foremost, you really need to have a high level of motivation and passion for the project — that's absolutely necessary for the project to go well throughout the term. Without the constant motivation, one will easily drop the ball on the project when they become busy with other courses' assignments and tests, and it usually leads to a substandard completion of the project (therefore lower grades). It's important to ask yourself whether you really have a sufficient level of motivation. Don't fake it — it won't work and will just waste your time (and mine as well)!
Also, you should be reasonably familiar with the technology used for the development BEFORE you start this course. The course is about delivering the product and learning the advanced skills. It's NOT about learning the technology as a beginner. So, if you're thinking something like "I don't have any web dev experience but I want to learn NodeJS in this project”, you're not ready for this course yet. Go ahead with learning it and let's talk later when you're more ready.
As required by the department, students must have a minimum CGPA of 2.5 to be admitted for an Independent Study Course.
Glad to see that you made it all the way to here without skipping any of the previous questions; if you skipped, go back and read them!
For an initial application, please email Larry with the following information:
After receiving your application, I will follow-up with your about the next steps, e.g., arrange meetings to discuss the project in further details. Don't feel bad if you don't get to open a course with me just yet: it's quite competitive since I tend to receive many applications each term and I only have very limited amount of time for supervising project courses (sometimes none at all). If you have some project that you're excited about, just do it anyways — you'll be more technically ready and have more track records to show off, which may open up doors for future opportunities. Talk to other profs, too.