Skip to main content
NC State Home

CSC 326 – Software Engineering

Catalog Description:

Application of software engineering methods to develop complex products, including the following skills: quality assurance, project management, requirements analysis, specifications, design, development, testing, production, maintenance, security, privacy, configuration management, build systems, communication, and teaming.

Contact Hours:

  • Lecture: 3 hours
  • Lab: 2 hours

Prerequisites: [CSC230 or ECE209] and [CSC316 or ECE309]
Co-requisites: None
Restrictions: None
Coordinator: Dr. Kathryn Stolee
Textbook: An Introduction to Software Engineering

Course Outcomes:

Upon successful completion of this course, a student will be able to:

  1. create a software requirements document
  2. identify, create, and explain different software designs through metrics and heuristics
  3. write, execute, and automate a comprehensive test plan and conduct a software quality inspection
  4. identify and explain security and privacy of software
  5. explain and demonstrate software development processes and project management
  6. contribute as an effective member on a team to evolve and maintain a complex software project
  7. describe cross-cutting software concerns, including information management, HCI, accessibility, and the societal impact of software

Topics:

  • Requirements
  • User Stories
  • Use Cases
  • Testing
  • Design
  • Architecture
  • Databases
  • HCI
  • REST
  • Software Inspection
  • Risk Management
  • Software lifecycle
  • Privacy and Security
  • Software Metrics
  • Software Patterns
  • Performance