"In short, software
is eating the world."
--Marc Andreessen
Syllabus Schedule Papers Project My home page
Last update
18-January, 2018
Software Engineering, CS 616-001 and CS 585-003
Course Syllabus
Spring 2018

Collaboration empowered with Piazza
Professor  
Jane Hayes
hayes +++ cs.uky.edu
http://www.cs.uky.edu/~hayes/
Hardymon 228, (+1) 859-257-3171
Class: M 1600-1840, FPAT Room #265
Office Hours: M 1530-1600, RGAN Commons, or by appointment
Software Engineering is being taught Spring 2018 as a collaborative learning opportunity.
COURSE STRUCTURE
This course will have three parts: (1) Students and professor will read about concepts of software engineering and will use some discussed techniques/tools in an inverted classroom setting; (2) Students and professor will read and discuss software engineering research papers from the literature; and (3) Students will carry out a semester-long project (that they propose), write a project report, and present the results.

OVERVIEW OF CONTENTS
This course provides an overview of the software engineering discipline: software requirements, software design, software construction, software management, and software quality. Traceability, testing, and validation techniques will be emphasized throughout the course. Programs and program fragments will be developed and studied throughout the course to illustrate specific problems encountered in the lifecycle development of software systems. These problems will be discussed and current/emerging research approaches will be explored.

MATERIALS
Lectures and papers.

DISCUSSION BOARD USE
Software Engineering will use the Piazza bulletin board for lectures and discussions. Information for accessing our class will be provided during the first meeting. Lecture slides will be posted on Piazza and joining the discussions is mandatory.

COURSE LEVEL
This course is ideal as an introductory course to software engineering and software engineering research for PhD students, and appropriate for advanced MS students and upper level undergraduate students in all computing disciplines (software engineering, computer science, information security, information systems, etc.).

LEARNING OBJECTIVES
Specifically, students will be able to:

SUPPLEMENTAL QUESTIONS FOR TEACHER COURSE EVALUATION
The course has helped me to improve my ability, my understanding, or my knowledge in the following categories:

LEARNING PRACTICE
This course will examine and apply software engineering techniques and processes as well as read and discuss papers in the current literature and seminal papers.

CLASSES 5 - 14 (Part 2) - Flow and Assignments
These classes will follow this flow: 1) overview of the topic(s) for the week, discussion of lecture slides and/or readings from SWEBOK and/or papers for that week; 2) group work - break up into groups to either: a) discuss a research paper for the topic or b) undertake the hands on activity for the topic; and 3) report out - each group will have 5 minutes to report to the class on their findings/activity results/etc.

Based on these classes, each student must write and post three reports throughout the semester which fall under one of two categories - either a paper summary/critique (described below under PAPERS) or a hands on activity report (detailing a hands on actvity that was started in class, note that completion of the activity may require you to work outside of class time), the template for such a report is here. Hands on activity reports will be graded according to the following scale: 0: not submitted, 1: inadequate, 2: needs improvement, 3: meets expectations, 4: exceeds expectations. Proper language usage is required.

The first of these three will be due no later than 26 February. The second will be due no later than 26 March. The third will be due no later than 16 April. ****You must turn in at least one paper summary/critique and at least one hands on activity report (so can turn in two paper summary/critiques and one hands on report or two hands on reports and one paper summary/critique).******

All students must join in the discussion for their paper and/or hands on activity throughout the week. All postings must be courteous and professional.

PAPERS
The first set of papers are about software engineering in general.

The second set of papers present software engineering techniques and generally some form of evaluation thereof. Each is assigned to a specific week on the schedule page. When you write and post a summary/critique for a paper (see PAPERS), the summary should: (1) describe the software engineering problem being addressed, (2) describe the software engineering technique proposed, (3) describe the approach used to evaluate the software engineering technique, (3) summarize and critique the software engineering technique and its evaluation, and (4) critique the presentation of the paper. Paper summary/critiques will be graded according to the following scale: 0: not submitted, 1: inadequate, 2: needs improvement, 3: meets expectations, 4: exceeds expectations. You are expected to have read all papers. Proper language usage is required.

All students must join in the discussion for a paper and/or hands on activity throughout the week. All postings must be courteous and professional.

TEXT BOOK

