Course Syllabus CMPS 285 – Software Engineering I CS/IT Department, College of Science and Technology Spring 2012 Instructor Information Instructor: Office Location: Telephone: E-mail: Office Hours: Ghassan Alkadi, Ph.D., Associate Professor Fayard Hall 327 D Office: (985) 549-5099 Dept.: (985) 549-2189 galkadi@selu.edu TTH 12:00 – 3:30, W 12:00 – 4:00 or by appointment Course Identification Course Number: Course Name: Course Location: Class Times: Prerequisites: CMPS285-01-1366 Software Engineering I Fayard Hall 213 TTH 3:30 – 4:45 CMPS 280 or permission of the Department Head Course Description Introduction of the methods used for specifying, designing, implementing, and testing medium and large scale software systems; methods for organizing and managing software development projects; professionalism and ethical responsibilities in software development. Minimum Topics Introduction to Software Engineering Introduction Software Processes Agile Software Development Requirements Engineering System Modeling Architectural Design Design and Implementation Software Testing Software Evolution Dependability and Security Dependability and Security Software Management Project Management Project Planning Software pricing Plan-driven development Project scheduling Agile planning Quality Management Software quality Software standards Reviews and inspections Course Learning Objectives Students will be able to construct Code for small to medium projects. o Measured by programming assignments. Students will be able to perform Unit and System Testing. o Measured by programming assignments. Students will learn how to meet deadlines and produce milestones. o Measured by designing the software and producing documents on time. Students will work in teams and learn about team dynamics. o Measured by team members interacting with one another and having to deal with a team leader. Students will present their prototypes as well as their final products and improve both oral and writing skills. o Measured by Instructor and peer evaluations. Foundations of human-computer interaction: Human-centered development and evaluation o Measured by tests. Human performance models; accommodating human diversity o Measured by tests. Principles of good design and good designers; engineering tradeoffs; introduction to usability testing o Measured by tests. Software processes: Software life-cycle and process models; process assessment models; software process metrics o Measured by developing the software. Software requirements and specifications: Requirements elicitation; requirements analysis modeling techniques; functional and nonfunctional requirements; prototyping; basic concepts of formal specification techniques o Measured by developing the software. Software design: Fundamental design concepts and principles; design patterns; software architecture; structured design; object-oriented analysis and design; component-level design; design for reuse o Measured by designing the software. Software validation: Validation planning; testing fundamentals, including test plan creation and test case generation; black-box and white-box testing techniques; unit integration, validation, and system testing; object-oriented testing; inspections o Measured by testing the product. Software evolution: Software maintenance; characteristic o Measured by the feedback given by the instructor and peers. Software project management: Team management; o Measured by meeting deadlines and milestones and tests. Program Learning Objectives and Evaluation An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs o Students learn how to design Software Engineering Architectures from narrative descriptions based on software requirements. Measured by creating the software and evaluating other software systems. An ability to function effectively on teams to accomplish a common goal o Students learn how to implement concepts in a small project to fulfill requirements by working in teams and with a team leader. Measured by how they perform in their group. An understanding of professional, ethical and social responsibilities o Students learn how to relate and manage project information and tasks in a professional manner. An ability to communicate effectively with a range of audiences o Students learn how to communicate with the customer at his/her level as well as fellow computer scientists. Measured by prototype and final presentations of the projects. An ability to use current techniques, skills, and tools necessary for computing practice o Students learn how Process Models and Project Management tools and techniques that can be used to manage large projects. Measured by their final product. Course Resources Course Website(s) Blackboard < https://bbapp2.selu.edu> Personal Website < http://www2.selu.edu/Academics/Faculty/galkadi/galkadi.htm > Required Course Text Software Engineering, 9th Edition, by Ian Sommerville, Publisher: Addison-Wesley, Copyright: 2011, ISBN-10: 0137035152 Other Resources https://www.dreamspark.com/default.aspx Grading Policy Grading System Letter Grade A B C D F I Percentage Grade points/credit Rating 90% & above 4.00 Excellent 80% – 89% 3.00 Good 70% – 79% 2.00 Average 60% - 69% 1.00 Inferior 59% and below 0.00 Failure Incomplete; given only when a student is unable to complete a segment of the course because of circumstances beyond the student’s control. A grade of incomplete may be given only when approved in writing by the department chair or school dean. Grading Policy Grades will be based on the following: Midterm & Final Exams Midterm Prototype Presentation Progress reports and documentation Final Presentation “Software Product” Total Points 200 50 50 100 400 Late Assignments The instructor reserves the right to make any changes deemed appropriate. Late programs or homework assignments will not be accepted without a valid excuse. Course Policies Students must use the e-mail accounts provided by the university in order to communicate with the instructor outside class and access the PCs in the labs. It is the student’s responsibility to ensure that he/she is properly registered to receive credit for the course. It is University Policy that the class room is not a place for children, and that students are not to bring their family members for day care or babysitting. All team members must contribute in developing the software “Writing Code.” If a team member doesn’t contribute in developing the software, he/she will FAIL the project. Students are required to practice source control when developing their software. http://tortoisesvn.tigris.org/ is an Open Source Software Engineering Tool that may be used for this purpose. Collaboration/Plagiarism Rules Cell phones, Blackberries, iPods, iPhones, Tablet PCs, or any other electronic devices are not to be used in the classroom. Information exchanges on these devices during exams are prohibited and violate the Academic Integrity Code. Instructor’s expectations regarding the detection of plagiarism through use of Turnitin.com: “Students agree by taking this course that all required papers may be subject to submission for textual similarity to Turnitin.com for the detection of plagiarism. All submitted papers will be included as source documents in the Turnitin.com reference database solely for the purpose of detecting plagiarism of such papers. Use of the Turnitin.com service is subject to the Terms and Conditions of Use posted on the Turnitin.com website.” Instructor’s Expectations Regarding Student Behavior/Classroom Decorum “Free discussion, inquiry, and expression is encouraged in this class. Classroom behavior that interferes with either (a) the instructor’s ability to conduct the class or (b) the ability of students to benefit from the instruction is not acceptable. Examples may include routinely entering class late or departing early; use of beepers, cellular telephones, or other electronic devices; repeatedly talking in class without being recognized; talking while others are speaking; or arguing in a way that is perceived as “crossing the civility line.” In the event of a situation where a student legitimately needs to carry a beeper/cellular telephone to class, prior notice and approval of the instructor is required.” Classroom behavior which is deemed inappropriate and cannot be resolved by the student and the faculty member may be referred to the Office of Judicial Affairs for administrative or disciplinary review as per the Code of Student Conduct which may be found at http://www.selu.edu/admin/stu_affairs/handbook/ University Policies Academic regulations and procedures are governed by University policy. Academic dishonesty cases will be handled in accordance the University's policies. If you are a qualified student with disability seeking accommodations under the American with Disabilities Act, you are required to self-identify with the Office of Disability Services, Room 203, Student Union. No accommodations will be granted without documentation from the Office of Disability Services. Academic Integrity: “Students are expected to maintain the highest standards of academic integrity. Behavior that violates these standards is not acceptable. Examples are the use of unauthorized material, communication with fellow students during an examination, attempting to benefit from the work of another student and similar behavior that defeats the intent of an examination or other class work. Cheating on examinations, plagiarism, improper acknowledgment of sources in essays and the use of a single essay or paper in more than one course without permission are considered very serious offenses and shall be grounds for disciplinary action as outlined in the current General Catalogue.” http://www2.selu.edu/documents/policies/empl/p4_academic_integrity.pdf Course Schedule All Exams, documentation, progress reports and presentation due dates will be posted on Blackboard. February 20 - 22 Monday - Wednesday Mardi Gras Holidays. March 9 Friday Regular Classes: Last Day to withdraw or resign from the University. Deadline at 12:30 p.m. March 19 - 23 Monday - Friday Priority Registration for Summer and Fall 2012 classes. April 6 - 13 Friday - Friday Spring Break. May 4, 2012 Friday Last Day of Classes. May 18, 2012 Friday Student accounts will be charged for any rental books not returned by 12:30 p.m. Finals Week Final Exam: Wednesday, May 9th, 2012, 2:45 pm - 4:45 pm