Course

Course Summary
Credit Type:
Course
ACE ID:
SAYA-0018
Organization's ID:
CS302
Organization:
Location:
Online
Length:
Self-paced (97 hours)
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 Computer Science, Computer Information Systems, or Information Technology
Description

Objective:

The course objective is to present software engineering concepts and principles in parallel with the software development life cycle, and to present software engineering as a body of knowledge. Students will master software engineering concepts, principles, and essential processes of the SDLC; and demonstrate that knowledge by creating UML artifacts for requirements gathering, analysis, and design phases using an object-oriented methodology.

Learning Outcomes:

  • Use software engineering principles
  • Compare and contrast software development models
  • Participate as an individual to deliver quality software systems
  • Demonstrate mastery of software engineering knowledge, skills, and professional issues necessary to practice software engineering
  • Create major activities and key deliverables in a software development life cycle during software requirements and analysis, software design, and software testing
  • Apply the object-oriented methodology in software engineering to create UML artifacts for software analysis and requirements, software design, and software testing
  • Apply project management concepts in a software engineering environment to manage projects, people, and products

General Topics:

  • Introduction to software engineering
  • History
  • Differences between software engineering and computer science
  • Applications
  • Quality
  • Methodologies
  • Code of ethics and professional practice
  • Software development life cycle models
  • The SDLC
  • Sequential and iterative models
  • Software modeling
  • Object-oriented concepts
  • UML
  • Use-case, state, class, activity, and interaction diagrams
  • Modeling concepts
  • UML2.0
  • Software requirements gathering
  • Data types
  • Requirements and techniques
  • Data collection and application types
  • Software requirements analysis
  • Fundamentals
  • Requirements activities
  • Methodologies (process-oriented, data-oriented, object-oriented)
  • Software design
  • Principles (information hiding, cohesion, coupling)
  • Architectural design
  • Approaches (process-oriented, data-oriented, object-oriented)
  • Implementation
  • History of programming
  • Choosing implementation languages
  • Purchasing hardware and software
  • Software testing
  • Terminologies
  • Strategies
  • Test coverage
  • Project management and change management
  • A case study with preparation, design modification, and quality control
Instruction & Assessment

Instructional Strategies:

  • Audio Visual Materials
  • Case Studies
  • Computer Based Training
  • Lectures
  • Practical Exercises

Methods of Assessment:

  • Examinations

Minimum Passing Score:

70%
Supplemental Materials