Software Engineering
- Sciences
- 300 level
- 2 credit units
- 113 pages
- 14 units
This course provides an understanding of Software Engineering principles and practices. It covers the software development lifecycle, including requirements gathering, design, implementation, testing, and maintenance. Students will learn about various software development models, modularity, and quality assurance techniques. The course also explores the historical context of software engineering and the roles of software engineers in addressing software crises and ensuring compatibility.
About this course
- Difficulty
- Intermediate
- Study hours
- 150 hours
- Maths
- Basic
- Content
- Theoretical, case study
- Practical work
- No
- Assignments
- Tutor marked assessments
- Final examination
What you'll read
The real module and unit structure of CIT333, taken from the course material NOUN publishes.
One paragraph, so you can see how it reads
CIT333 · Unit 1: Computer software
Computer software is a general name for all forms of programs. A program itself is a sequence of instruction which the computer follows to perform a given task.
What you should be able to do
- Explain the basic concepts of software engineering
- Describe the different phases of the software development lifecycle
- Apply modular design principles to software development
- Implement software testing and quality assurance techniques
- Understand the historical context of software engineering
- Identify and address software crises
What it prepares you for
- Software Developer
- Software Engineer
- Quality Assurance Engineer
- System Analyst
- Software Architect
- Information Technology
- Software Development
- Telecommunications
- Financial Services
- Healthcare
- CASE Tools
- Debuggers
- Testing Tools
- Integrated Development Environments (IDEs)
Where it gets hard
The units students slow down on, and what makes each one heavy.
- Module 2: Software Development
Unit 2: Software Development Life Cycle Model
The numerous software lifecycle models and their variations require careful comparison and understanding of their trade-offs.
- Module 2: Software Development
Unit 3: Modularity
Understanding the nuances of cohesion and coupling and applying them effectively in modular design requires significant practice.
- Module 3: Implementation and Testing
Unit 2: Testing Phase
Requires a comprehensive understanding of various testing methodologies and their application in different scenarios.
A suggested way through it
13 weeks, about 69 hours in total. Yours will differ.
- Week 1Module 1: Basic concept of Software
Unit 1: Computer Software · 4 hours
Read Unit 1: Understand the definition of computer software and its types.. Differentiate between system, application, and programming software.. Complete Activity A and Tutor Marked Assignment..
Unit 2: What is Software Engineering? · 4 hours
Read Unit 2: Define software engineering and its goals.. Explain the principles of software engineering.. Complete Activity B and Tutor Marked Assignment..
- Week 2Module 1: Basic concept of Software
Unit 3: History of Software Engineering · 5 hours
Read Unit 3: Explain the historical development of software engineering.. Focus on the pioneering era and the software crisis.. Complete Activity C and Tutor Marked Assignment..
- Week 3Module 1: Basic concept of Software
Unit 4: Software Engineer · 5 hours
Read Unit 4: Define a software engineer and their tasks.. Explain the technical and functional knowledge required.. Complete Activity D and Tutor Marked Assignment..
- Week 4Module 1: Basic concept of Software
Unit 5: Software Crisis · 5 hours
Read Unit 5: Define the software crisis and its manifestations.. Explain the causes and solutions to the crisis.. Complete Activity E and Tutor Marked Assignment..
- Week 5Module 2: Software Development
Unit 1: Overview of Software Development · 4 hours
Read Unit 1: Define software development and list its stages.. Understand the different approaches to software development.. Complete Activity F and Tutor Marked Assignment..
- Week 6Module 2: Software Development
Unit 2: Software Development Life Cycle Model · 6 hours
Read Unit 2: Define software life cycle model.. Explain the general, waterfall, V-shaped, incremental, and spiral models.. Discuss the requirement and design phases.. Complete Activity G and Tutor Marked Assignment..
- Week 7Module 2: Software Development
Unit 3: Modularity · 5 hours
Read Unit 3: Define modularity and differentiate between logical and physical modularity.. Explain the benefits of modular design.. Complete Activity H and Tutor Marked Assignment..
- Week 8Module 2: Software Development
Unit 4: Pseudo code · 4 hours
Read Unit 4: Define pseudocode and its guidelines.. Practice writing pseudocode for simple tasks.. Complete Activity I and Tutor Marked Assignment..
- Week 9Module 2: Software Development
Unit 5: Programming Environment, CASE Tools and Hipo Diagram · 5 hours
Read Unit 5: Explain programming environments and CASE tools.. Discuss HIPO diagrams and their components.. Complete Activity J and Tutor Marked Assignment..
- Week 10Module 3: Implementation and Testing
Unit 1: Implementation · 5 hours
Read Unit 1: Define software implementation and differentiate between error types.. Explain Six Sigma application and major tasks in implementation.. Complete Activity K and Tutor Marked Assignment..
- Week 11Module 3: Implementation and Testing
Unit 2: Testing Phase · 5 hours
Read Unit 2: Define software testing and explain testing methods.. Discuss the software testing process and tools.. Complete Activity L and Tutor Marked Assignment..
- Week 12Module 3: Implementation and Testing
Unit 3: Software Quality Assurance (SQA) · 4 hours
Read Unit 3: Define Software Quality Assurance (SQA) and explain standards and procedures.. Discuss SQA activities and relationships.. Complete Activity J and Tutor Marked Assignment..
- Week 13Module 3: Implementation and Testing
Unit 4: Compatibility · 4 hours
Read Unit 4: Define compatibility testing and explain its usefulness.. Understand browser compatibility testing.. Complete Activity K and Tutor Marked Assignment..
Unit 5: Software verification and validation · 4 hours
Read Unit 5: Define software verification and validation.. Outline the methods of verification and validation.. Complete Activity L and Tutor Marked Assignment..
Preparing for the exam
- Create a study schedule allocating specific time for each module and unit.
- Review all Tutor-Marked Assignments (TMAs) and their solutions.
- Focus on understanding the different software development lifecycle models and their applications.
- Practice writing pseudocode for various programming problems.
- Create concept maps linking the different testing methods and their purposes.
- Pay close attention to the definitions and applications of software quality assurance principles.
- Review the historical context of software engineering and the software crisis.
- Understand the roles and responsibilities of a software engineer.
- Practice identifying and addressing potential compatibility issues in software development.
- Review the key concepts of modularity and its benefits in software design.
Questions students ask about this course
What is CIT333 about?
This course provides an understanding of Software Engineering principles and practices. It covers the software development lifecycle, including requirements gathering, design, implementation, testing, and maintenance. Students will learn about various software development models, modularity, and quality assurance techniques. The course also explores the historical context of software engineering and the roles of software engineers in addressing software crises and ensuring compatibility.
How many units does CIT333 have?
CIT333, Software Engineering, has 14 units across 3 modules, over 113 pages of course material. You can read it one unit at a time.
How many credit units is CIT333?
CIT333 carries 2 credit units, at 300 level in Sciences.
Is CIT333 hard?
CIT333 is rated intermediate level, with basic mathematical content. It is mostly theoretical and case study work.
How long does CIT333 take to study?
About 150 hours of study, spread across its 14 units.
How is CIT333 assessed?
CIT333 is assessed by assignments, tutor marked assessments and final examination.
What can I do with CIT333?
Software Developer, Software Engineer, Quality Assurance Engineer, System Analyst and Software Architect.