CIS 422/522 Software Methodologies
Winter 2010
Syllabus

Tuesdays and Thursdays, Noon - 1:20 AM, 301 Gerlinger
CRN: 11983 (for 422), 11995 (for 522), 4 Credits
Web Pages: http://www.cs.uoregon.edu/classes/10F/cis422/

Overview

Instructor

Anthony Hornof, Associate Professor
356 Deschutes
hornof@cs.uoregon.edu
Office Hours: Tues and Thurs 3 - 4 PM, or by appointment

The Point of the Course

"Software is coming onto center stage as the key empowering technology of the Information Age. Without software, one cannot enter or exit the information superhighway. Without software, a Cray supercomputer is a rather expensive loveseat and a Powerbook laptop is a rather expensive paperweight. If their software is bungled, our cars, radiation therapy machines, bank accounts--and we ourselves--can get into big trouble." (Barry Boehm, in Software Engineering, edited by Dorfman and Thayer, 1997, IEEE Press.)

In this course, you will learn methodologies and practices for building software systems that are adaptable, robust, reliable, and usable. The development of such systems require the cooperation and participation of a number of people working as a team. This class will help you to learn how to work effectively on a team. You will learn structured approaches for analyzing systems requirements, specifying software design, testing systems, and managing the software development process.

Textbook

Hans van Vliet, Software Engineering: Principles and Practice, 3nd edition, John Wiley & Sons, 2008.

Your Responsibilities

Reading

You are expected to read the assigned chapters before class, and come to class ready to discuss those chapters, with questions about what you read. You are expected to take notes on what you read, understand the material, and to look up words that you don't know in a dictionary.

Class Participation

All students are expected to attend all lectures, presentations, and group meetings with the professor, and to take written notes at all classes and meetings. Students are also expected to participate in class presentations, group meetings, and discussions. Your in-class participation may be supplemented by emailing the instructor with questions or comments, which he will try to incorporate into the next class. All students will also be expected to participate in a few in-class group presentations.

Come to class ready to engage the material and to interact face-to-face with the other human beings in the classroom. Leave your 21st-Century distractions behind. Turn off your cell phones, smart phones, and pagers (do not just put them into "vibrate" mode). Cell phones ringing in class is inappropriate, discourteous and disruptive. Activities such as texting, surfing the web, or checking email during class is inappropriate and discourteous. Please do not use laptops or electronic devices during lectures. Please practice your skill of focusing on the intellectual activity occurring in a physical room with real live people.

Mandatory Attendance

In order to maximize the project-based group-learning experience, the course has mandatory attendance. As some will say, "Ninety percent of life is just showing up." You are expected to schedule other events such as trips or job interviews to avoid conflicts with the course. The only acceptable excuses for missing a class are documented medical problems, religious holidays (if cleared in advance), presenting papers at top academic conferences (if cleared in advance), and documented personal emergencies. If you miss a class, you are expected to contact your classmates to learn what you missed. Five unexcused absences will result in an nonpassing grade for the course. Roll will not be taken every day, but conspicuous absences such as missing a group presentation or a quiz will be noted.

Group Projects

There will be two group projects. The first will last four weeks and be assigned by the instructor. The second will last four weeks and will be proposed by the groups. The second project will be due during the final week of classes. For the first project, the instructor will assign the teams. For the second project, students will select their own teams.

Exams

There will be two midterm exams and no final exam. Quizzes and in-class exercises to further supplement learning and assessment. An unexcused absence at an exam will result in a grade of zero on the exam.

Communication

Students have the responsibility to communicate with the instructor about any questions, concerns, or problems that they have during the course. These might relate to any aspect of the class including lectures, group dynamics, communication breakdowns, or anything. Please visit the instructor during his office hours or set up an appointment to discuss any problem or concerns.

Email

Please contact the instructor with any questions and concerns at all regarding the class, following these guidelines:

Students in CIS 522

Graduate students (enrolled in CIS 522) will have additional responsibilities including reading and responding to academic papers on software engineering. Graduate students will be held to a higher expectation of quality in projects and exams.

Grades

Grades will be determined based on (a) your group's performance on group projects; (b) your performance on two midterms and several in-class quizzes; (c) your teammate's evaluation of your contributions to group projects; and (d) your attendance. Provided that you have fewer than five unexcused absences, which would result in an "F" for the course, your final grade will be weighted as follows:

