CIS 580-Syllabus

CIS-580-001(In-person Section) / CIS-580-002 (Online Section)

 

CIS580, Data Analytics in Software Engineering, 3 Credit Hours

 

Prof. Foyzul Hassan

Office Location: CIS-234

Phone Number: 313-436-9145

E-Mail: foyzul@umich.edu

Office Hours: Tuesday and Thursday 11:00 A.M to 12:30 P.M (I am available also out of the office hours, thus send me email to meet other times when you need any help)

Course Meeting Times:  Thursday 3:00 pm - 5:45 pm, Professional Education Center Room: 1330

 

Course Description:

Software engineering is a data-intensive activity. Software produces large quantities of data such as bugs report, evolution metrics, user-oriented data, repository-based productivity and quality data, and business-oriented process data. Data scientists work with data and they have "the sexiest job of the 21st century" according to Harvard Business Review. Data scientists  are now becoming a part of mainstream software development teams and they use statistics, data mining, big data engineering, and automated software analysis techniques together to measure software performance and quality, to analyze user engagement, to diagnose and debug software failures, to detect server log anomalies, etc.

This course will focus on advanced machine learning, big data and data mining tools and techniques to ease, simplify, and automate software engineering tasks, such as bugs prediction, software modularity, reverse engineering, changes prediction, and software management.

Course Objectives:

This course focuses on state-of-the-art methods, tools, and techniques for evolving software. Topics such as reverse engineering, design recovery, program analysis, program transformation, refactoring, and traceability will be covered. There will be a project in which student teams participate.

The course topics include:

  • Empirical studies of software evolution
  • Version control (CVS, SVN)
  • Static and dynamic analysis for software engineering
  • Mining software repositories
  • Software metrics
  • Code-smells and bad design practices
  • Software refactoring
  • Search-based software evolution
  • Software visualization
  • Techniques for automatic test-cases generation
  • Regression testing
  • Software Engineering for Machine Learning
  • Data Analytics in Software Testing
  • Project debriefing.

Prerequisite:

Successful completion of CIS 553 - Software Engineering (Minimum Grade of B)

References:    

This book is not mandatory but it will help you to better understand the materials. In general, the slides of the different lectures are enough to cover all the required knowledge.

Software Evolution and Feedback: Theory and Practice, Nazim H. Madhavji (Editor), Juan Fernandez-Ramil (Co-Editor), Dewayne Perry (Co-Editor)

ISBN: 978-0-470-87180-5, 612 pages, May 2006

Assignments and Project(s):

Assignment details including the deadlines will be specified when they are assigned. Approximately 5 assignments and one class project (up-to four students per group) should be expected. Late submissions will not be accepted unless with a prior approval from the instructor. Any sort of collaboration in the assignments with others without an explicit approval of the instructor will not be tolerated and may result in a failing grade.

You will have ample of time to understand the project and implement it successfully. Course project will reinforce important concepts related to software quality and software testing that you will learn in the class.

Phase I Project identification/description: Report 15%

Phase II Requirements (expectations) and the Design of the project: Report + one presentation 20%

Phase IV Coding and evaluation: source code 40%

Phase V Presentation and the final project report 25%

Exams:

No mid-term but one final exam

Assessment:

Assignments: 40% (8% each assignment), Final Exam: 20% and Project: 40%.

Grade Scale:

A+ >= 95,

A >= 92,

A- >= 90,

B+ >= 85,

B >= 82,

B- >= 80,

C+ >= 75,

C >= 72,

C- >= 70,

D+ >= 65,

D > 62,

D>= 60,

E<=59.

Course Schedule:

Week

Lecture Topics

Assignment/Project

1

·        Introduction

 

2

·        Search Based Software Evolution

·        Assignment 1

·        Project phase I

3

·        Code-smells and bad-design practices

 

·        Assignment 2

4

·        Software refactoring

·        Program repair

·        Assignment 3

 

5

·        Project Phase I (presentations)

 

6

·        Software configuration management 

·        Project phase II

 

7

·        Change Impact Analysis

·        Assignment 3

 

8

·        Project Phase II (presentations)

 

9

·        Mining Software Repositories

·        Assignment 4

·        Project phase III and IV

10

·        Regression testing

·        Assignment 5

11

·        Software inspection techniques

 

12

·        Model-based testing

 

13

·        Papers presentation

 

14

·        Final presentations

 

 

Writing Center

The Writing Center provides support for all UM-Dearborn students wishing to improve their writing. Students needing regular one-on-one help in developing basic writing skills, as well as more advanced students wishing to improve their writing, will find the center useful. The center is located in 3035 CB (Mon-Thurs 8:30-7:00 and Fri 8:30-1:00) with smaller satellites on the first floor of Mardigian Library (Mon-Thurs 10:00-1:00) and Fairlane Center North 138 (Mon-Thurs 2:00-8:00). The center tries to accommodate walk-ins but prefers students make appointments online at

http://casl.umd.umich.edu/writ_center/

University Attendance Policy:

A student is expected to attend every class and laboratory for which he or she has registered. Each instructor may make known to the student his or her policy with respect to absences in the course. It is the student’s responsibility to be aware of this policy. The instructor makes the final decision to excuse or not to excuse an absence. An instructor is entitled to give a failing grade (E) for excessive absences or an Unofficial Drop (UE) for a student who stops attending class at some point during the semester.

Academic Integrity Policy:

The University of Michigan-Dearborn values academic honesty and integrity.  Each student has a responsibility to understand, accept, and comply with the University’s standards of academic conduct as set forth by the Code of Academic Conduct (http://umdearborn.edu/697817/), as well as policies established by each college. Cheating, collusion, misconduct, fabrication, and plagiarism are considered serious offenses and violations can result in penalties up to and including expulsion from the University.

 

Disability Statement:

The University will make reasonable accommodations for persons with documented disabilities. Students need to register with Disability Resource Services (DRS) every semester they are enrolled. DRS is located in Counseling & Support Services, 2157 UC (http://www.umd.umich.edu/cs_disability/). To be assured of having services when they are needed, students should register no later than the end of the add/drop deadline of each term. If you have a disability that necessitates an accommodation or adjustment to the academic requirements stated in this syllabus, you must register with DRS as described above and notify your professor.

Safety:

All students are strongly encouraged to follow Covid-19 safety policy including vaccination and mask policy. Also students are encouraged to register in the campus Emergency Alert System, for communications during an emergency. The following link includes information on registering as well as safety and emergency procedures information:  http://umemergencyalert.umd.umich.edu/ Finally, all students are also encouraged to program 911 and UM-Dearborn’s Public Safety phone number (313) 593-5333 into personal cell phones. In case of emergency, first dial 911 and then if the situation allows call UM-Dearborn Public Safety.