Welcome to SDC Projects Spring 2022! Everything you need for working through Software Development Club Projects is right here in this repository!
If you have not applied to be a part of the projects and are interested in doing so this semester, please apply here!
This form is due Saturday 2/12, 11:59 p.m. Forms submitted after this date may be considered if you reach out to a VP of Engineering.
- All projects will utilize GitHub - go make an account if you do not have one. Why? Because the industry revolves around Git and GitHub, and it makes collaborating with your teammates substantially easier. You will need an account for later classes anyway, and for showcasing personal projects to employers. GitHub also allows developers to host non-commercial websites for free using GitHub pages
- You can request to work with other people - there is a box for it on the google form.
Groups will be done by request, shared interest, and skill level as much as possible. Extra information on the google form helps with that process.
Project meetings are every other Sunday at 2 p.m. unless we say otherwise. They will generally have two parts, the first part being the VPs of Engineering giving a briefing on how far along the project should be, and/or information that is relevant at the time. Information such as an example of how we would break a project into components to be done, or how to develop interfaces and plan out a project etc. The second part, is meeting with your group and having a bit of work time - this also serves as a great time to ask any questions you have or to bounce ideas off other groups.
Project Meetings (checked) are every other non-break week starting 2/13 besides the presentation day
| Date | Meeting | Benchmark | Details |
|---|---|---|---|
| 2/13 | Sign up for projects before today! | ||
| 2/20 | X | First Meeting, Project Ideas & Components | Communication mode setup and some ideas formulated |
| 2/27 | X | 20% done | Choose project, components / interfaces decided |
| 3/6 | 40% done | Implementing interfaces | |
| 3/13 | Break | ||
| 3/20 | Break | ||
| 3/27 | X | Check on Progress (60%) | Most of interface fleshed out |
| 4/3 | 80% done | Interface done | |
| 4/10 | X | Check on Progress (100%) | Should be done with core features. Highly recommend unit testing |
| 4/17 | Integration | Integrate all project components | |
| 4/24 | X | Buffer | |
| 5/4 | X | Presentation!* | (was |
* Informal presentation where you share what you did, how you did, and what you learned with the group. Completed projects will be written about and linked to our website as long as the group agrees to it, and there may be other fun stuff.
There are 9 weeks from start to the informal presentation. This has been split this into 2 weeks of planning, four weeks of development, an integration week, and two buffer weeks to be used as you wish. One of the buffer weeks is 4/24 - 5/1, since there are no expectations for the presentation.
This timeline is only a guideline. It also accounts for no work getting done over Spring Break.
| Hrs/wk on project | Total dev1 hrs. + buffer | Team of 4 dev hrs. |
|---|---|---|
| 2 | 14 (18) | 56 (72) |
| 3 | 21 (27) | 84 (108) |
| 4 | 28 (36) | 112 (144) |
| 5 | 35 (45) | 140 (180) |
| 6 | 42 (54) | 168 (216) |
- Dev time is all time past the planning phase i.e. time spent actually creating the project. (Hours including break)
Check out the Project Template for general guidelines on the difficulty of a project you should take on. At the bottom of the Project Template are also ideas and examples of how to breakdown the project into components. The Project Template can be found in this repository. If you have an idea, but don't know how to break it up for your group, feel free to email a VP of Engineering to discuss or to schedule a chat. Alternatively go to the project meetings and ask one of the VP of Engineering there.
- It is strongly recommend that you meet with your group weekly - find a time everyone can talk. This weekly meeting can include our in-person project meetings. This is most important in the beginning of the semester when a lot of design decisions are being made.
- Lean towards overestimating how much time a component will need - finishing early means you can work on additional bonus components without worrying about time.
- Make a schedule and stick to it as best as you can - it makes balancing class work, entertainment, and extracurricular activities a much better time.
- Put in consistent work rather than putting it off and not getting to it.
- Communicate! We are here to help you guys in any capacity we can.
Projects are going to be similar to last year but we hope to address some challenges that occurred. These are primarily:
- There was a lot of confusion with the random assignment of project leads as there were not enough applicants for the number of those interested in participating in projects
- Project levels were vague, and so were deadlines about the project, leaving many groups in the dark about when they should be done with what.
- There was no recognition for the work done on projects
- Many dropped out of their project, leaving their group members in the cold for a few reasons:
- Some could not keep up with school work, project was not a priority
- Some were frustrated with the project and lack of organization
- Some simply showed up to the first meeting, applied to take part in a project, then realized they overcommited.
We have attempted to address all of these issues (and of course if there were other issues, please let us know in the project form).
- We now have a more concrete definition of programming levels with approximate class breakdown (see form)
- We are decreasing the randomness of leads by asking for those who are willing to take on the role
- There is an end of semester project celebration / informal no pressure presentation to show off what you did
- This page is made available after our first meeting through the discord
- We have a project template with some ideas on what a project of appropriate difficulty will look like, and some example projects that you could complete if you don't have any ideas.
Projects are a chance to engage with your peers, learn how to work in a team, experience taking on responsibility and leadership, and work on your development skills. This makes these projects a fantastic opportunity for growth; however, they only provide as much as we put into them. In addition to that, they are extracurricular in nature, and everyone understands that classes can become overwhelming and take priority. If it is the case that you no longer wish to work on a project, please communicate with your point of contact that is the case.