CSC 340: Software Engineering: 3 hours

14 Jul 2021 - 13:53 | Version 1 |

Description

Students learn about the details of leading software engineering methodologies and how to implement the associated techniques. Prerequisite: (CSC 121 or ITSC 121) and CSC 150.

Goals for CSC 340 are:

  1. Learn the fundamentals of software engineering
  2. Learn the fundamentals of Agile
  3. Practice the aspects of Agile and SE on a real campus project
  4. Work on a team

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:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program\x92s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. 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.
  2. Note taking at the application level by requiring students to take quality notes from meetings and grading those notes
  3. Technical writing at the application level by quality artifacts and documentation to be in a final form
  4. 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
  5. 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.
  6. Security at the application level by requiring all work on software to include a section on the security issues
  7. 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
  8. Verbal communication at the application level by requiring each team to make at least two presentations to the class.
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
This website is using cookies. More info. That's Fine