You are on page 1of 3

CSC 3202 : Software Engineering

COURSE CODE : CSC 3202


COURSE LEVEL : Year Three, Semester Two
Credit Units : 4

Course Description
Software projects can be very diverse in terms of size, complexity, products produced,
application area, and resource requirements. Software projects use diverse technologies that
change rapidly.
Early approaches used to build software were based on informal methodologies leading to delays
in software delivery, higher costs than initially estimated, and unreliable, difficult to maintain
software. Thus in order to build medium to large scale software systems that are of a reliable
quality, Software engineers must adopt a systematic approach to their work, use appropriate tools
and techniques, and employ best practices in project management, taking into account the
development constraints and the resources available. Software engineering is the discipline
concerned with the application of theory, knowledge, and practical skills to build medium to
large scale software systems in an effective and efficient ways that satisfy the requirements of
people who will be users of such systems. It encompasses all phases of the software life cycle
that includes requirement elicitation and specification, design, construction, testing, and
deployment and maintenance. This course will give an introduction to the principles software
engineers use to build medium to large scale software systems.
Course Objectives
By the end of the course, students will be able to;
1. Describe software engineering and its importance in building large programs;
2. Understand the process of developing new technology and the role of experimentation
3. Provide answers to key questions about software engineering
4. Develop an understanding of the ethical and professional issues, and explain why they are
of concern to software engineers.
Learning Outcomes
At the end of the course, students should be able to;
1. Apply software engineering theory, principles, tools and processes, as well as the theory
and principles of computer science and mathematics, to the development and
maintenance of complex, scalable software systems;
2. Design and experiment with software prototypes, and demonstrate software engineering
application domain knowledge;
3. Participate productively on software project teams involving the teams from a variety of
disciplines;
4. Evaluate the business and impact of potential solutions to software engineering problems
in a global society, using their knowledge of contemporary issues;
5. Apply appropriate codes of ethics and professional conduct to the solution of software
engineering problems.
Methods of delivery:
a) Lectures and Group discussions
b) Assignments
c) Practical sessions
Methods of Assessment

Detailed Content
Chapter One: Introduction to Software Engineering (3 Hours)
Chapter Two: Software Development Life Cycle (3 Hours)

Chapter Three: Software Requirements and Specifications (6 Hours)


Chapter Four: Software Design (9 Hours)
Chapter Five: Coding (3 Hours)
Mid semester exam (3 Hours)
Chapter Six: Testing (3 Hours)
Chapter Seven: Software Maintenance (3 Hours)
Chapter Eight: Software Tools and Environments (3 Hours)
Chapter Nine: Software Project Management best practices (3 Hours)
Chapter Ten: Revision (3 Hours)
Final Exam (3 Hours)
References
Sommerville I, 2004. Software Engineering. 8th Edition, Addison-Wesley, Harlow, Essex, UK
Stevens P. & Pooley R., 2000. Using UML: Software Engineering with Objects and
Components,
Addison-Wesley, Harlow, Essex, UK
Roger S. Pressman, 2004. Software Engineering: A Practitioner’s Approach, McGraw-Hill
Stephen T. Albin, 2003. The Art of Software Architecture: Design Methods and Techniques,
John Wiley & Sons

You might also like