Project 1: 25%
Project 2: 25%
Midterm One: 20%
Midterm Two: 20%
Class Participation and Quizzes: 5%
Teammate Evaluation: 5%

Grades for the course will be determined on the following scale:

90-100% = A
80-89% = B
70-79% = C
60-69% = D
59 and below = F

Projects submitted late will be subjected to a full letter grade penalty.  Projects will be accepted no more than two calendar days past the due date.  Exceptions will only be considered if the request is submitted before the due date.

Any grading discrepancies (such as a miscounting of points on an assignment) must be resolved within a week after the assignment is returned.

Assessment of Work

Evaluation Criteria

Projects will be assessed against a set of evaluation criteria that will be made available with each project. Read these criteria carefully because they reflect the aspects of the projects that are important given the pedagogical goals of the class.

Subjective Assessment

While much in the discipline of computer science is objective (such as whether a computer program will compile and produce a specified answer), most of the material that covered in this class will be concepts, ideas, terminology, conventions, and practices that cannot be defined in pure objective language such as that of a computer program. Exams, quizzes, and projects are graded based on the instructor's subjective assessment of the accuracy and completeness of the answers and materials provided by the students.

The instructor will apply an understanding of the material that he has established (a) with first-hand experience interacting with the concepts and ideas covered in the class over five years of professional software industry and eight years of managing funded research projects in academia, (b) writing funding proposals that have won almost $2 million in funding from federal agencies, (c) reviewing proposals for federal agencies including NSF and NASA who specifically requested his expert evaluations of the feasibility and technical merit of submissions, (d) extensive reading on the material covered in the course, and (e) extensive discussions with practitioners and researchers who specialize in the topics of the class.

Good Writing

Projects will be evaluated in part based on the instructor's subjective assessment of the quality of the written materials submitted. A modern skilled technology expert must be able to communicate his or her ideas clearly and concisely. Good writing occurs on three levels:

  1. Structure a paper so that the main ideas are clearly accessible. State the main point of the paper in the introduction. Start each paragraph with a topic sentence. Break the paper into sections and give each section a title. Summarize your major findings in a conclusion. A storytelling approach is not a good organizational style.
  2. Communicate individual ideas effectively. Be thorough but concise. The tone of your writing should be serious and direct, as if you were reporting to your boss at a real job. An informal "chatty" style is not appropriate. Every figure (graph, drawing, or screenshot) must be relevant, should have a caption that explains what it is and why it is important, and should be referred to in the main body of the text.
  3. All spelling and grammar must be standard and correct.

If you have any doubts about the quality of your writing, work with your project collaborators to critique each other's drafts. Also, take drafts to the drop-in writing lab at the Teaching and Learning Center in the basement of the PLC, open Monday - Friday from 9:00am to 4:00pm.

Modern writing standards advocate the use of inclusive language, and you should follow this standard. For example, if you are referring to a single anonymous person, you should write "he or she," "the user," or "the programmer," but not just "he." Also, please refer to women as "women" and not "girls" or "ladies".

People with disabilities should be first recognized as people, and then by their distinguishing characteristic. For example, "people with disabilities" is preferred over "disabled people".

Course Policies

Diversity Welcome

The modern technology workplace is diverse, international, and intercultural. This course welcomes and values these differences as an opportunity to increase our awareness of the contemporary global society, how to work better in groups, and how to build better computer systems.

Students with Disabilities

If you have a documented disability and anticipate needing accommodations in this course, during the first two weeks of class please (a) ask the counselor for students with disabilities send the instructor a letter verifying your disability and (b) arrange to meet with the instructor to discuss your needs.

Corequisite

If you have not completed CIS 315 in a previous term with a grade of C- or better, or if you are not taking CIS 315 this term, you will not receive credit for this course.

Recording

You may not make audio or visual recordings of the class without explicit permission from the instructor.

Academic Honesty

Students who are found to have committed an academically dishonest act in this course will receive an F for the course.

Academic honesty includes the following. You should do all of the following:

Academic dishonesty includes the following. You should not do any of the following:

All evidence of academic dishonesty will be rigorously pursued consistent with the University of Oregon Faculty Guide for Addressing Academic Misconduct.

A.Hornof 9/28/2010