CSE 2410 Introduction to Software Engineering

Catalog Data: CSE 2410 Introduction to Software Engineering (3 credits). Presents a basis for the integration of engineering rigor and software development. Students are shown a practical yet rigorous method of going from a problem concept to a software solution. Includes requirements specification, functional specification and coding techniques using information hiding and stepwise refinement. Prerequisites: CSE 2010 or ECE 2552.

Prerequisites by Topic: Fluency in a higher level programming language, knowledge of data structures and algorithms.

Required Textbook: V. Rajlaich, “Software Engineering: The Current Practice” CRC press. ISBN 978-1-4398-4122-8.

Recommened: “1001 Ways to Take Initiative at Work” Workman Publishers. ISBN 076111405X.


Title IX of the Educational Amendments Act of 1972 is the federal law prohibiting discrimination based on sex under any education program and/or activity operated by an institution receiving and/or benefiting from federal financial assistance. Behaviors that can be considered “sexual discrimination” include sexual assault, sexual harassment, stalking, relationship abuse (dating violence and domestic violence), sexual misconduct, and gender discrimination. You are encouraged to report these behaviors. Reporting: Florida Tech can better support students in trouble if we know about what is happening. Reporting also helps us to identify patterns that might arise – for example, if more than one complainant reports having been assaulted or harassed by the same individual. Florida Tech is committed to providing a safe and positive learning experience. To report a violation of sexual misconduct or gender discrimination, please contact Security at 321-674-8111. Please note that as your professor, I am required to report any incidents to Security or to the Title IX Coordinator (321-674-8700). Confidential support for students is available by contacting the Student Counseling Center at 321-674-8050.

Course Learning Outcomes: The student will be able to

  1. Understand process improvement and learning from previous mistakes

  2. Identify appropriate life-cycle models for software engineering as well as their pros and cons

  3. Understand project planning and management including effort estimation, risk analysis and personnel

  4. Use design notations to analyze and design systems

  5. Describe design architectures and the necessity for information hiding

  6. Employ different strategies for testing software

  7. Discuss professional and ethical issues of software engineering

  8. Practice software engineering with a small group project

Topics Covered and Associated Time:

  1. The engineering process

  2. Feasibility, requirements, life-cycles

  3. Estimation, project management, risk analysis

  4. Design I -Abstraction, Information hiding, coupling, cohesion

  5. Implementation Coding standards, stepwise refinement, reviews

  6. Testing I -Testing methods, Integration, [some] metrics

  7. Quality -CCM, ISO9001, debugging, fault analysis

  8. Maintenance and eveloution-Problem reporting, ethical issues

  9. Management -Problem solving, teams, staffing, motivation

  10. Software tools -The future of software engineering, being a good developer

  11. Project reviews

  12. Revisions

Class/Lab/Recitation Schedule: Three 50-minute or two 75-minute lectures per week.

Contribution of Course to Meeting the Professional Component: 3 semester hours of engineering science and design.

Class grading and administrative policies discussed in a separate document.