SE 3540 : Introduction to Software Engineering

SE 3540: Introduction to Software Engineering

Semester Hours:   3.0
Contact Hours:    3
Coordinator:   Robert Green
Text:   Head First Software Development
Author(s):   DAN PILONE AND RUSS MILES
Year:   2007

SPECIFIC COURSE INFORMATION

Catalog Description

Overview of software engineering as a discipline. Software life-cycle models and phases of the software development process. Introduction to Human Computer Interaction (HCI), user-centered development, teams and project management. Prerequisite: Grade of C or better in CS 2020.

Course type: REQUIRED

SPECIFIC COURSE GOALS

  • I can understand key terms used when analyzing human interaction with software.
  • I can analyze, specify and document software requirements for a software system.
  • I can understand user interface design standards.
  • I can express and understand the importance of professional ethics, etiquette, and communication in a software development environment.
  • I can develop alternative design solutions to a given problem and recommend the best one within limitations of cost, time, knowledge, existing systems, and organizations.
  • I can apply the process of project initiation, planning, execution, and management.
  • I can analyze and compare various software development lifecycle methods that include requirements analysis, design, implementation, testing and maintenance.

COMPUTER SCIENCE STUDENT OUTCOMES ADDRESSED BY THIS COURSE

  • CS 1 Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions
  • CS 4 Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles
  • CS 5 Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline
  • CS 6. Apply computer science theory and software development fundamentals to produce computing-based solutions

SOFTWARE ENGINEERING STUDENT OUTCOMES ADDRESSED BY THIS COURSE

  • SE 1 An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  • SE 2 An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  • SE 4 An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgements, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
  • SE 5 An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
  • SE 6 An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  • SE 7 An ability to acquire and apply new knowledge, as needed, using appropriate learning strategies

LIST OF TOPICS COVERED

  • Software Processes and Models
    • Software engineering concepts
    • SDLC, Process model
    • Agile Software Development
  • Planning and Requirements Analysis
    • User and/or system requirements
    • Effort estimation
  • Design and Development Methodologies
    • Human and Computer Interaction and Design
    • Team design
    • Architecture and design patterns
    • Internal and external design factors
    • Coding methods and guidelines
  • Documentation, Testing and Evaluation
    • Standards and best practices
    • Testing methods
    • Assurance and acceptance criteria
    • Reliability and performance
  • Project Management
    • Resources and configuration control
    • Risk analysis
    • Product integration
    • Best practices
    • Release management and source control

Information Management (related) Topic

Description

Textbook Reference

Class Hours Estimate

*Version Control Systems

How to organize files/folders for software development, notion of local vs remote repositories, merging, branching, etc.

Ch 61

2

*UML

Show modeling object-oriented classes using UML class diagram notation, including modeling relationships between classes; representation of collaborating objects using UML sequence diagrams

Ch 3, 4, & 52

2

Relational database tables and simple queries

When introducing class diagrams, can also show how the data could be represented in a table structure. Show parallels between classes relationships (aggregation/composition) and table relationships. Show very simple SELECT queries for accessing data from relational tables.

None

<1

1Textbook: Head First Software Development, by Miles and Pilone

2Textbook: UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition, by Martin Fowler

Updated: 12/15/2025 04:47PM