Capstone Project

Ready to bring everything you’ve learned together? This is your opportunity to apply your skills to a real-world challenge. In this course, you'll design, develop, and deliver a comprehensive software project from start to finish. Collaborate with peers, implement advanced programming concepts, and use industry-standard tools. By the end, you'll have a polished project to showcase your abilities and a deep understanding of the entire software development lifecycle.

Student smiling while sitting outside, using a laptop.
Syllabus

Course Topics

Project Planning and Proposal

Develop a comprehensive project plan and proposal for building a full-stack application that addresses a real-world problem. Define project objectives, scope, deliverables, timelines, and resource requirements. Submit a project proposal for approval.

Requirements Gathering and Analysis

Use SDLC methodologies to gather and analyze requirements for your full-stack application. Conduct interviews, surveys, and use case analysis to ensure the application meets user needs and project goals.

System Design and Architecture

Apply principles of system design and architecture within the SDLC framework. Develop detailed design documents, architecture diagrams, and technical specifications to guide the development of your full-stack application.

Front-End Development

Design and implement the user interface of your application using modern front-end technologies. Focus on creating a responsive, user-friendly interface that enhances user experience.

Back-End Development

Develop the server-side logic and database integration for your application. Implement RESTful APIs, business logic, and data storage solutions to ensure robust and efficient back-end functionality.

Integration and Middleware

Learn how to integrate various software components and third-party services into your full-stack application. Develop middleware to facilitate communication between the front-end and back-end systems.

Testing and Quality Assurance

Implement comprehensive testing strategies as part of the SDLC. Conduct unit tests, integration tests, system tests, and user acceptance tests to ensure the reliability, performance, and security of your application.

Project Management and Collaboration

Utilize project management skills and tools to manage the development process. Assign tasks, track progress, and facilitate effective team communication using tools like Jira or Trello. Employ agile methodologies to adapt to changes and deliver continuous value.

Documentation and Technical Writing

Create detailed documentation for your full-stack application, including technical specifications, user manuals, and maintenance guides. Emphasize the importance of clear and concise technical communication throughout the SDLC.

Ethics and Professionalism

Discuss ethical considerations and professional responsibilities in software development. Learn about data privacy, intellectual property, and ethical decision-making in the context of your project.

Presentation and Demonstration

Prepare and deliver a professional presentation and demonstration of your full-stack application. Effectively communicate technical details and project outcomes to a diverse audience, including non-technical stakeholders.

Final Report and Reflection

Compile a final report detailing your project, including methodologies used, challenges faced, solutions implemented, and lessons learned. Reflect on your experiences throughout the SDLC and the entire CS program

Course Level

400

Skills Covered

  • Full Stack Development
  • Project Management
  • Agile Methodology
  • Software Development Life Cycle
  • Code Review
  • Git (Version Control System)
  • Software Testing
  • Scalability
  • Technical Documentation
  • Application Development
  • Scrum (Software Development)
  • JIRA
  • Github
  • Data Structures
  • Algorithms

Common Prerequisites

All courses listed may not be required. Discuss with your advisor to learn more.

  • COMPS I - Introduction to Computer Science
  • COMPS II - Programming for Everyone I
  • COMPS III - Programming for Everyone II
  • COMPS IV - Career Navigation and Exploration in Computer Science
  • COMPS VII - Web Development
  • COMPS IX - Application Development I
  • COMPS X - Application Development II
  • COMPS V - Data Structures
  • COMPS VI - Algorithms
  • COMPS XI - Software Development
  • COMPS XII - Computer Systems (or concurrent)
  • Algebra or
  • Discrete Math

Disclosure

This course is delivered online through an institution of the Lower Cost Models Consortium (LCMC) that is different than your degree-granting institution that awards the academic credit for the course.