By the end of this course, students will:
- use a variety of problem-solving strategies to solve different types of problems independently and as part of a team;
- design software solutions to meet a variety of challenges;
- design algorithms according to specifications;
- apply a software development life-cycle model to a software development project.