CSC 340: Software Engineering Theory: 3 hours
Students learn about the details of leading software engineering methodologies and how to implement the associated techniques. Two lectures and one lab per week. Prerequisite: (CSC 121 or ITSC 121) and CSC 150.
Goals for CSC 340 are:
To be determined
Course outcomes for CSC 340 are:
Upon completion of CSC 340, students will understand:
- the techniques associated with current software engineering techniques (specifically Agile)
- how to practice such techniques
- the issues associated with communicating with a customer
- how to write quality artifacts for a project and present them
- how to refine their work
Program outcomes for CSC 340 are:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
- Learn new areas of technology
- 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.