CS 383: Software Engineering

Professor: Clinton Jeffery
Office: JEB 230
Office Hours: Thu/Fri 3:30-4:30, and by appointment*
Phone: 208-885-4789
E-mail: jeffery@cs.uidaho.edu
Class Meets: MWF 2:30-3:20 in JEB 328
Web: www2.cs.uidaho.edu/~jeffery/courses/383/ and on Blackboard at bblearn.uidaho.edu
Prerequisites: CS 270 or permission of instructor
Text: "Software Engineering", 10th ed by Ian Sommerville, Pearson, 2015, plus online readings as assigned.

Course Description and Goals

This course will develop students' ability to apply a systematic, engineering approach to the development of software systems. CS 383 explores software development life cycles, requirements elicitation and analysis, architectural design and design decomposition, implementation, testing, and metrics. The course teaches students about tools and techniques available for performing activities in each of these areas.

Students learn major topics of software engineering and apply what they have studied to the development of a non-trivial software system. The course uses team-based development in groups to complete major project development activities. Assignments will require both written and oral communication. Discussions of legal, ethical, social, and professional issues are conducted where appropriate.

Grading is based on a combination of individual work as evidenced by performance on homework assignments, exams, and a written report, as well as how each student performed in team-based activities. After completing this course a student should be able to effectively determine a life cycle approach appropriate for a specific development situation, elicit and document software requirements, and perform and document a software design.

Since this course emphasizes software design, it ties directly to the general computer science outcome of developing an ability to analyze a problem and identify the computing requirements appropriate to its solution. This outcome will be assessed, for example, by review of student homework turned in in the form of a software design document, or by means of a design question on the midterm or final exam.

Hardware Platforms

Assignments will be done and graded on Linux; advance arrangements (and instructor permission) will be needed if another platform needs to be used. Development on Windows or Macs will be accommodated as long as you use multi-platform portable languages and libraries, and include time for porting to Linux in your project schedule.

Schedule and Assignments

This course will include assignments that involve studying topics both from industry and from the research literature, with a special emphasis on assignments that involve the construction of a large software system. There will be a lot of hands-on design and programming. The detailed class schedule lives at www2.cs.uidaho.edu/~jeffery/courses/383/schedule.html and will be updated to fit the needs of the course and the project.

Attendance and Grading

Attendance is required, as this course emphasizes collaboration. The grading will be proportioned as follows: 20% for homeworks, 20% for the midterm exam, 20% for the final exam, and 40% for a term project.












Policy Statements

Cheating is strictly forbidden on exams, with severe penalties. For most assignments you will be working in a team, and appropriate social behavior will be required to facilitate extensive collaboration.

University of Idaho Classroom Learning Civility Clause: In any environment in which people gather to learn, it is essential that all members feel as free and safe as possible in their participation. To this end, it is expected that everyone in this course will be treated with mutual respect and civility, with an understanding that all of us (students, instructors, professors, guests, and teaching assistants) will be respectful and civil to one another in discussion, in action, in teaching, and in learning. Should you feel our classroom interactions do not reflect an environment of civility and respect, you are encouraged to meet with your instructor during office hours to discuss your concern. Additional resources for expression of concern or requesting support include the Dean of Students office and staff (5-6757), the UI Counseling & Testing Center's confidential services (5-6716), or the UI Office of Human Rights, Access, & Inclusion (5-4285).

Disability Support Services Reasonable Accommodations Statement: Reasonable accommodations are available for students who have documented temporary or permanent disabilities. All accommodations must be approved through Disability Support Services located in the Idaho Commons Building, Room 306 in order to notify your instructor(s) as soon as possible regarding accommodation(s) needed for the course.

DSS Contacts Information --- phone: (208) 885-6307. email: dss@uidaho.edu. website: www.access.uidaho.edu