Skip to main content
CIT432Sciences3 Unitsintermediate

Software Engineering

This course provides a comprehensive introduction to software engineering principles and practices. It covers the software development lifecycle, including requirements gathering, design, implementation, and testing. Students will learn about various software development models, design strategies, and quality assurance techniques. The course also explores formal methods, software maintenance, and the use of CASE tools to enhance software development processes. Emphasis is placed on creating reliable, efficient, and maintainable software systems.

Transform this course into personalized study materials with AI

120h
Study Time
13
Weeks
9h
Per Week
intermediate
Math Level
Course Keywords
Software EngineeringSDLCFormal MethodsSoftware TestingSoftware Design

Course Overview

Everything you need to know about this course

Course Difficulty

Intermediate Level
Builds on foundational knowledge
65%
intermediate
📊
Math Level
Moderate Math
🔬
Learning Type
Hands-on Practice

Course Topics

Key areas covered in this course

1

Software Development Life Cycle (SDLC)

2

Software Engineering Principles

3

Software Design Strategies

4

Software Testing Techniques

5

Software Quality Assurance

6

Formal Methods in Software Engineering

7

Software Maintenance and Evolution

8

CASE Tools and Programming Environments

Total Topics8 topics

Ready to Start

No specific requirements needed

This course is designed to be accessible to all students. You can start immediately without any prior knowledge or specific preparation.

Assessment Methods

How your progress will be evaluated (3 methods)

assignments

Comprehensive evaluation of course material understanding

Written Assessment

tutor-marked assignments

Comprehensive evaluation of course material understanding

Written Assessment

final examination

Comprehensive evaluation of course material understanding

Written Assessment

Career Opportunities

Explore the career paths this course opens up for you

Software Engineer

Apply your skills in this growing field

Software Developer

Apply your skills in this growing field

Software Tester

Apply your skills in this growing field

System Analyst

Apply your skills in this growing field

Software Architect

Apply your skills in this growing field

Industry Applications

Real-world sectors where you can apply your knowledge

Information TechnologyTelecommunicationsFinanceHealthcareAerospaceGovernment

Study Schedule Beta

A structured 13-week journey through the course content

Week
1

MODULE 1: Basic Concept of Software

2h

Unit 1: Computer Software

2 study hours
  • Read Unit 1: Understand the definition of computer software and its role in computer systems.
  • Differentiate between system software, programming software, and application software.
  • Complete Activity A: Differentiate between hardware and software.
Week
2

MODULE 1: Basic Concept of Software

2h

Unit 2: What is Software Engineering?

2 study hours
  • Read Unit 2: Define software engineering and its goals.
  • Explain the sub-disciplines of software engineering.
  • Complete Activity B: Explain the goals and principles of software engineering.
Week
3

MODULE 1: Basic Concept of Software

2h

Unit 3: History of Software Engineering

2 study hours
  • Read Unit 3: Trace the historical development of software engineering from 1968 to the present.
  • Understand the evolution of software engineering in terms of professionalism, impact of women, processes, and cost of hardware.
  • Complete Activity C: Discuss the current situation of software engineering.
Week
4

MODULE 1: Basic Concept of Software

2h

Unit 4: Software Engineer

2 study hours
  • Read Unit 4: Define who a software engineer is and their tasks.
  • Explain the technical and functional knowledge required of a software engineer.
  • Complete Activity D: Discuss the various tasks of a software engineer.
Week
5

MODULE 1: Basic Concept of Software

2h

Unit 5: Software Crisis

2 study hours
  • Read Unit 5: Define software crisis and its manifestations.
  • Explain the causes of the software engineering crisis and potential solutions.
  • Complete Activity E: Identify the major cause of the software crisis.
Week
6

MODULE 2: Software Development

2h

Unit 1: Overview of Software Development

2 study hours
  • Read Unit 1: Define software development and list its stages.
  • Understand the different approaches to software development and their suitability.
  • Complete Activity F: Discuss factors that determine the choice of approach in software development.
Week
7

MODULE 2: Software Development

2h

Unit 2: Software Development Life Cycle Model

2 study hours
  • Read Unit 2: Define software life cycle model and explain the general model.
  • Explain Waterfall, V-Shaped, Incremental, and Spiral Models.
  • Discuss the requirement and design phases.
Week
8

MODULE 2: Software Development

2h

Unit 3: Modularity

2 study hours
  • Read Unit 3: Define Modularity and differentiate between logical and physical modularity.
  • Explain the benefits of modular design and approaches of writing modular programs.
  • Complete Activity H: Outline the steps to create effective modules.
Week
9

MODULE 2: Software Development

2h

Unit 4: Pseudocode

2 study hours
  • Read Unit 4: Define Pseudo code and explain general guidelines for writing it.
  • Study examples of Pseudo codes.
  • Complete Activity I: Write a pseudo code to find the average of even numbers between 1 and 20.
Week
10

MODULE 2: Software Development

2h

Unit 5: Programming Environment, CASE Tools and Hipo Diagram

2 study hours
  • Read Unit 5: Explain Programming Environment and discuss CASE Tools.
  • Explain Hipo Diagrams.
  • Complete Activity J: Discuss the historical development of Case Tools.
Week
11

MODULE 3: Implementation and Testing

2h

Unit 1: Implementation

2 study hours
  • Read Unit 1: Define software Implementation and differentiate between the three types of errors.
  • Explain the application of Six Sigma to Software Implementation Projects.
  • Complete Activity K: Explain the Major Requirement in Implementation.
Week
12

MODULE 3: Implementation and Testing

2h

Unit 2: Testing Phase

2 study hours
  • Read Unit 2: Define software testing and explain testing methods.
  • Explain software testing process and testing tools.
  • Complete Activity L: Discuss the various testing methods.
Week
13

MODULE 3: Implementation and Testing

2h

Unit 3: Software Quality

2 study hours
  • Read Unit 3: Define Software Quality Assurance and explain the concept of standards and procedures.
  • Discuss Software Quality Assurance Activities.
  • Complete Activity J: Discuss Software Quality Assurance during the Software Acquisition Life Cycle.

This study schedule is in beta and may not be accurate. Please use it as a guide and consult the course outline for the most accurate information.

Course PDF Material

Read the complete course material as provided by NOUN.

Access PDF Material

Study Tips & Exam Preparation

Expert tips to help you succeed in this course

1

Review all units, focusing on key definitions and concepts.

2

Practice applying different software development models to case studies.

3

Create concept maps linking SDLC phases and their corresponding activities.

4

Practice writing pseudo-code for common algorithms and data structures.

5

Study examples of formal specifications and their corresponding implementations.

6

Review past TMAs and identify areas of weakness.

7

Allocate time for practice questions on software testing techniques.

8

Create flashcards for key terminology related to software engineering principles.

9

Focus on understanding the trade-offs between different design strategies.

10

Practice time management during mock exams to simulate exam conditions.

Related Courses

Other courses in Sciences that complement your learning