CS 425 Software Engineering Course Syllabus
CS 425 Software Engineering Course Syllabus
CS 425 Software Engineering Course Syllabus
Fall 2013
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.
Several other addresses of www sites that contain useful resources (technical
documents, tools, etc.) will be indicated by the instructors during the semester.
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.
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
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
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).
Project meetings
6 Oct 01, 03
A#3 due
Lecture
10 Oct 29, 31
Midterm [10/31]
Lectures, Project P#4 given
11 Nov 05, 07
P#3 due
Lectures
14 Nov 26, -
TESS due
Program
Program
Course Outcomes Assessment Methods/Metrics Objectives
Outcomes
Impacted
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