BSc (Hons) Software Engineering (New Yearly Programme - FT) E320

1. Objectives Information and Communication Technology (ICT) sector being one of the most knowledge-intensive branches of the economy, there is demand for human resource in the software engineering discipline in both the public and private sectors. Software engineering is a field that deals with high-level designs and solutions that guide the development of specific software projects or products. The programme has been tailor-made to produce graduates who are proficient in developing software according to Industry standards, in terms of methodologies and technologies. The course provides students with both theoretical knowledge and practical skills in areas such as software development, integration & testing and software project management. Graduates will possess the engineering skills required to design and implement software systems. The scheme of study offers graduates essential technical and soft skills to seamlessly make the transition from University to the software development industry and adapt to a professional environment.

The programme is in line with international recommendations of computing curricula for Undergraduate Degree Programs in Software Engineering and designed in collaboration with software industry.

2. General Entry Requirements As per General Entry Requirements for Admission to the University for Undergraduate Degrees. 3. Programme Requirements At least 2 GCE ‘A’ level Passes including Mathematics. 4. Minimum Requirements for Awards (i) Degree Award For the degree award in BSc (Hons) Software Engineering, the student must obtain at least 105 credits including: Modules Minimum Credits for Core Modules (Departmental) Minimum Credits for Electives (Departmental) Minimum Credits for Core Modules (Non Departmental) Final Year Project TOTAL Credits 66 24 6 9 105

1

normally at the beginning of the academic year as specified by the Faculty. Continuous assessment may be based on laboratory work. A student may opt for a Diploma in Software Engineering.40% of overall percentage mark of the module. Yearly modules to be registered for only once at the start of the module. Credits per Year Maximum 48 credits. the assessment of Diploma project CSE 2000(3) will be based on project report. 7. 7. Assessment will be based on written examination and continuous assessment.1 Continuous and written assessment of modules Each module will be assessed over 100 marks (expressed as %). seminars and/or assignments and should include at least one class test per semester. The written examination will be of 3 hour duration for yearly modules carrying 6 credits. Programme Duration Normal (Years) 3 Maximum (Years) 5 Degree: 6. 5.2 Final Year Project The assessment of final year project CSE 3000(5) will be based on the written dissertation. an overall minimum of 40% should be attained in that module. For a student to pass a module.(ii) Diploma Award The diploma is provided as a possible exit point in the programme.3 Diploma Project For a student exiting at Diploma Level. by making a written request. Written examinations for the yearly modules will be carried out at the end of the academic year. subject to section 5. Minimum 6 credits. provided he/she satisfies the requirements. Assessment 7. 2 . as per University regulations. as per University regulations. as per University regulations. The continuous assessment will count for a range 30 . presentation and software/system demo. 7. software/system demo and presentation by the student.

the CPA is less than 40 at the end of an academic year and the student has already repeated one year of study. However. Departmental CSE 3023Y(5) CSE 3037Y(5) CSE 3039Y(5) CSE 3040Y(5) CSE 3052Y(5) CSE 3088Y(5) Web Frameworks and Patterns Software Project Management Software Metrics Network Technologies Software Requirements & Management Software Security Hrs/Week L+P 2+2 3+0 3+0 2+2 3+0 2+2 Credits 6 6 6 6 6 6 Note: The University reserves the right not to offer a given elective module if the critical number of students is not attained and/or for reasons of resource constraints. Patterns And Practices Final Year Project Hrs/Week L+P 3+0 2+2 2+2 2+2 3+0 3+0 2+2 2+2 3+0 3+0 2+2 3+0 2+2 Hrs/Week L+P 3+0 Credits 6 6 6 6 6 6 6 6 6 6 6 6 6 9 Credits 6 ELECTIVE MODULES Students choose any Two of the listed electives. if s/he wishes. Students are allowed to repeat (a year) only once over the entire duration of the Programme of Studies. s/he will not be required. s/he will have to repeat the entire academic year. List of Modules CORE MODULES Departmental CSE 1009Y(1) CSE 1011Y(1) CSE 1012Y(1) CSE 1013Y(1) CSE 1014Y(1) CSE 1016Y(1) CSE 2014Y(3) CSE 2015Y(3) CSE 2016Y(3) CSE 2017Y(3) CSE 2018Y(3) CSE 3025Y(5) CSE 3026Y(5) CSE 3000(5) Non-Departmental MGT 1067Y(1) Principles and Practice of Management Software Engineering and Computing Software Analysis and Modelling Database Systems Software Programming Discrete Mathematics for Software Engineering Communication and Business Skills for IT Data Structures and Algorithms Object-Oriented Software Development Software Process and Design Software Quality Assurance Software Verification and Validation Software Configuration Management and Best Practices Agile Principles. Registration of a student will be terminated if: i. Specific Regulations If Cummulative Point Average (CPA) of a student is less than 40%. 3 . to retake modules for which Grade C or above has been obtained. or ii. and retake the modules as and when offered. the maximum duration allowed for completion of the Programme of Studies has been exceeded. 9.8.

