CS 6/79995 ST: Program Comprehension
Spring 2015
Department of Computer Science
Kent State University

Instructor: Dr. Jonathan I. Maletic and Office Hours

Course Time: MW 2:15-3:30
Course Location: 11 CHH

Course Description: The course focuses on the past and current research on program comprehension and how people understand and write software. The objective of this course is to investigate the material on the cognitive and mental models of how people 1) learn to program, 2) understand existing large programs. This material forms the basis of software environments that are being constructed to assist software engineers to build, maintain, and evolve extremely large software systems.

Prerequisites: CS 6/73901 Software Engineering Methodologies (or equivalent course) and extremely strong programming skills.

Course Organization: The course will be run seminar style. There will be assigned readings each class of two research papers (approximately 10 pages each. All students are required to thoroughly read the papers before class. Students will present each paper with the goal of facilitating discussion about the topic. All students will be required to participate in the discussion. Students will be given a participation grade each class.

  • A reading list will be posted for each class period.
  • Readings will primarily consist of conference and journal articles.
  • There will be two papers to read for each class period (approximately 50 papers for the term).
  • Students are required to read the papers before class and participate in discussion.
Course Objectives:
  • Understand and learn part of the research literature in software engineering.
  • Learn to read and understand research papers.
  • Learn to review and assess research papers.
  • Learn to develop a research topic based on known literature.
  • Develop research presentation skills.
Course Organization and Grading:
    30% Daily class participation
    20% Paper presentations
    40% Term Project and Presentation
    10% Final Exam: 12:45 - 3:00pm Thrusday May 7

    Final Grading Scale:
    Scale: 0% 60% 67% 70% 73% 77% 80% 83% 87% 90% 93%
    Grade: F D D+ C- C C+ B- B B+ A- A
    GPA: 0.00 1.00 1.30 1.70 2.00 2.30 2.70 3.00 3.30 3.70 4.00

Class participation is required and is an integral part of the course. Students are required to read the papers before class. Participation will require students to ask/make informed and intelligent questions/comments about the papers being presented. A daily participation grade will be assigned (on a scale of 1 to 3). One point for showing up (33%), another point for asking a relevant question (66%), and another point for asking/making an intelligent well-informed question/statement (100%). Attendence is mandatory.

Thus, to earn a passing grade in class participation the student must ask a question(s) or make a comment(s) that clearly demostrates to the instructor that he/she has thoroughly read the papers before class. Paper presentations will be 20 minutes and graded on content and style. Presentations must be the student's own work and provide a means to facilitate discussion. Students will make 3 – 4 paper presentations during the term.

The course project will be substantial and can include development of a software prototype, empirical experiments, in-depth surveys, etc. Project papers must be the students own work and plagiarism of any type will result in a failing grade for the project. Results of your project work are required to be presented as a 10 page paper (IEEE proceedings two-column format). Projects must reflect the theme of the course and topics will be developed in conjunction with the instructor. Students will also make a 20 minute presentation on the topic of their project. Projects can be developed in small groups (2-3 students) or by individuals, pending approval by the instructor.

A final exam will be given and there will also be a number of one-page paper reviews.

Other Notes:
  • Attendence is mandatory and a critical component of the course grade.
  • Lecture is the student's responsibility, if class is missed; it is in the students best interests to get the notes from a fellow student.
  • There will be no make up exams.
  • Please mute the sound on phones, lab tops, and other electronic devices.
  • Any modifications to the syllabus will be made on this page and noted.
University Requirements and Announcements:
  • Registration Requirement: The official registration deadline for this course can be found on the Registrars calendar . University policy requires all students to be officially registered in each class they are attending. Students who are not officially registered for a course by published deadlines should not be attending classes and will not receive credit or a grade for the course. Each student must confirm enrollment by checking his/her class schedule (using Student Tools in FlashFast) prior to the deadline indicated. Registration errors must be corrected prior to the deadline. Every class has its own schedule of deadlines and considerations. To view the add/drop schedule and other important dates for this class, go to the Students Tools and Courses tab in FlashLine and choose either View or Print Student Schedule. To see the deadlines for this course, click on the CRN or choose the Drop or Add a Course link and click on the green clock next to the course under Registration Deadlines.
  • University policy 3342-3-01.3 requires that students with disabilities be provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact the instructor at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through Student Accessibility Services (contact 330-672-3391 or visit for more information on registration procedures).
  • University policy 3342-3-01.8 deals with the problem of academic dishonesty, cheating, and plagiarism. None of these will be tolerated in this class. The sanctions provided in this policy will be used to deal with any violations. If you have any questions, please read the policy or contact the instructor. For the University's complete policy on procedure on cheating and plagiarism go to: and search for policy 3-01.8.

Last update: Wed Apr 15 17:56:14 2015 EST