Computer Science (COMP) 610

Selected Topics in Software Engineering (Revision 4)

COMP 610 Course website

Delivery Mode: Grouped Study Online

Credits: 3

Area of Study: IS Core

Prerequisite: (COMP501, COMP504, and COMP601) or professor approval which is based on students’ knowledge in: (1) Basics of Software Engineering, (2) a high-level programming language such as C, C++, Java, and (3) Data Structure. Students who are concerned about not meeting the prerequisite for this course are encouraged to contact the course coordinator before registering.

This course is not available for challenge credit

Faculty: Faculty of Science and Technology

Centre: School of Computing and Information Systems

Instructor: Dr. Richard Huntrods

**Note: This is a graduate level course and students need to apply and be approved to one of the graduate programs or as a non-program School of Computing and Information Student graduate student in order to take this course. Minimum Admission Requirements must be met. Undergraduate students who do not meet admission requirement will not normally be permitted to take this course. http://scis.athabascau.ca/

Overview

COMP 610 Selected Topics in Software Engineering studies the state of the art of and main research challenges of selected topics in software engineering. It covers various approaches and methodologies used in various phases of software development lifecycle, including requirements analysis and specification, software design , software implementation, software maintenance, and software process. The course topics are illustrated by examples and papers from current peer-reviewed research literature in software engineering. The course will prepare students to independently conduct research in software engineering and to apply that knowledge in their future research and practice.

COMP 610 focuses on the both traditional and emerging principles and knowledge of software engineering and provides the knowledge of and research skills in the area of software engineering. This course is designed for those who are about to start research in software engineering and for practitioners and managers who work or are about to in any aspect of software development. For the new software engineering researchers, the knowledge of and research skills in the area of software engineering will enable you to apply the knowledge of software engineering in identifying research topics, solving research problems and addressing various research challenges. For practitioners and those who have a managerial responsibility for software development, the knowledge about the software engineering state of the art and skills gained in this course should allow you to apply them in everyday software engineering practice by adding a novel and more innovative approach, which is the key of success in the knowledge area we live in.

Course Objectives

This course is designed to

  • study the state of the art of and main research challenges of selected topics in software engineering.
  • introduce various approaches and methodologies used in different phases of software development lifecycle, including requirements analysis and specification, software design, software construction, software maintenance, and software process.
  • illustrate the above-mentioned topics by examples and papers from current peer-reviewed research literature in software engineering.
  • prepare students to independently conduct research in software engineering and to apply that knowledge in their future research and practice.

Learning Outcomes

Upon completion of the course, students should be able to

  • explain critically review and discuss research papers in areas of software engineering; independently analyse research papers in areas of software engineering and write literature review papers;
  • discuss and argue about current topics in software engineering;
  • demonstrate his/her ability to conduct a software engineering project as well as argue, justify and discuss the decisions made during this project;
  • independently conduct research in software engineering and apply that knowledge in their future research and practice.

Outline

  1. Scope of software engineering
  2. Software requirements engineering
  3. Software design
  4. Software construction
  5. Software Maintenance
  6. Software engineering process

Evaluation

In order to receive credit for COMP 610, you must achieve a cumulative course grade of "B-" (70 percent) or better, and must achieve an average grade of at least 60 percent on the assignments. Your cumulative course grade will be based on the following assessment.

Assessment Weight
Assignment 1 - Presentation of a software engineering research topic 15%
Assignment 2 - Peer-reviewed literature review paper on a software engineering topic 25%
Assignment 3 - Journal Papers Readings 15%
Assignment 4 - Project 30%
Participation 15%
Total 100%

Course Materials

Textbook

Bourque, P. and Fairley, R.E., Eds. (2014) “Guide to the Software Engineering Body of Knowledge” [Electronic version], Version 3.0, IEEE Computer Society, Retrieved April 22, 2016, from https://www.computer.org/web/swebok.

Relevant peer-reviewed software engineering papers from the most important software engineering publications (e.g., IEEE TSE, ACM TOSEM, IEEE Software, J. of Soft. Maintenance and Evolution and international conferences such as ICSE, ESEC/FSE published by ACM, IEEE, Springer, Elsevier, Wiley, etc.

All peer-reviewed materials of Computer Science 610 will be made available through a link guide on the course Web site.

Other Materials

The remainder of the learning materials for Computer Science 610 is also distributed in electronic format. At this time, those materials include:

  1. Computer Science 610 Study Guide
  2. Detailed descriptions of the requirements for the individual assignments
  3. A course evaluation form
  4. Links to a variety of resources of the World Wide Web

Additional supporting materials of interests to students of Computer Science 610 will be made available through a link guide on the course Web site.

Special Course Features

COMP610 will be offered in paced electronic mode. Electronic paced study is facilitated through a variety of computer-mediated communication options, and can be completed at the student's workplace or home.

Special Note

Students registered in this course will NOT be allowed to take an extension due to the nature of the course activities.

Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized-study counterparts.

Opened in Revision 4, December 20, 2016

Updated December 21 2016 by Student & Academic Services