Course Overview CEN 5035 Software Engineering

Slides:



Advertisements
Similar presentations
Course Overview CSE8313 Object-Oriented Analysis and Design Spring 2015 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University.
Advertisements

Today’s Agenda  Syllabus CS2336: Computer Science II.
Introduction to Computer Programming I CSE 113
CSE115 Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall CSE 115 Introduction to Computer Science for Majors I1.
General information CSE 230 : Introduction to Software Engineering
CMSC 132: Object-Oriented Programming II
Welcome to MAT 170. Basic Course Information Instructor Office Office Hours Beth Jones PSA 725 Wednesday and Friday 10:40 am – 11:30 am and by appointment.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
1 CS 425 / CS 625 Software Engineering Fall 2008 Course Syllabus August 25, 2008.
WELCOME TO BIOLOGY 101 FALL BIOLOGY 101 Introductions: My Background Contact Information: –Reagan Lake –Rm 454 (BS Bldg) –
1 CS 425 / CS 625 Software Engineering Fall 2009 Course Syllabus August 24, 2009.
PROBABILITY AND STATISTICS FOR ENGINEERS Session 1 Dr Abdelaziz Berrado MTH3301 —Fall 09.
Fall 2013 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 27,
1 Data Communications and Network Management ISQS 6341, Summer II, 2001 Instructor: Zhangxi Lin Office: BA 708 Phone:
Computer Network Fundamentals CNT4007C
Math 125 Statistics. About me  Nedjla Ougouag, PhD  Office: Room 702H  Ph: (312)   Homepage:
Bala Kappagantula CGS 1000 Introduction to Computers and Technology Fall 2007.
ACIS 4684/5584 IS Security and Assurance. 2 Dr. Linda Wallace  Office: Pamplin 3092  
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
CEN 4072 / CEN 6070 Software Testing & Verification Spring 2014 Syllabus available on-line at:
Software Requirements Southern Methodist University CSE 5316/7316.
Course Introduction Software Engineering
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Prof. Barbara Bernal NEW Office in J 126 Office Hours: M 4pm - 5:30 PM Class Lecture: M 6 PM - 8:30 in J133 Weekly Web Lecture between Tuesday to Sunday.
Fall 2015 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 25,
Lecture Section 001 Spring 2008 Mike O’Dell CSE 1301 Computer Literacy.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Stephen M. Thebaut Exam 2 Notes Slide 1 Exam 2 Notes Stephen M. Thebaut, Ph.D. University of Florida CEN 5035 Software Engineering.
Software Systems Engineering Rob Oshana Southern Methodist University EMIS 7312.
Fall 2011 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 30,
CPE 432 Computer Design Dr. Walid Abu-Sufah 1CPE 432 Computer Design.
ACIS 3504 Accounting Systems and Controls. 2 Dr. Linda Wallace  Office: Pamplin 3092  
1 STAT 3080/APMA 3501 From Data to Knowledge Fall 2014 Malathi Veeraraghavan Professor, Electrical & Computer Engineering Dept. Course web site:
1 Introduction to Data Communication Networks ISQS 3349, Spring 2000 Instructor: Zhangxi Lin Office: BA 708 Phone: Homepage:
Exam 1 Notes Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
CST 223 Concepts of Programming Languages Dr. Sherry Yang PV 171
Stephen M. Thebaut Exam 1 Notes Slide 1 Exam 1 Notes Stephen M. Thebaut, Ph.D. University of Florida CEN 5035 Software Engineering.
©Stephen Thebaut 2008 Quiz 1 Notes Slide 1 Quiz 1 Notes Advanced Software Engineering Summer ’08.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
Computer Networks CNT5106C
Stephen M. Thebaut Software Engineering Slide 1 Grade Info and Some Closing Thoughts CEN 5035 Software Engineering.
Course Overview CSE5319/7319 Software Architecture and Design Spring 2016 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist.
Administrative Preliminaries Computer Architecture.
Course Overview CSE 8340 Advanced Software Engineering Topics: Software Engineering Economics & Processes Spring 2016 Dr. LiGuo Huang Dept. of Computer.
1 CS 425 / 625 Software Engineering Fall 2003 Course Syllabus August 25, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Fall 2012 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 28,
Software Testing & Verification
Introduction to the Course Software Specification Lecture 1
Software Specification
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Software Requirements
EGR 115 Introduction to Computing for Engineers
Computer Networks CNT5106C
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Computer Networks CNT5106C
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Software Specification
Practical Software Engineering
CS 425 / CS 625 Software Engineering
Computer Networks CNT5106C
Presentation transcript:

