FAQ
Find answers to your questions below. If you still have questions, please login and add a comment.
General
- What is the difference between a student project, a project, a Greater (or Larger) project and a community in terms of this site and FAQ?
- What are the profiles and responsibilities of people holding the various roles of Student, Faculty Adviser and Mentor (Project Engineer) involved in Student Projects?
- How is the relationship between the Student, Faculty Adviser and Mentor established?|#3a
- What is the role of a Community Adviser?
Students
- Why would I want to work on an open source project?
- Can I work on the project outside of school and/or just for fun?
- How do I get course credit for working on a project?
- What computer(s) and/or software can I use to work on a project?
- How long is the commitment?
- How can I learn the tools (e.g. scripting, developer tools, code repositories, etc.) used for the project I'm going to work on?
- Where can I blog about this project?
- I want to learn more about programming so I can eventually join a project. Where can I go to do this?
- Am I required to submit regular reports of the work I've completed to my project lead, java.net, or my teacher(s)?
- Can I start my own project on java.net?
- Can I join multiple projects for credit and/or fun?
Faculty
- How do I know how much a student has contributed to a project? How can I assess the student's work?
- Where can I get a list of applicable projects (or projects by subject) to show my students?
- How can I assess a project's difficulty level so that I can find an appropriate match for my students' level of experience?
- Can I contribute to project(s) in any way?
- Can I setup a home page on java.net for my students to collaborate on or for details/requirements
- What's in it for me or my university?
Project Engineers
- How do I build a Project Ideas page?
- What types of Projects can be proposed?
- How long is the commitment?
- Do I get to interview the student before accepting the student onboard?
- How can I pull a project list into the Ning network?
- After we agree to work together, what is the next step?
- How much can or can't a student work on my project?
- Can a student propose new ideas or changes to my project?
- Is there a minimum or maximum number of students I can have contributing to my project?
- Is there a time limit to the amount of student time spent on a project?
Answers - General
Q: What is the difference between a student project, a project, a Greater (or Larger) project and a community in terms of this site and FAQ?
A: For purposes of this site and FAQ the terms project and student project have identical meanings. It refers to the set of work defined in milestones and deadlines that the student must satisfactorily complete. The greater or larger project refers to the project to which this student is contributing. That could, for instance, be GlassFish Core, or OpenSolaris device drivers. Community may or may not be synonymous with the greater project. For instance Mobile and Embedded Java, OpenSolaris and GlassFish are all communities.
Q: What are the profiles and responsibilities of people holding the various roles of Student, Faculty Adviser and Mentor (Project Engineer) involved in Student Projects?
A: Student: A student is characterized by someone who is new to Software Engineering, or at least to the collaborative process of developing Open Source software and is typically a student enrolled in a college or university. He/she will most often be studying one of the disciplines related to Computer Science (Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, Math, etc.). The student will usually work with a Faculty Adviser from their school and always with a project Mentor or project engineer to scope the project the student is responsible for, define milestones and deadlines for deliverables and to determine the level of academic credit the project is worth.
Faculty Adviser: The Faculty Adviser is a recommended member of the Student's advisory team. The faculty adviser acts as a liason between the academic institution and the greater project or community in which the student is participating. The faculty adviser is responsible, with input from the mentor, for helping to outline milestones and deadlines for deliverables as well as setting the academic credit for the student's work and providing a grade at the end of the agreed to term.
Mentor or Project Engineer: Mentors are the real heroes in this relationship. It is their privilege and responsibility to shepherd a new generation of software developers into a world wide market collaboratively developing software within the open source paradigm. If that sounds like a mouthful, it is. :-) Mentors need to work with students and faculty advisers to scope and set deliverable schedules through milestones and deadlines. The need to work with the faculty adviser to determine course credit appropriate for the project as well as grades for the students based upon milestones and deadlines. Finally the mentor must work with the student and the greater development team to help the student fit into and become a productive member of the development
Q: How is the relationship between the Student, Faculty Adviser and Mentor established?
A: This is a really good question, and there is no definitive answer to it. Each Student Project is set up as a unique entity and that relationship must be forged between the individuals involved based upon their interest, commitment and resources available to commit to the project.
Q: What is the role of a Community Adviser?
A: A Community Adviser is someone who has the technical knowledge in a certain community or communities and also has a working relationship with a school or an university. He or She will coordinate projects and programs that are mutually beneficial to Sun Microsystems as well as the university. Having a good background in the community that a Community Adviser is representing is important. He or she should also have the ability to make or get approval to make decisions on behalf of Sun.
Answers - Students
Q: Why would I want to work on an open source project?
A: There are many traditional reasons for working on open source projects: Fame and Glory, personal interest, belief in the philosophy of open source software, etc. As a student there are many advantages beyond these for you. These include:
- An opportunity to participate in a number of entry level roles in a major, corporate sponsored software development team
- An opportunity to develop your software development skills in a professional setting with professional requirements
- Develop a portfolio of work that you have done or participated in that you can show to potential employers
- Network with world class software professionals from Sun and possibly other corporate sponsors
- Fame and Glory
Q: Can I work on the project outside of school and/or just for fun?'
A: Yes, depending upon the project., but the projects listed in this wiki and guide are specifically designed to be a part of a students education and should provide useful credit their graduation. A good rule of thumb is to discuss your plans with the project mentor and work the details out there.
Q: How do I get course credit for working on a project?
A: Most colleges and universities have a course number reserved for "Special Projects" that are outlined and planned by the student and a faculty member. Usually these Special Project courses have a variable credit weight attached to them dependent upon the difficulty and time commitment required to complete the project. These are all details that need to be worked out between the student, a faculty adviser at the college or university and the project mentor.
Q: What computer(s) and/or software can I use to work on a project?
A: This depends upon the particular project. Various tools and platforms are more appropriate for a given project. Discuss this with the project mentor and a faculty adviser educational credit is involved
Q: How long is the commitment? (students)
A: This depends upon the project. Most projects are scoped to require 1-2 semesters of work and are some are intended to be worthy of culminating experience for a CS Masters degree or beyond.
Q: How can I learn the tools (e.g. scripting, developer tools, code repositories, etc.) used for the project I'm going to work on?
A: Work with your mentor and faculty adviser to determine exactly the tool set you will need. Download and install them on your development computer. Most, if not all, will be free downloads. Many tools you will already be familiar with, others will be new. Most development tools will have tutorials or "How To" guides that introduce new users to the product. Scour the web site for the tools to find this information. Finally, discuss specific information, usage or questions with your faculty adviser and mentor.
Q: Where can I blog about this project?
A: Many blog forums are available from social networking sites such as MySpace or FaceBook to content specific sites such as java.net. Additionally, check you college or university web site. Infrastructure for blogs may well be available there.
Q: I want to learn more about programming so I can eventually join a project. Where can I go to do this?
A: Any number of instructional or self help sites are available on the internet. Begin by selecting a project you are interested in working on. Contact the project mentor and discuss the appropriate programming platform and tool set with him/her. If you're not familiar with the language or the tools, choose a simple, hobby type project to begin with. Sun offers a wide range of instructional material at their training site http://www.sun.com/training/
Q: Am I required to submit regular reports of the work I've completed to my project lead, java.net, or my teacher(s)?
A: Most likely. These are details that need to be worked out and agreed to in advance between the student, the faculty adviser and the mentor.
Q: Can I start my own project on java.net?
A: Absolutely!
Register: https://www.dev.java.net/servlets/Join login: https://www.dev.java.net/servlets/Login?cookieCheck=on and request a project: http://www.java.net/request_project.csp
Java.net is a great hosting site where you can use the professional tools available to do collaborative development and at the same time rub elbows with professional developers from Sun and other organizations.
Q: Can I join multiple projects for credit and/or fun?
A: Yes, but be careful to not over extend. It is usually best to complete one project, or get it to a maintenance level before beginning another.
Answers - Faculty
Q: How do I know how much a student has contributed to a project? How can I assess the student's work?
A: Work with the student(s) and mentor to develop a set of milestones that encompass the work of the project. The 5 basic milestones in the Software Engineering process are: 1) high level specifications 2) detailed specifications 3) prototype 4) beta release and usability testing (where applicable) 5) final release and demonstration
For more information see the University Software Engineering project on java.net:
Q: Where can I get a list of applicable projects (or projects by subject) to show my students, or to have my students choose from?
A: This is a good question. A partial list of potential projects within Sun sponsored open source projects/communities can be found at: ProjectList
For other ideas contact the owners of the project(s) community(s) you are interested in directly.
Q: How can I assess a project's difficulty level so that I can find an appropriate match for my students' level of experience?
A: Work with the project mentor. He/she will have an understanding of the scope of the project and will be able to help define and review milestones.
Q: Can I contribute to project(s) in any way?
A: Certainly! Contact the owner(s) of the project you are interested in directly. Explain to them your situation and how you would like to contribute and develop a plan with them. You could contribute individually or you could get an entire class involved in an open source project.
Q: Can I setup a homepage on java.net for my students to collaborate on or for details/requirements?
A: Yes, in fact it is the recommended procedure.
See the Distributed Collaboration project: https://distributedcollaboration.dev.java.net/ and the University Software Engineering project: https://use.dev.java.net/ for examples.
See the jnInstructor project: https://jninstructor.dev.java.net/ and jnStudent project for instruction and details: https://jnstudent.dev.java.net/
Q: What's in it for me or my university?
A: Fame, glory, recognition? A closer relationship with Sun and other industrial partners? Financial remunerations? These are all possiblities. Discuss them with the project owner and the project mentor.
Answers - Project Engineers
Q: How do I build a Project Ideas page?
A: Start here, or start on a wiki site that might be more appropriate your project/community. Follow the example set forth by the GlassFish Community:
http://wiki.glassfish.java.net/Wiki.jsp?page=ProjectIdeas
and include vital information such as identifying a mentor and estimating the effort involved with each student project. Be sure to include a variety of projects with effort spanning 1-2 weeks up to 2 semesters.
Q: What types of Projects can be proposed?
A: Ideally a wide variety of projects will be offered. They should range in scope to 1-2 semesters of work for 1 or more students. They should also cover a wide variety of skill sets. There should be projects available for junior or senior level college or university students through masters level students or beyond. Reasonable projects can range from documentation, through testing and bug fixing up to and including work on full product features.
Q How long is the commitment?
A: Completely dependent upon the project itself. Mentorship of a project such as this is an important step. You will potentially be working with an individual as he/she transitions from student to working professional. This means that as a mentor you will have a unique opportunity to help guide that student into a productive working life.
Q: Do I get to interview the student before accepting the student onboard? Can anyone join my project without permission?
A: Membership in projects is by request only and follows strict meritocracy rules. It is very important to speak with the student before work begins on the project. This is the first step and it is in this phase that the project is scoped. The student needs to get all the information required to start working, including things like mailing lists that should be joined, tools required, coding standards as well as an overview of the larger project and how the work he/she will do will fit into that bigger picture. This is also the time to discuss the scope of the project with the student and the faculty adviser. This discussion should include the amount of credit the project is worth, milestones and deadlines, etc. Finally this is the opportunity for the mentor to assess the student to determine if he/she will fit into the project, and has the skills and ability to complete the chosen project.
Q: How can I pull a project list into the Ning network?
A:
Q: After we agree to work together, what is the next step?
A: Make sure that milestones and deadlines are worked out and well understood by everyone. Now is the time for the student to research the larger project as well as the tasks he/she has taken on. As a project engineer and mentor you should be available to answer questions that arise and provide feedback on the work being produced. Introduce the student to other members of your team so they feel comfortable and fit in.
Q: How much can or can't a student work on my project?
A: This is dependent upon the scope and the difficulty of the project. Remember that the amount of time the student works on a project should be commensurate with the college or university credit being awarded for the project. A typical rule of thumb is that every credit hour per week that a class carries for class meeting time and formal lecture requires 2 more hours per week in study and work outside the classroom.
Q: Can a student propose new ideas or changes to my project?
A: You should treat the student members of your team just as you would any other junior member of your team. Give them a variety of tasks ranging from easy to difficult, give them an opportunity to stretch their boundaries, and treat them with dignity and respect. This extends to including them in some of the planning of your larger project and giving them an opportunity to see where the project is headed and an opportunity to comment and make suggestions.
Q: Is there a minimum or maximum number of students I can have contributing to my project?
A: No, this is limited by the number of students who want to be involved in the project and the number of projects and time that mentors from your project have available for working with them.
Q: Is there a time limit to the amount of student time spent on a project?
A: No, with some caveats. If the student is enthusiastic and productive let them go as long as their activity on this project does not jeopardize other elements of their academic career. Keep in mind the amount of credit they are getting for helping you with your project and don't make demands that drastically exceed that expected amount of work. On the other hand, keep the milestones and deadlines in mind and do not let productive work slip.