Programme Plan – BSc (Hons) Software Engineering Year 1 Semester 1 & 2 Module Code CORE CSE 1009Y(1) CSE 1011Y(1) CSE 1012Y(1) CSE 1013Y(1) CSE 1014Y(1) CSE 1016Y(1) Module Name Software Engineering and Computing Software Analysis and Modelling Database Systems Software Programming Discrete Mathematics for Software Engineering Communication and Business Skills for IT Year 2 Semester 1 & 2 Module Code CORE CSE 2014Y(3) CSE 2015Y(3) CSE 2016Y(3) CSE 2017Y(3) CSE 2018Y(3) MGT 1067Y(1) Module Name Data Structures and Algorithm Object-Oriented Software Development Software Process and Design Software Quality Assurance Software Verification and Validation Principles and Practice of Management Year 3 Hrs/Week L+P 2+2 2+2 3+0 3+0 2+2 3+0 Credits 6 6 6 6 6 6 Total = 36 Hrs/Week L+P 3+0 2+2 2+2 2+2 3+0 3+0 Credits 6 6 6 6 6 6 Total = 36 Semester 1 & 2 Module Code CORE CSE 3000(5) CSE 3025Y(5) CSE 3026Y(5) ELECTIVES CSE 3023Y(5) CSE 3037Y(5) CSE 3039Y(5) CSE 3040Y(5) CSE 3052Y(5) CSE 3088Y(5) Module Name Final Year Project Software Configuration Management and Best Practices Agile Principles.10. Outline Syllabus 4 . Patterns And Practices Choose Two (2) modules from: Web Frameworks and Patterns Software Project Management Software Metrics Network Technologies Software Requirements & Management Software Security Hrs/Week L+P 3+0 2+2 Credits 9 6 6 2+2 3+0 3+0 2+2 3+0 2+2 6 6 6 6 6 6 11.

