Department of Computer Science and Engineering
College of Engineering, University of Nevada, Reno
Fall 2013
CS 425 Software Engineering
Course Syllabus
Lectures: TR, 9:30 – 10:45 am, SEM-234
Instructor: Sergiu Dascalu
Room SEM-236
Tel: (775) 784-4613
[email protected] www.cse.unr.edu/~dascalus
Office hours: T 11:00 am – 12:00 pm, or by appointment or chance
Catalog description: CS 425 SOFTWARE ENGINEERING
Lecture + Lab: 3 + 0; Credit(s): 3
Software processes, project management, software requirements, system
models, architectural design, detailed design, user interface design,
implementation, integration, verification, validation, testing, evolution, rapid
development, software tools (major capstone course)
Pre-requisites: CS 446; ENG 102; CH 201; Junior or senior standing
Course outline: This course covers the software development process, from requirements
elicitation and analysis, through specification and design, to implementation,
integration, testing, and maintenance (evolution). A variety of concepts,
principles, techniques, and tools are presented, encompassing topics such as
software processes, project management, people management, software
requirements, system models, architectural and detailed design, user interface
design, programming practices, verification and validation, and software
evolution. Although the emphasis will be on modern approaches some more
traditional software engineering techniques will also be discussed.
Texts: [SE-9] Ian Sommerville, Software Engineering, 9th Edition, Addison-Wesley,
2011, ISBN: 0-13-703515-2
Lecture notes: include presentations that will be made available by the
instructors and notes that you will take during lectures
Additional material as indicated later by the instructors
Initial web pointers: CS 425 course website:
www.cse.unr.edu/~dascalus/se2013.html
Ian Sommerville’s web-site for the textbook:
http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/ [Note: 9th edition]
The Software Engineering Institute, at Carnegie Mellon University,
www.sei.cmu.edu
The Object Management Group:
www.omg.org
Several other addresses of www sites that contain useful resources (technical
documents, tools, etc.) will be indicated by the instructors during the semester.
Fall 2013 page 1 of 6
Grading scheme: Assignments (individual) A#1, A#2 15%
(tentative) Project (team) P#1, P#2, P#3, P#4, DEMO 35%
Midterm test T#1 15%
Final exam (comprehensive) EXAM 30%
Class participation CP0 5%
Honors students are also required to complete a technical essay (TESS) worth
10% (see grading scales below).
In order to pass the course you need to obtain at least 50% overall, at least 50%
in tests (midterm test + final exam), at least 50% in applications (project parts
P#1, P#2 and P#3 + assignments A#1 and A#2 + class participation CP), and at
least 50% in project implementation and demo (P#4 and DEMO).
To obtain grade A you need to obtain at least 90% overall and at least 90% in
class participation. Poor class participation can significantly affect your overall
grade.
There are no make-ups for homework or tests in this course.
Grading scale [regular CS 425]:
A 90 -100 [maximum 100]
A- 87 - 89
B+ 83 - 86
B 78 - 82
B- 74 - 77
C+ 70 - 73
C 65 - 69
C- 61 - 64
D+ 57 - 60
D 54 - 56
D- 50 - 53
F < 50
Grading scale [Honors CS 425]:
A 100 - 110 [maximum 110]
A- 96 - 99
B+ 91 - 95
B 85 - 90
B- 80 - 84
C+ 76 - 79
C 71 - 75
C- 67 - 70
D+ 63 - 66
D 59 - 62
D- 55 - 58
F < 55
Late submissions: Late submissions of homework will be penalized with a deduction of 10% of the
grade per late day, to a maximum of two late days for each submission. No
material will be accepted after two days past the deadline. For example, an
assignment that is worth 90/100 points will receive 90*0.9 = 81/100 points if it is
one day late. The same assignment will receive 90*0.8 = 72/100 points if it is two
Fall 2013 page 2 of 6
late days and it will not be accepted if it is more than two days late. Late days are
not divisible in subunits.
On plagiarism and cheating:
Plagiarism and cheating will not be tolerated. It will be dealt with according to the
policies of the University of Nevada, Reno regarding academic dishonesty.
Please read these policies at www.unr.edu/stsv/acdispol.html
Legal notices on the World Wide Web:
When accessing www resources such as downloadable software, technical
reports, papers, on-line tutorials, etc., do not forget to read their accompanying
legal notices and comply with their provisions.
Overall course objective:
Coverage of the phases of the software process through study of related
concepts, principles and techniques as well as practical software development
work using a systematic engineering approach.
Main directions:
Study of software engineering concepts, principles, and techniques
Extensive coverage of the phases and activities of the software process
Study of several advanced software engineering topics such as software
reuse, component-based software engineering, and service-oriented
architecture
Practical software development work within the framework of integrated
development environments
Disability statement: If you have a disability for which you will need to request accommodations,
please contact as soon as possible the instructors or the Disability Resource
Center (Thompson Student Services - 107).
Academic success services:
Your student fees cover usage of the Math Center (784-4433 or
www.unr.edu/mathcenter/), Tutoring Center (784-6801 or
www.unr.edu/tutoring/), and University Writing Center (784-6030 or
http://www.unr.edu/writing_center/. These centers support your
classroom learning; it is your responsibility to take advantage of their
services. Keep in mind that seeking help outside of class is the sign of a
responsible and successful student.
Statement on audio and video recording:
Surreptitious or covert video-taping of class or unauthorized audio recording of
class is prohibited by law and by Board of Regents policy. This class may be
videotaped or audio recorded only with the written permission of the instructor.
In order to accommodate students with disabilities, some students may be given
permission to record class lectures and discussions. Therefore, students should
understand that their comments during class may be recorded.
Fall 2013 page 3 of 6
Tentative schedule
Week Dates (M, W) Contents
1 Aug 27, 29 Lectures [Introduction]
2 Sep 03, 05 Lectures, Invited talks, A#1 given
Lecture, Invited talks, A#2 given
3 Sep 10, 12
A#1 due
Lectures, Invited talks, A#3 given
4 Sep 17, 19
A#2 due
5 Sep 24, 26 Lectures, P#1 given
Project meetings
6 Oct 01, 03
A#3 due
Project meetings, Lecture, Project P#2 given
7 Oct 08, 10
P#1 due
8 Oct 15, 17 Lectures, Technical essay given (TESS)
Lecture, Project P#3 given
9 Oct 22, 24
P#2 due
Lecture
10 Oct 29, 31
Midterm [10/31]
Lectures, Project P#4 given
11 Nov 05, 07
P#3 due
12 Nov 12, 14 Lectures, [Invited talk]
13 Nov 19, 21 Lecture
Lectures
14 Nov 26, -
TESS due
15 Dec 03, 05 Lectures
P#4 due, Demo (12/10 and 12/11)
16 Dec 10, -
Final EXAM (12/17)
Fall 2013 page 4 of 6
Course Assessment Matrix
CS 425 Software Engineering
Program
Program
Course Outcomes Assessment Methods/Metrics Objectives
Outcomes
Impacted
Operate in teams to develop the
Students demonstrate
project, acquire and use resources
the ability to develop a
(references) pertaining to the
high quality software
4 project’s application domain, and 2, 3, 4
system while working in a
demonstrate the project’s
project group.
functionality.
Students have the ability
Define a project topic of practical
to identify software
utility and/or interest in a specific
development needs and
area of human activity, assess
challenges that require
5 challenges for developing the 1, 3
various engineering
project, and outline possible design
solutions, and formulate
and implementation solutions.
such solutions.
Students have a Discuss topics pertaining to
thorough understanding professional, ethical and social
6 of professional, ethical aspects of the software engineer’s
4
and social responsibilities job and activities.
Students are able to
analyze the impact of
Explore topics relevant to the local
computing and
and global impact of computing and
8 engineering solutions on
engineering solutions on individuals,
individuals,
organizations, and the society.
organizations, and
society
Use modern software engineering
Students are capable to
techniques and tools associated
develop their software
with the various phases and
11 projects using modern
activities of the software process:
1, 2
engineering techniques
requirements engineering, analysis,
and tools.
design, implementation, and testing.
Students demonstrate
the ability to apply a Study and apply various high level
13 range of design and and detailed design and
2, 3
development principles in implementation principles for
the construction of a building a software system.
software system.
Fall 2013 page 5 of 6
CSE Program Outcomes
Outcome Description of Outcome
1 an ability to apply knowledge of computing, mathematics, science, and engineering
2 an ability to design and conduct experiments, as well as to analyze and interpret data
an ability to design, implement, and evaluate a computer-based system, process,
3 component, or program to meet desired needs, within realistic constraints specific to
the field
4 an ability to function effectively on multi-disciplinary teams
an ability to analyze a problem, and identify, formulate and use the appropriate
5 computing and engineering requirements for obtaining its solution
an understanding of professional, ethical, legal, security and social issues and
6 responsibilities
7 an ability to communicate effectively with a range of audiences
the broad education necessary to analyze the local and global impact of computing and
8 engineering solutions on individuals, organizations, and society
a recognition of the need for, and an ability to engage in continuing professional
9 development and life-long learning
10 a knowledge of contemporary issues
an ability to use current techniques, skills, and tools necessary for computing and
11 engineering practice
an ability to apply mathematical foundations, algorithmic principles, and computer
science and engineering theory in the modeling and design of computer-based
12 systems in a way that demonstrates comprehension of the tradeoffs involved in design
choices
an ability to apply design and development principles in the construction of software
13 systems or computer systems of varying complexity
CSE Program Objectives
Within 3 to 5 years of graduation our graduates will:
1. be employed as computer science or computer engineering professionals beyond entry level
positions or be making satisfactory progress in graduate programs.
2. have peer-recognized expertise together with the ability to articulate that expertise as computer
science or computer engineering professionals.
3. apply good analytic, design, and implementation skills required to formulate and solve computer
science or computer engineering problems.
4. demonstrate that they can function, communicate, collaborate and continue to learn effectively as
ethically and socially responsible computer science or computer engineering professionals.
Fall 2013 page 6 of 6