Course Overview CEN 5035 Software Engineering Stephen M. Thebaut, Ph.D. University of Florida

Contact Info Instructor: Steve Thebaut, E314-A Office Hours: Wed/Fri 9:15-10:15 or by appt. e-mail: smt AT cise DOT ufl DOT edu Phone: (352) 505-1564 TA: TBD

Description An introductory survey of fundamental concepts and principles underlying current and emerging methods, tools, and techniques for the cost-effective engineering of high-quality software systems. NOT a “programming” course. Focuses on surveying some of the critical aspects of SE that may be less familiar to students of computer science. E.g.:

Description (cont’d) identifying a development process appropriate to the circumstances, eliciting and documenting requirements, indentifying appropriate design techniques, employing effective verification and validation strategies (e.g., reviews & inspections, formal methods) throughout the software development lifecycle, software maintenance, and software project management.

Description (cont’d) Things this course is NOT about: Furthering software engineering dogma (beliefs that are not to be doubted or questioned) Software engineering evangelizing – the “one true way” Many SE principles and methodological guidelines seem, on the surface, to be in conflict with one another. We will rationally evaluate these principles and guidelines in the context of the heterogeneous, multidimensional problem space in which SE resides today.

Prerequisites Familiarity with programming using a high-level language (C, C++, Java, etc.) Basic knowledge of algorithms, data structures (linear lists, etc.), and discrete math (symbolic logic) Taking CEN 5035 is generally inadvisable for students who have previously completed an undergraduate software engineering survey course... Please discuss with the instructor before the end of drop/add.

Policy for students who have already taken CEN 4072/6070 at UF Students who have already completed CEN 4072/6070, Software Testing & Verification, may take CEN 5035, but in modified form. Instead of being tested on "Intro to Proofs of Correct-ness" and some other related subject matter, students will be tested on additional content NOT covered in class. Please discuss with the instructor if you have any questions or concerns about this before the end of drop/add.

Meeting Times and Location (for on-campus students) Monday, Wednesday, Friday: 4th (10:40-11:30) Room: CSE 122 All in-class lectures will be recorded by UF EDGE and posted shortly thereafter for viewing by registered students.

Course Web Site www.cise.ufl.edu/class/cen5035/fa14.html Syllabus Lecture Notes Practice Exams Exam Schedule Exercises Reading assignments Announcements Contact Information Recorded lectures and the course grade book are available to registered students via UF's “e-Learning in Sakai” at https://lss.at.ufl.edu

Getting Help E-Learning access assistance – contact: E-Learning Support Services: learning-support At ufl DOT edu phone: 352-392-4357 option 3 EDGE registration assistance – contact: UF EDGE, 352-392-9670

Steve Thebaut: smt AT cise DOT ufl DOT edu Getting Help (cont’d) course content–related help: Steve Thebaut: smt AT cise DOT ufl DOT edu phone: 352-505-1564

Textbook and Outside Readings SOFTWARE ENGINEERING, 9th Ed., by Ian Sommerville, Addison-Wesley, 2011... See “Readings” at website for assigned parts of Sommerville Chapters. One or more copies will be placed on reserve in Marston Science Library. Note that access to the 9th Edition is required. Recommended outside readings are also listed on-line.

Textbook and Outside Readings SOFTWARE ENGINEERING, 9th Ed., by Ian Sommerville, Addison-Wesley, 2011... See “Readings” at website for assigned parts of Sommerville Chapters. One or more copies will be placed on reserve in Marston Science Library. Note that access to the 9th Edition is required. Recommended outside readings are also listed on-line.

Lecture Topics Course Overview and Introduction to SE: professional software development, FAQs about SE, SE ethics, case studies Software Processes: process models (waterfall model, incremental development, reuse-oriented SE), process activities, coping with change (prototyping, incremental delivery, Boehm’s spiral model), the Rational Unified Process (RUP) Agile Software Development: agile methods, plan-driven development, XP, agile project management, scaling agile methods

Lecture Topics (cont’d) Software Requirements Engineering: functional vs. non-functional requirements, software requirements document, requirements specification, RE process, elicitation and analysis, validation, requirements management Architectural Design: architectural design decisions, views and patterns, application architectures Design and Implementation: OO design, design patterns, implementation issues, open source development