Simple Programming Constructs. Requirements Elicitations. Proof Techniques. Software Design. Web Design.SOFTWARE ANALYSIS AND MODELLING – (L/P . Decision Structures. Functional Dependencies and Normalization. Software Processes. Sequences and Counting. Data Models. Repetition Structures. Introduction to Software Engineering Concepts.DATABASE SYSTEMS (L/P .System Analysis and Design Techniques (Process Modeling (DFDs).SOFTWARE ENGINEERING AND COMPUTING (L . Database Users. Social Context of Computing.6) Database System Concepts and Architecture. Relations. Hypertext Markup Language. Database Basics. Object Oriented Modeling (UML. Variables.6) System Development Life Cycle . Software Versioning Tools and Standards. Stored Procedures and Optimisation. PERT Chart) CSE 1012Y(1) . Mathematical models and specification languages. Indexing Structures. Overview of Operating Systems. Set Theory. Use of sessions. Note: Pre-requirement (PQ). Use Cases). Introduction to Distributed Databases. Expectation and Variance. Basic File Structures and Hashing. Decision Table.6) History of Computing. Data Modeling using the Entity-Relationship Model. A student will be allowed to follow module y of which module x is a pre-requirement (PQ) provided s/he has followed module x and sat for the examination in module x. Introduction to the World-Wide Web. Relational Data Model. Analysis of Requirements) . Data Types. Relational Algebra and Calculus. Data Mining Concepts. Arrays.Analysis and Design Concepts and Terminologies . Functions. Discrete Maths Tools.DISCRETE MATHEMATICS FOR SOFTWARE ENGINEERING (L – 6) Logic. Software Evolution. Introduction to Web Programming. YEAR 1 CSE 1009Y(1) . Introduction to Net-Centric Computing. Overview of Data Warehousing and OLAP. Mappings.The outline syllabus is not prescriptive and is intended to serve as a guide only. Finite state machines. Cascaded Style Sheets. High Level Design (HLD). Graph Database. Software Testing and Maintenance. Grammars. Structured English). Abstract Algebra. 5 . Software Implementation. Database Manipulation for the Web. Client Side and Server Side Scripting. Discrete Probability Distributions. Probability and Introductory Statistics.Process ModelsRequirements Analysis (Functional and Non-Functional Requirements. Software Project Management CSE 1011Y(1) . CSE 1013Y(1) – SOFTWARE PROGRAMMING (L/P – 6) Programming Concepts. Graph algorithms. Requirements Engineering. Project Management Tools (Gantt Chart. Graphs and Trees. Logical Modeling (Decision Tree. Application Software. Concurrency Control and Locking. Data Structures. Transaction Processing Concepts. Relational Database Design. CSE 1014Y(1) .

Professional Ethics. Memos. Business Reports.COMMUNICATION AND BUSINESS SKILLS FOR IT (L . Presentation Skills. Develop Communication Skills and Interpersonal Skills.CSE 1016Y(1) . Preparing Tenders and Contract. Marketing Skills. Team Coordination.6) Develop the Writing Skills of Students (Mails. Negotiation Skills. Technical Reports). Customer Management. Project Reports. 6 . Training(Technical And Non-Technical) Legal And Ethical Issues.

Prototyping) CSE 2017Y(3) . Problem Partitioning and Hierarchy. Modularity . Use of Interfaces and Abstract Classes. Multiset. Creation of Deployment Packages. Documenting V&V Strategy. Weighted Graph Algorithms CSE 2015Y(3) – OBJECT-ORIENTED SOFTWARE DEVELOPMENT (L/P – 6) (PQ: CSE 1013Y) Fundamental OO Concepts. List. Queue. Problem Solving Techniques. String. Components of a Software Quality Assurance System. Incremental Models.SOFTWARE QUALITY ASSURANCE (L . Multiple Types of Cohesion in a Module. Human Computer User Interface Testing and Evaluation. Formal Methods). Top-Down and Bottom-Up Strategies . Integrating Quality Activities in the Software Life Cycle. Software Quality Metrics. The Future of Software Quality Assurance CSE 2018Y(3) .6 ) V&V Terminology and Foundations. Algorithm Analysis (including Recurrence Relations). String Manipulation and Regular Expressions. Stack. Metrics & Measurement. Strategies.6) Software Quality Challenge and Factors. Using Java to Manage Database and Files. Introduction to Generic Classes. Design Fundamentals (Objectives. Procedures & Work Instructions. Searching and Sorting Algorithms. 7 . System Models. Designing with Patterns . etc). Defect Analysis.DATA STRUCTURES AND ALGORITHMS (L/P .SOFTWARE PROCESS & DESIGN (L . Generalisation. Map/Associative Array/Dictionary. Composition.SOFTWARE VERIFICATION AND VALIDATION (L/P . Procedural Design) . Project Progress Control. Quality of Software Maintenance Components and External’s Participants Contributions. Planning the V&V effort. CSE 2016Y(3) . Hashing). Composite Types. Documentation Control. Converting Modelled Class Diagrams to Java Classes. Set. Object Modelling. Reviews. Regression Testing. Coupling . Priority Queue. Debugging/Fault Isolation Techniques. Multimap. Problem Analysis and Reporting. Creating Use Cases Based on Requirement Specification.YEAR 2 CSE 2014Y(3) . Design Processes and Strategies. Stepwise Refinement – Incremental Design. Building Models. Testing using the JUnit Framework. Abstract Data Types (Container. Tree. Java Basics. Data Design . GUI Development. Black-Box Functional Testing Techniques. Operational Profile-Based Testing. Test Automation and Tools. Testing. Abstraction. Types of Classes. System and Acceptance Testing. Deque. Reviews. CASE Tools. Contract Review. Exception Handling.6) (PQ: CSE 1013Y) Introduction to Data Types (Primitive Types. Design by Template. Quality Management Standards. Problem Tracking. Coding Different Types of Relationships in Java (Aggregation. Software Testing Strategies & Implementation. Cohesion. Coverage Analysis and Structure Based Testing. Viewpoints). Design Patterns. Integration Testing. Testing Tools. Architecture Concepts ( Design Methods. Graph. Structured Design (Design Principles . Java Design Patterns. Rationale for Methods . Development and Quality Plans. Configuration Management.6) Software Process Models (Linear Sequential Models. Optimisation Algorithms.

Leading. Extreme Programming. YEAR 3 CSE 3000(5) . Managing Groups and Teams: Group behaviour. CM Roles. Management Concepts. Memento. Diversity. Open-Closed Principle.PRINCIPLES AND PRACTICE OF MANAGEMENT (L – 6) The Study of Organisations. Interface Segregation Principle. Planning in the Agile Environment. Practical Application Project Based on Agile Methods. Web Frameworks. Evolution of Management Theory. Annotations and Reflection. Planning for CM. Performance Tuning. Refactoring. Decoupling Codes. ELECTIVES CSE 3023Y(5) .6) Managing Configuration Management (CM). Managerial Skills. Separation of Concerns. Source Code Management. Configuration Change Management. Testing in the Agile Environment. New Structural Forms of Communications. Dependency-Inversion Principle. Integrating Web Services. Configuration Control. Downsizing. It will include analysis. Configuration Verification And Audit. Controlling Time and Cost Through Project Management. Configuration Status Accounting. Active Record Patterns. CM Measures and Measurement. Agile Requirements. Power and Politics. implementation and testing of software and a written report that describes the work. Ethics and Social Responsibility. Conflict and Co-operation. In-Process Audits For CM. CM Plan. The Managerial functions of Planning.MGT 1067Y(1) . Managing Individuals in Organisations: Managing Differences. Restructuring.FINAL YEAR PROJECT Students will work on an individual or group project on software development. Software Release and Planning. The MVC Architectural Pattern. Controlling. Change.AGILE PRINCIPLES. Knowledge Management. UML for Web. Agile Estimating and Velocity. Test Anatomy. Constraints and Guidance of CM. CM Activities.6) (PQ: CSE 2016Y) Agile Methodologies for Software Development. Design Patterns for the Web Strategy. Configuration Identification. 8 . PATTERNS AND PRACTICES (L/P . The User Story Technique. Scalability and Maintenance. Agile Design-Single Responsibility Principle. CM Process Model. Observer. Acceptance Tests. The Environment of Organisations.. Scenario Tests. Liskov Substitution Principle. CM for Agile Teams. Comet and Web Hooks. Agile Programming Practices. CM Automation. CORE CSE 3025Y(5) . CSE 3026Y(5) . Job Design. Careers. Organising.WEB FRAMEWORKS AND PATTERNS (L/P – 6) Engineering Large Scale Web Applications. CM Tools. Through Incremental Cycles and Requiring Continuous Integration. Decorator. Motivation.SOFTWARE CONFIGURATION MANAGEMENT AND BEST PRACTICES (L . Managing Structure and Processes: Organisational Structure. Reengineering. Leadership. design.

Software Code Integrity and Handling. Conceptualizing and Initializing IT Project. CSE 2016Y) Fundamentals of Measurement: What is Measurement. Managing Change. Requirement Capture Techniques (Use Case. Requirement Engineering Processes . CSE 3088Y(5) .6) Ethernet Networks. e-Mail services. Software Risk Analysis & Risk Management.SOFTWARE METRICS (L . Explores Different Approaches that can be used to Identify Requirements.SOFTWARE REQUIREMENTS & MANAGEMENT (L .CSE 3037Y(5) . Digital Signatures and Hash Algorithms. Basics of Network Programming. Software Requirement Specification.6) Overview of IT Project Management. Preview) and Tools. Public and Private Key Algorithms. CSE 2016Y) Software Requirements Categories and Users. Project Management Tools.SOFTWARE SECURITY (L/P – 6) General Security Principles. Open Source Tools for Software Security Testing. Data Link Design Issues. Making Process Predictions. Multiple Access Protocols. Managing Project Procurement and Outsourcing. CSMA Protocols. Insecure Coding Practices: common programming errors.SOFTWARE PROJECT MANAGEMENT (L . Internet Control Protocols. Software Proposal and Documentation. Measurement and Management: Planning a Measurement Program.NETWORK TECHNOLOGIES (L /P. Best Practices for Secure Software Development. Security Compliance and Policy. Authentication Protocols. Software Metrics Data Collection. Project Monitoring and Control. VORD . Secure Software Architecture and Design. Basics of Measurement. Project Selection and Portfolio Management. Measuring External Product Attributes. Project Leadership.6) (PQ: CSE 1011Y. Malicious Code. Project Communication. 9 . Writing Requirements. Wireless Networks and Services. CSE 3052Y(5) . Security requirements and standards. Goal-Question-Metric Paradigm. Penetration Testing. Resource Management. Congestion Control. Proxy Services. Resource Allocation. Analyzing Software Measurement Data. TCP and UDP. Secure Software Development Lifecycle. Risk Planning and Management. Requirement Traceability Issues (Forward and Backward). Data Transmission and Multiplexing Techniques. Mobile/Ubiquitous/Context-aware Computing and Applications. Subnetting. HTTP Services. Real-time Applications in a Converged Network. Software Reliability Measures. Software Engineering Measurements: Measuring Internal Product Attributes. Routing Protocols. Scope Management. QoS. Attack Models. Implementation Plan and Project Closure. Software Security Assurance. OSI and TCP/IP Reference Models. Evaluation and Estimation. LDAP Directory Services. Properties of Secure Software.6) (PQ: CSE 1011Y. CSE 3039Y(5) . Threats and Vulnerabilities in Software Development. Code Review and Security Testing. Resource Measurements. Empirical Investigation. Project Schedule. DNS Services. Functional and Non-Functional Requirements. Measurement in Practice CSE 3040Y(5) . Inter-networking Equipment. Requirement Change Management Issues.