$25
This course provides an experience in working on a software development project that requires technical knowledge. Students will work in teams of 3 or 4 to identify a problem, design a solution to that problem, and implement that solution. The solution must involve creating software and may involve also creating hardware.
Student Learning Objectives
1. Identify a real-world problem amenable to solution by software, perhaps with accompanying hardware.
2. Design a software solution to a given problem.
3. Analyze the feasibility of implementing a given software design.
4. Apply technical knowledge gained from courses and readings in the technical literature to a project.
5. Collaborate effectively as a team member.
6. Analyze and reflect, verbally and in writing, on a software development process.
Outline
1. Identifying Real-World Problems
1. Analyzing Legal, Social, and Ethical Impacts of a Proposed Solution
2. Estimating the Feasibility of Solving a Problem
2. Designing a Software Solution to a Problem
3. Researching Technical Resources to Develop a Solution
4. Implementing a Proposed Solution in Software
5. Refining the Scope of the Problem
6. Testing and Debugging the Software
7. Presenting the Project