Software Construction and Evolution Winter 2024
Timeline
-
January 23, 2024Experience start
-
January 24, 2024Project Scope Meeting
-
January 28, 2024Progress Meeting
-
April 3, 2024Experience end
Timeline
-
January 23, 2024Experience start
-
January 24, 2024Project Scope Meeting
Project scope meeting for students to connect with employers
-
January 28, 2024Progress Meeting
Another round of check-ins to ensure a smooth flow for the project
-
April 3, 2024Experience end
Experience scope
Categories
Information technology Data analysisSkills
software testing data analysis researchWould you like to understand better how to manage your software from conception to implementation? In this project, students working in teams will explore and analyze concepts, methods and techniques for supporting the construction, evolution, and maintenance of software systems, including machine learning systems and programs. Topics include the construction of software components identified and described in design documents; code implementation and reuse; software testing and Software Quality Assurance; methods and techniques to allow a software system to evolve and survive.
Projects that students can work on: Software engineering and computer programming projects.
Learners
The final project deliverables might include:
- A 10-15 minute presentation of key findings and recommendations.
- A detailed report including their research, analysis, insights, and recommendations.
- Programming code, software analysis and design diagrams, data analytics results, etc.
Project timeline
-
January 23, 2024Experience start
-
January 24, 2024Project Scope Meeting
-
January 28, 2024Progress Meeting
-
April 3, 2024Experience end
Timeline
-
January 23, 2024Experience start
-
January 24, 2024Project Scope Meeting
Project scope meeting for students to connect with employers
-
January 28, 2024Progress Meeting
Another round of check-ins to ensure a smooth flow for the project
-
April 3, 2024Experience end
Project Examples
Requirements
Candidate projects include: Computer programming projects (Java, Python, etc.), machine learning/data analytics projects, and software engineering projects.
Project activities might include but are not limited to:
- Explaining the fundamental principles in Object Oriented Programming (inheritance, polymorphism, dependency, association, composition, aggregation, etc...) and their merit in good software design
- Recognizing, analyzing and using abstraction and decomposition to construct software systems that solve real problems.
- Applying appropriate refactoring techniques to resolve design problems in code.
- Organizing and developing software user documentation that enhances long-term software viability.
- Applying appropriate design patterns, architectural patterns, and formal specifications for building software products from specifications and systematically changing them to meet evolving requirements.
- Using systematic exception handling and other techniques in promoting fault-tolerance.
- Explaining and putting into practice test-driven development.
- Describing software evolution approaches such as reverse engineering, reengineering, and restructuring
- Applying appropriate reverse engineering techniques to recover software design.
Additional company criteria
Companies must answer the following questions to submit a match request to this experience:
Provide an opportunity for students to present their work and receive feedback.
Be available for a phone/Zoom call with the instructor to initiate your relationship and confirm your scope is an appropriate fit for the course.
Provide relevant information/data as needed for the project.
Provide a dedicated contact who is available to answer periodic emails or phone calls over the duration of the project to address students' questions.
Timeline
-
January 23, 2024Experience start
-
January 24, 2024Project Scope Meeting
-
January 28, 2024Progress Meeting
-
April 3, 2024Experience end
Timeline
-
January 23, 2024Experience start
-
January 24, 2024Project Scope Meeting
Project scope meeting for students to connect with employers
-
January 28, 2024Progress Meeting
Another round of check-ins to ensure a smooth flow for the project
-
April 3, 2024Experience end