CS519 Sensemaking in Software Development: 2016

Professor:
Dr. Anita Sarma
anita.sarma [at] oregonstate.edu
Office: 2063 KEC

Hours:
Class Time: TR 4:00-5:20pm
Class Room: GILM234
Office Hours: W 5-6 pm

Course Objectives
CS 519, Sensemaking in Software Development, is a four-credit course for graduate students. Developing software requires developers to make sense of the gamut of information around them, how to encode and represent knowledge, and make decisions – design as well as implementation. This course will cover basic principles and research methods that discuss how individuals seek and process information during software development, how they decide to choose a particular program design or API, and about program comprehension.

Students will each pick their own “customer”, whether it be a particular professional programmer or end-user programer or whatever. This developer will motivate (almost) everything the student does all term. Finally, by the end of the term, the student will present: (1) a framework of how developers process and make sense of information in their development task, and (2) a design of or prototype of a tool/environment feature to help their customer.

The course will focus on the following topics, drawing from both emerging research and from fundamentals established over the last 20+ years. Therefore, students should come away with a fundamental understanding of:

  • What is known about human factors in software development
  • Techniques to perform qualitative data analysis
  • Overview of different processes involved in software development
  • Overview of information need and information seeking behavior
  • Critical thinking about information needs and sensemaking in software development.
  • Critical thinking about doing quality research.

Grading
Your grade will be computed as follows:

  • 20% Homework. (Late policy: No late homeworks accepted.)
  • 20% Presentations and other in-class contributions. There will be a firm time limit, including discussion time, on each presentation.)
  • 20% “hands-on test” of ability to apply concepts from the class Your task will be to turn in a written evaluation of the human aspects of some projects I will assign to you by applying what you have learned in this course.
  • 40% Final project

Class Resources:
Tentative Schedule: please check regularly as it is bound to change
Readings will be made available online and will be linked from the schedule page.
CS519_Syllabus: A more concise version of this page, along with grading rubric

Education Methods
This is not a lecture-oriented class. I will do some lectures, but the class is very active-learning based. Thus, it will be quite critique-oriented, with student presentations and analyses regarding research papers and with a strong element of group critiques as work begins to emerge. No textbook — we will be reading papers instead. No programming is expected, except a little of it might come in handy in the final project. Students should approach the course with the attitude that they get out of it what they put into it.

Prerequisites
Graduate standing in CS and interest in human factors in software development.

Gadget policy: No cell phones, IPods, or Laptops allowed in class unless needed for class. Failure to follow will lead to penalty

Academic Misconduct: All homework assignments, quizzes, exams, etc. must be your own work. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated.

Special Needs: Students with disabilities are encouraged to contact the instructor or the TA for a confidential discussion of your individual needs for academic accommodation.