Lecture Topics (cont’d) Software Testing: development testing, test-driven development, release testing, user testing Software Evolution: evolution processes, program evolution dynamics, software maintenance, legacy system management Formal Specification: formal specification in the software process, sub-system interface (algebraic) specification, behavioral (model-based) specification Introduction to Proofs of Correctness: axiomatic verification, predicate transforms, functional verification

Lecture Topics (cont’d) Distributed Software Engineering: distributed systems issues, client-server computing, architectural patterns for distributed systems, software as a service Aspect-Oriented Software Engineering: separation of concerns, aspects, join points and pointcuts, V&V Software Project Management: management activities, project planning and scheduling, risk management Process Improvement: process and product quality, CMMI process improvement framework

Examinations and Grades Your course grade will be based SOLELY on four equally weighted 45-minute exams. (Please do NOT ask if there are additional things you can do to improve your grade.) The exams are designed to be comprehensive and challenging; students are not necessarily expected to complete all the exam problems. A histogram of numeric scores will be provided with solution notes for each exam; your course letter grade will be determined at the end of the semester.

Examinations and Grades (cont’d) Since exams vary in difficulty, the grading scale is not fixed in advance. Typical course grade distribution: A: 10-20% A-: 25-35% B+: 25-35% B: 10-20% lower than a B: 5-15%.

Exam Schedule (tentative) Exam 1: September 22 (September 22-23 for non-Gainesville area EDGE students), covers topics 1-4 (i.e., through Requirements Engineering, Chapters 1-4). Exam 2: October 15 (October 15-16 for non- Gainesville area EDGE students), covers topics 5-8 (i.e., Architectural Design through Software Evolution, Chapters 6-9).

Exam Schedule (cont’d) Exam 3: November 10 (November 10-11 for non- Gainesville area EDGE students), covers topics 9-10 (i.e., Formal Specification and Intro to Proofs of Correctness, Chapter 27). Exam 4: December 8 (December 8-9 for non- Gainesville area EDGE students), covers topics 11-14 (i.e., Distributed Software Engineering through Process Improvement, Chapters 18, 21, 22, and 26). Note: there is no (comprehensive) “final exam” for this course.

Exam Procedures for EDGE Students Proctors will be instructed to schedule a SINGLE EXAM TIME for all students at each site. If this is not possible for any reason, students must contact the instructor well in advance to discuss other arrangements. Proctors should return electronic copies of completed exams directly to the instructor via e-mail after administration.

Grading Errors General exam re-grade (fishing expedition) requests are NOT accepted. Suspected grading errors should be brought to my attention ASAP (but no later than two weeks after graded exams are made available for review) for appropriate consideration. Your original, UNALTERED, exam must be returned to me (together with a correction request form to be made available) by a specified deadline. Note that partial credit policies are not subject to debate.

Make-Up Exam Policy Students are expected to be available at scheduled exam times. Do NOT schedule conflicting elective activities (family gatherings, interview trips, vacations, etc.). If missing an exam is unavoidable (e.g., due to sickness, accident, or other reasons beyond your control), contact the instructor as far in advance as possible. (cont’d)

Make-Up Exam Policy (cont’d) Make-up exams, when permitted, may be administered orally. If it is not practical to administer a make-up exam before the end of the term, a course grade of "I" (incomplete) may be assigned.

Exercises Optional, self-check exercises (together with solution notes) are available on the course website. Pre- and Post-Condition Specification Exercises Axiomatic Verification Exercises† Predicate Transforms Exercises† Functional Verification Exercises† † Not intended for students who have already completed CEN 4072/CEN 6070, Software Testing & Verification.

Class Attendance Policy (on-campus students) Students are expected to view all recorded lectures and are responsible for any recorded announcement made in class. On-campus students are NOT required to attend live lectures.

Academic Integrity You will be asked to sign the following state-ment on the exams in this course: On my honor, I have neither given nor received unauthorized aid on this exam and I pledge not to divulge information regarding its contents to those who have not yet taken it. Note that a copy will be retained of all graded exams returned to students for review.

Other Items For info regarding: please see the course syllabus. Accommodation for Students with Disabilities, UF Counseling Services, UF Software Use Policies, and Instructor background, please see the course syllabus.

Questions?

Course Overview CEN 5035 Software Engineering Stephen M. Thebaut, Ph.D. University of Florida