ICS 670

Contemporary Issues in Software Engineering

4 Graduate credits
Effective May 5, 2008 – Present

Graduation requirements this course fulfills

This course presents Software Engineering topics of interest to students in the graduate Computer Science program. Topics vary with each offering of this course, but will be related to Software Engineering concepts such as verification, validation, secure systems, quality control, or formal methods. Check the class schedule for details about topics and course prerequisites.


Special information

Prerequisites: Graduate standing in the MSCS program or permission of the instructor. Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.

Learning outcomes


  • Design a software system taking into account issue X.
  • Integrate issue X into appropriate software development processes (e.g., waterfall process, agile development).
  • Integrate issue X into software system requirements.
  • Build a simple computer system in which issue X functionality is present.
  • Demonstrate expertise in reading peer-reviewed papers in issue X and explain them in writing.
  • Develop tests for a software system to verify that issue X requirements are met.
  • As an example of this, consider the topic Aspect-oriented software engineering. These outcomes might become as follows: Understand principles and key concepts of aspect-oriented software engineering theory and practice Integrate aspect-oriented software engineering into other contemporary models of software engineering Merge aspect-oriented software development with use case modeling for software system requirements Design a software system using the aspect-oriented paradigm Test and refactor a system designed using the aspect-oriented methodology Build a computer system using a
  • Understand the place of issue X in modern software engineering theory and practice.