🏗️ Project Overview¶
Projects provide hands-on experience with software development in team environments. You’ll apply course concepts to build real-world applications while practicing collaboration, project management, and professional development workflows.
📋 Project Timeline¶
Table 1:Project Schedule
Project | Duration | Team Size | Points | Key Focus Areas |
---|---|---|---|---|
Project 1: Team Portfolio Website | 3 weeks | 3-4 students | 200 | Git collaboration, UI design, basic web dev |
Project 2: Software Engineering Tool | 4 weeks | 3-4 students | 300 | Architecture, testing, documentation |
Final Project: Complete Software Solution | 6 weeks | 3-4 students | 500 | Full SDLC, all course concepts integrated |
Project Objectives¶
🤝 Collaboration Skills
- Git workflows and branching strategies
- Code reviews and pair programming
- Team communication and coordination
- Conflict resolution and consensus building
🔧 Technical Skills
- Software architecture design
- Testing strategy implementation
- CI/CD pipeline setup
- Documentation and deployment
Project Management
- Agile/Scrum methodology
- Sprint planning and execution
- Progress tracking and reporting
- Risk management and mitigation
💼 Professional Practices
- Requirements gathering and analysis
- User-centered design approach
- Quality assurance processes
- Professional presentation skills
🛠️ Technology Stack¶
Projects will utilize modern development tools and technologies:
Core Technologies¶
- Frontend: HTML5, CSS3, JavaScript, React/Vue.js
- Backend: Python (Flask/Django) or Node.js
- Database: SQLite, PostgreSQL, or MongoDB
- Version Control: Git with GitHub
Development Tools¶
- IDE: VS Code or preferred editor
- Project Management: GitHub Projects, Trello
- Communication: Discord, Slack, or Teams
- Design: Figma, Adobe XD, or similar tools
Quality Assurance¶
- Testing: Unit tests, integration tests
- Code Quality: ESLint, Prettier, Black
- CI/CD: GitHub Actions
- Documentation: Markdown, JSDoc, Sphinx
📈 Project Methodology¶
Agile Scrum Framework¶
Sprint Structure (2-week sprints)¶
Sprint Activities
Day | Activities | Deliverables |
---|---|---|
Sprint Day 1 | Sprint Planning, Task Assignment | Sprint Backlog, Task Board |
Daily | Development Work, Standups | Code Commits, Progress Updates |
Sprint Day 10 | Sprint Review, Demo | Working Software, Demo Video |
Sprint Day 11 | Sprint Retrospective, Planning | Retrospective Report, Next Sprint Plan |
Assessment Criteria¶
Project Evaluation Rubric¶
Assessment Breakdown
Component | Weight | Evaluation Criteria |
---|---|---|
Technical Implementation | 40% | Code quality, architecture, functionality, testing |
Team Collaboration | 25% | Git usage, teamwork, communication, peer evaluations |
Project Management | 20% | Sprint execution, documentation, process adherence |
Presentation & Demo | 15% | Final presentation, demo quality, user experience |
Individual vs Team Grades¶
- Base Project Grade: Team receives same grade for project deliverables
- Individual Adjustments: Based on contribution analysis and peer evaluations
- Contribution Tracking: Git commits, code reviews, meeting participation
- Peer Evaluations: Anonymous feedback on team member contributions
Project Phases¶
Phase 1: Project Initiation¶
- Team formation and roles assignment
- Project charter and scope definition
- Technology stack selection
- Initial project setup
Phase 2: Design & Planning¶
- Requirements analysis and user stories
- System architecture design
- UI/UX wireframes and prototypes
- Sprint planning and task breakdown
Phase 3: Development Sprints¶
- Iterative development cycles
- Regular testing and integration
- Continuous documentation updates
- Weekly progress reviews
Phase 4: Testing & Deployment¶
- Comprehensive testing strategy
- Bug fixes and performance optimization
- Deployment to production environment
- User acceptance testing
Phase 5: Presentation & Handover¶
- Final project presentation
- Code and documentation review
- Project retrospective and lessons learned
- Portfolio addition and reflection
Success Strategies¶
🆘 Support Resources¶
Instructor Support¶
- Weekly Check-ins: Scheduled team meetings with instructor
- Office Hours: Individual and team consultation sessions
- Email Support: Quick questions and guidance
Peer Support¶
- Inter-team Reviews: Code reviews between teams
- Showcase Sessions: Share progress and get feedback
- Study Groups: Collaborative problem-solving sessions
Technical Resources¶
- Documentation Templates: Project documentation standards
- Code Examples: Reference implementations and patterns
- Tool Tutorials: Step-by-step guides for development tools
Ready to start building? Check out Project 1: Team Portfolio Website!