CPE 405
Fundamentals of Software Engineering
2
Course Description
Upon successful completion of this course, the student should be able to:
1. identify, formulate, and solve software engineering problems,
including the specification, design, implementation, and testing of software
systems that meet specification, performance, maintenance and quality
requirements;
2. elicit, analyse and specify software requirements through a productive
working relationship with various stakeholders of a software development project;
3. function effectively as a team member;
4. understand professional, ethical and social responsibility of a software
engineer;
5. participate in design, development, deployment and maintenance of a medium scale
software development project;
6. convey technical material through oral presentation to, and interaction
with, an audience;
7. convey technical material through written reports which satisfy
accepted standards for writing style;
8. use Unified Modeling Language in software specification documents; and
9. evaluate the impact of potential solutions to software engineering
problems in a global society, using the knowledge of contemporary issues and merging
software engineering trends, models, tools, and techniques.
Course Outline
Introduction to software engineering fundamentals; object-oriented programming; number
representations; data structure and algorithms, Abstraction, modules and objects; designing
for efficiency; object-oriented software design and implementation.