BSc (Hons) Software Engineering Degree

BSc (Hons) in Software Engineering program is concerned with the development and maintenance of software systems that behave reliably and efficiently. This program is different in character from other engineering disciplines due to both the intangible nature of software and the discontinuous nature of software operation. Modules of this program seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible,physical artifacts.
Degree programs in software engineering have many courses. This program offers more about software reliability and maintenance and focus more on techniques for developing and maintaining software that is correct from its inception. The curriculum has been designed according to ACM/IEE international standard and it has been approved by University Grants Commission of Sri Lanka.

Curriculum Details

Semester 01

CS1013 Fundamentals of Programming
CS1022 Foundation of Computer Science
CS1032 Computer Systems Architecture
CS1043 Fundamentals of Databases
CS1052 Fundamentals of Visual Computing
CM1012 Probability and Statistics
CM1022 Engineering Mathematics
DL1172 Basic Study Skills in English for
COE1993 Group Project in Hardware
MS1014 Military Studies

Semester 02

CS1062 Developments in Mathematics & Sciences
CS1073 Object Oriented Programming I
CS1082 Web Development
CS1092 Computer Networks I
EE1102 Fundamentals of Electrical Engineering
ET1102 Basic Electronics
CM1032 Discrete Mathematics
COE1993 Group Project in Hardware
MS1024 Military Studies

For more details : Semester 1 – 2

Semester 03

CS2013 Data Structures and Algorithms
CS2022 Operating Systems
CS2032 Object Oriented Programming II
CS2042 Computer Networks II
CS2052 Requirement Engineering
EE2122 Electronics System
CM2013 Calculus & Numerical Methods
CS2993 Group project in Software Development
MS2044 Military Studies


Semester 04

CS2062 Data Structures and Algorithms II
CS2072 Advance Computer Architecture & Organization
CS2082 Artificial Intelligence
SE2012 Software Project Management
SE2022 Software Process Engineering
CM2022 Statistical Distributions and Inference
EE2222 Computer Interfacing & Microprocessors
CS2993 Group project in Software Development
MS2024 Military Studies

For more details : Semester 3 – 4

Semester 05

SE3012 Engineering Foundation for Software
SE3022 Software Modeling
SE3032 Software Construction Technologies and Tools
SE3042 Software Design and Architecture
CS3012 Human Computer Interaction
CS3052 Essentials of Computer law
CS3023 Advanced database and Big Data Analytics


Elective Modules (One Module)

CS3092 Computer & Network Security
CS3042 Image Processing & Computer Vision
CS3062 Research Methodlogy
CS3072 Logic Programming
CS3082 Mobile Computing



Semester 06

SE3052 Engineering Economics for Software
SE3062 Software Verification and Validation
SE3072 Software Process
CS3162 Social Aspects of Computing
SE3992 Independent Study



Elective Modules (Four Modules)

CS3172 Digital Forensic
CS3112 Computer Graphics & Visualization
CS3122 Automata Theory
CS3152 Information Security
CS3132 High Performance Computing
CS3142 Complex Systems and Agent Technology

For more details : Semester 5 – 6

Semester 07

SE4012 Formal Methods and Software verification
SE4022 Software Evolution
SE4032 Software Quality
SE4999 Individual Research Project


Elective Modules (Four Modules)

CS4012 Emerging Trends in Computing
CS4022 Theory of Programing Languages
CS4032 Natural Language Processing
CS4062 Artificial Cognitive Systems
CS4052 Compilers Design
CS4082 Semantic web & Ontology
CS4092 Distributed Systems
CM4012 Advanced topics in Statistics


Semester 08

SE4996 Industrial Training

For more details : Semester 7 – 8