No textbook is required to be purchased, however this free book will be required reading:

  • Software Engineering Body of Knowledge (SWEBOK).

    And these are two books that you can likely obtain freely or very inexpensively (if you purchase an older edition):

  • Roger S. Pressman
  • Software Engineering: A Practitioner's Approach, *Fifth Edition *
  • McGraw-Hill
  • ISBN: 0-07-052182-4 get it free here

  • Frederick P. Brooks, Mythical Man Month, 2nd Edition, Addison Wesley
  • ISBN: 0-201-83595-9

    PROJECT
    Each student will, independently or as part of a team, undertake a software engineering project. The project can involve development of a software application, a software engineering technique, application/evaluation of a software engineering technique, etc.. Students can propose their own project ideas. A report will be delivered and the results presented orally to the class. I strongly recommend that students seek help on writing from the UK Writing Center, especially if English is not your first language. Students must also practice their presentations ahead of time at PresentationU! or similar.

    GROUP/PAIR PROJECTS
    The pair or group projects for the course will require you to work together with other students in the class. You will be evaluated on your contribution to the group project and presentations of the project results. The instructor retains the right to make group assignments. Group members are not guaranteed to receive the same grade; evaluation of the group will be individualized to determine individual understanding, commitment, and mastery of the project goals. As part of the project, written reports will be required. Proper language usage is required.

    ***LATE POLICY***
    Assignments must be submitted prior to the deadline (at the start of class for projects, on the Piazza system as deadlines have been established), unless otherwise indicated by the instructor. Assignments turned in after the deadlines are considered late. Credit will be deducted for late assignments: 3% percent lower grade for the first day late, 5% lower grade for the second day late, 10% lower grade for the third day late, and 50% lower grade for assignments turned in four or more days late.

    GRADING STANDARDS
    The course has five components to the grading for undergrad students, six components for MS students, and seven components to the grading for PhD students. These percentages will be used to compute a score from 1 to 100, which will then be used to compute a letter grade where: A= 92 - 100%, B= 83 - 91%, C= 74 - 82%, D= 65 - 73%, F= 64 and below

    I. (10% all) Students are expected to attend and participate in all classes. Students can be excused for University accepted: 1) serious illness, 2) illness or death of family member, 3) University-related trips (S.R. 5.2.4.2.C), 4) major religious holidays, 5) other circumstances that the instructor finds to be "reasonable cause for nonattendance." It is the student’s responsibility to contact the instructor regarding the nature of the absence, and the instructor retains the right to ask for proof. **Tier 2 or Tier 3 document provided to the student by UHS is appropriate verification for an excused absence for illness. In general, students must notify the Instructor of an absence within one week after the absence. ** Students anticipating an absence for a major religious holiday are responsible for notifying the instructor in writing of anticipated absences due to their observance of such holidays no later than the last day in the semester to add a class. Information regarding dates of major religious holidays may be obtained through the religious liaison, Mr. David Beach (859-257-2754). Students are expected to withdraw from the class if more than 20% of the classes scheduled for the semester are missed (excused or unexcused) per university policy.

    II. (10% all) Participation via the bulletin board is required. Discussions will commence in at least one of three ways: 1) comments on the papers, readings, hands on activity for the week; 2) postings on a paper or a topic you read of your own volition due to the week's topic/lecture/readings/paper/hands on activity; and 3) comments on a new technique/tool/etc. that you found when you took intiative to learn more about the hands on activity that was undertaken in class. All students are expected to participate energetically in the discussions. Discussion postings must have substantial content. Postings such as “I agree with Diane” are welcome but will not earn credit. Postings such as “Diane thought the number of subjects used in the evaluation of the technique were too few, but I believe five is enough for this study because ...” will. Students who do not participate in the discussions on a weekly basis will not receive credit for this portion of the grade. **Each student is required to start or commence at least ***three*** discussions over the course of the semester with a substantive post (preferably on a paper that you read on your own or on a tool/technique that you sought out on your own). ***These are NOT the three items described under CLASSES 5 - 14 FLOW AND ASSIGNMENTS, but are in addition to them. Shyness or lack of English proficiency are not valid reasons for staying out of the discussions.

    III. (23% all) Each student will prepare paper summary/critiques as described under PAPERS and hands on activity reports as described under CLASSES 5 - 14 FLOW AND ASSIGNMENTS.

    IV. (50% undergrad; 45% MS; 40% PhD) The project will constitute half the grade, and both the report and the presentation will be graded. Each student will write and post a short description of the proposed project early in the semester and the class will make suggestions for improvements.

    V. (7% all) Each project will be analyzed, tested, or otherwise evaluated by at least two people; a professor and at least one classmate. I will assign projects for review later in the semester.

    VI. (5% MS and PhD) A draft of each report will be reviewed by at least two people; a professor and at least one classmate. I will assign reports for review later in the semester.

    VII. (5% PhD) The PhD students will present a twenty-minute lecture on a related topic of their choosing. Depending on the number of students, some lectures may be delivered to the class via video.

    ACADEMIC HONOR CODE
    Individual work must be your own. No sharing of computer code or other work will be allowed. Group projects allow the sharing of ideas and computer code within the group. No sharing of work between groups will be acceptable. The University of Kentucky’s guidelines regarding academic dishonesty will be strictly enforced. All incidents of cheating and plagiarism are taken very seriously at this University. The minimum penalty for a first infraction is a zero on the assignment. See policy on plagiarism here.

    ACCOMMODATIONS DUE TO DISABILITY
    If you have a documented disability that requires academic accommodations, please see me as soon as possible during scheduled office hours. You must provide me with a Letter of Accommodation from the Disability Resource center (Rm 2, Alumni Gym, 257-2754, email dtbeac1@email.uky.edu).

    NECESSARY BACKGROUND
    A good grasp on developing software in at least one programming language is required. Although many of the papers will be quite specific in topic, extensive background in these topics will not be necessary.
    Top