Self learning at the introductory level by requiring students to learn at least one aspect of Agile programming on their own and use it during the semester.
Note taking at the application level by requiring students to take quality notes from meetings and grading those notes
Technical writing at the application level by quality artifacts and documentation to be in a final form
Team work at the application level by
requiring most (if not all) project work to be done in teams. Switching team members during the semester should be considered
having the roles in the team chance throughout the semester
Professional at the application level by requiring students to treat all team meetings in a professional context and preparing their work to be at the professional level instead of homework level.
Security at the application level by requiring all work on software to include a section on the security issues
Ethics at the application level by
requiring all work on software to include a section on ethical issues
covering cases of software failure and the ethics associated with that
Verbal communication at the application level by requiring each team to make at least two presentations to the class.