Anda di halaman 1dari 9

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

(ii) Diploma Award The diploma is provided as a possible exit point in the programme. A student may opt for a Diploma in Software Engineering, by making a written request, provided he/she satisfies the requirements, as per University regulations. 5. Programme Duration Normal (Years) 3 Maximum (Years) 5

Degree:

6. Credits per Year Maximum 48 credits, Minimum 6 credits, subject to section 5. Yearly modules to be registered for only once at the start of the module, normally at the beginning of the academic year as specified by the Faculty.

7. Assessment 7.1 Continuous and written assessment of modules Each module will be assessed over 100 marks (expressed as %). Assessment will be based on written examination and continuous assessment. The written examination will be of 3 hour duration for yearly modules carrying 6 credits. The continuous assessment will count for a range 30 - 40% of overall percentage mark of the module. Continuous assessment may be based on laboratory work, seminars and/or assignments and should include at least one class test per semester. For a student to pass a module, an overall minimum of 40% should be attained in that module, as per University regulations. Written examinations for the yearly modules will be carried out at the end of the academic year. 7.2 Final Year Project The assessment of final year project CSE 3000(5) will be based on the written dissertation, software/system demo and presentation by the student. 7.3 Diploma Project For a student exiting at Diploma Level, the assessment of Diploma project CSE 2000(3) will be based on project report, presentation and software/system demo, as per University regulations.

8. Specific Regulations If Cummulative Point Average (CPA) of a student is less than 40%, s/he will have to repeat the entire academic year, and retake the modules as and when offered. However, s/he will not be required, if s/he wishes, to retake modules for which Grade C or above has been obtained. Students are allowed to repeat (a year) only once over the entire duration of the Programme of Studies. Registration of a student will be terminated if: i. the CPA is less than 40 at the end of an academic year and the student has already repeated one year of study; or ii. the maximum duration allowed for completion of the Programme of Studies has been exceeded.

9. 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, 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. 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.

10. 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, 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. Outline Syllabus

The outline syllabus is not prescriptive and is intended to serve as a guide only. Note: Pre-requirement (PQ). 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.

YEAR 1 CSE 1009Y(1) - SOFTWARE ENGINEERING AND COMPUTING (L - 6) History of Computing, Overview of Operating Systems, Introduction to Net-Centric Computing, Database Basics, Introduction to the World-Wide Web, Social Context of Computing, Application Software, Introduction to Software Engineering Concepts, Software Processes, Requirements Engineering, Software Design, Software Implementation, Software Testing and Maintenance, Software Evolution, Software Project Management

CSE 1011Y(1) - SOFTWARE ANALYSIS AND MODELLING (L/P - 6) System Development Life Cycle - Analysis and Design Concepts and Terminologies - Process ModelsRequirements Analysis (Functional and Non-Functional Requirements, Requirements Elicitations, Analysis of Requirements) - System Analysis and Design Techniques (Process Modeling (DFDs), Logical Modeling (Decision Tree, Decision Table, Structured English), Object Oriented Modeling (UML, Use Cases), High Level Design (HLD), Project Management Tools (Gantt Chart, PERT Chart)

CSE 1012Y(1) - DATABASE SYSTEMS (L/P - 6) Database System Concepts and Architecture, Database Users, Data Models, Data Modeling using the Entity-Relationship Model, Relational Data Model, Relational Algebra and Calculus, Relational Database Design, Functional Dependencies and Normalization, Basic File Structures and Hashing, Indexing Structures, Transaction Processing Concepts, Concurrency Control and Locking, Introduction to Distributed Databases, Data Mining Concepts, Overview of Data Warehousing and OLAP, Graph Database, Stored Procedures and Optimisation.

CSE 1013Y(1) SOFTWARE PROGRAMMING (L/P 6) Programming Concepts, Variables, Data Types, Simple Programming Constructs, Decision Structures, Repetition Structures, Functions, Data Structures, Arrays, Introduction to Web Programming, Hypertext Markup Language, Web Design, Cascaded Style Sheets, Client Side and Server Side Scripting, Use of sessions, Database Manipulation for the Web, Software Versioning Tools and Standards.

CSE 1014Y(1) - DISCRETE MATHEMATICS FOR SOFTWARE ENGINEERING (L 6) Logic, Proof Techniques, Sequences and Counting, Set Theory, Relations, Mappings, Graphs and Trees, Graph algorithms, Abstract Algebra, Grammars, Finite state machines, Mathematical models and specification languages, Discrete Maths Tools, Probability and Introductory Statistics, Discrete Probability Distributions, Expectation and Variance.

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

YEAR 2 CSE 2014Y(3) - DATA STRUCTURES AND ALGORITHMS (L/P - 6) (PQ: CSE 1013Y) Introduction to Data Types (Primitive Types, Composite Types, Abstract Data Types (Container, Map/Associative Array/Dictionary, Multimap, List, Set, Multiset, Priority Queue, Queue, Deque, Stack, String, Tree, Graph, Hashing), Problem Solving Techniques, Algorithm Analysis (including Recurrence Relations), Searching and Sorting Algorithms, Optimisation Algorithms, Weighted Graph Algorithms CSE 2015Y(3) OBJECT-ORIENTED SOFTWARE DEVELOPMENT (L/P 6) (PQ: CSE 1013Y) Fundamental OO Concepts, Java Basics, Types of Classes. Use of Interfaces and Abstract Classes. Creating Use Cases Based on Requirement Specification, Converting Modelled Class Diagrams to Java Classes, Coding Different Types of Relationships in Java (Aggregation, Composition, Generalisation, etc). Exception Handling, String Manipulation and Regular Expressions, Using Java to Manage Database and Files, GUI Development, Introduction to Generic Classes, Java Design Patterns, Testing using the JUnit Framework. Creation of Deployment Packages.

CSE 2016Y(3) - SOFTWARE PROCESS & DESIGN (L - 6) Software Process Models (Linear Sequential Models, Incremental Models, Formal Methods), System Models, Design Fundamentals (Objectives, Building Models, Viewpoints), Structured Design (Design Principles , Problem Partitioning and Hierarchy, Abstraction, Modularity , Top-Down and Bottom-Up Strategies , Object Modelling, Coupling , Strategies, Cohesion, Multiple Types of Cohesion in a Module, Data Design , Procedural Design) , Architecture Concepts ( Design Methods, Design Patterns, Rationale for Methods , Design Processes and Strategies, Design by Template, Designing with Patterns , Stepwise Refinement Incremental Design, Prototyping)

CSE 2017Y(3) - SOFTWARE QUALITY ASSURANCE (L - 6) Software Quality Challenge and Factors, Components of a Software Quality Assurance System, Contract Review, Development and Quality Plans, Integrating Quality Activities in the Software Life Cycle, Reviews, Software Testing Strategies & Implementation, Quality of Software Maintenance Components and Externals Participants Contributions, CASE Tools, Procedures & Work Instructions, Configuration Management, Documentation Control, Project Progress Control, Software Quality Metrics, Quality Management Standards, The Future of Software Quality Assurance

CSE 2018Y(3) - SOFTWARE VERIFICATION AND VALIDATION (L/P - 6 ) V&V Terminology and Foundations, Planning the V&V effort, Documenting V&V Strategy, Metrics & Measurement, Reviews, Testing, Coverage Analysis and Structure Based Testing, Black-Box Functional Testing Techniques, Integration Testing, Operational Profile-Based Testing, System and Acceptance Testing, Regression Testing, Testing Tools, Human Computer User Interface Testing and Evaluation, Test Automation and Tools, Problem Analysis and Reporting, Debugging/Fault Isolation Techniques, Defect Analysis, Problem Tracking.

MGT 1067Y(1) - PRINCIPLES AND PRACTICE OF MANAGEMENT (L 6) The Study of Organisations; The Environment of Organisations; Evolution of Management Theory; Management Concepts; The Managerial functions of Planning, Leading, Organising, Controlling; Managerial Skills. Managing Individuals in Organisations: Managing Differences; Motivation. Managing Groups and Teams: Group behaviour; Conflict and Co-operation; Power and Politics; Leadership; Ethics and Social Responsibility. Managing Structure and Processes: Organisational Structure; Job Design; Restructuring, Reengineering, Downsizing; New Structural Forms of Communications, Careers, Change; Diversity; Knowledge Management.

YEAR 3

CSE 3000(5) - FINAL YEAR PROJECT Students will work on an individual or group project on software development. It will include analysis, design, implementation and testing of software and a written report that describes the work. CORE CSE 3025Y(5) - SOFTWARE CONFIGURATION MANAGEMENT AND BEST PRACTICES (L - 6) Managing Configuration Management (CM), CM Activities, CM Process Model, CM Roles, Constraints and Guidance of CM, Planning for CM, CM Plan, CM Measures and Measurement, In-Process Audits For CM, Configuration Identification, Configuration Control, Configuration Verification And Audit, Configuration Change Management, Configuration Status Accounting, CM Automation, CM Tools, CM for Agile Teams, Source Code Management, Software Release and Planning. CSE 3026Y(5) - AGILE PRINCIPLES, PATTERNS AND PRACTICES (L/P - 6) (PQ: CSE 2016Y) Agile Methodologies for Software Development, The User Story Technique, Planning in the Agile Environment, Agile Requirements, Agile Programming Practices, Extreme Programming, Agile Estimating and Velocity, Testing in the Agile Environment, Acceptance Tests, Test Anatomy, Scenario Tests, Refactoring, Agile Design-Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Dependency-Inversion Principle, Interface Segregation Principle, Controlling Time and Cost Through Project Management, Practical Application Project Based on Agile Methods, Through Incremental Cycles and Requiring Continuous Integration. ELECTIVES CSE 3023Y(5) - WEB FRAMEWORKS AND PATTERNS (L/P 6) Engineering Large Scale Web Applications, UML for Web, Scalability and Maintenance, The MVC Architectural Pattern, Separation of Concerns, Annotations and Reflection, Design Patterns for the Web Strategy, Memento, Observer, Decorator, Active Record Patterns- , Decoupling Codes, Web Frameworks, Performance Tuning, Comet and Web Hooks, Integrating Web Services.

CSE 3037Y(5) - SOFTWARE PROJECT MANAGEMENT (L - 6) Overview of IT Project Management, Conceptualizing and Initializing IT Project, Project Selection and Portfolio Management, Resource Management, Scope Management, Software Proposal and Documentation, Project Schedule, Evaluation and Estimation, Resource Allocation, Project Communication, Managing Change, Managing Project Procurement and Outsourcing, Project Leadership, Implementation Plan and Project Closure, Risk Planning and Management, Project Management Tools, Project Monitoring and Control.

CSE 3039Y(5) - SOFTWARE METRICS (L - 6) (PQ: CSE 1011Y; CSE 2016Y) Fundamentals of Measurement: What is Measurement, Basics of Measurement, Goal-Question-Metric Paradigm, Empirical Investigation, Software Metrics Data Collection, Analyzing Software Measurement Data; Software Engineering Measurements: Measuring Internal Product Attributes, Measuring External Product Attributes, Software Reliability Measures, Resource Measurements, Making Process Predictions; Measurement and Management: Planning a Measurement Program, Measurement in Practice

CSE 3040Y(5) - NETWORK TECHNOLOGIES (L /P- 6) Ethernet Networks, OSI and TCP/IP Reference Models, Subnetting, Data Transmission and Multiplexing Techniques, Data Link Design Issues, Multiple Access Protocols, CSMA Protocols, Inter-networking Equipment, Routing Protocols, Congestion Control, QoS, Internet Control Protocols, TCP and UDP, DNS Services, LDAP Directory Services, HTTP Services, Proxy Services, e-Mail services, Basics of Network Programming, Wireless Networks and Services, Mobile/Ubiquitous/Context-aware Computing and Applications, Real-time Applications in a Converged Network.

CSE 3052Y(5) - SOFTWARE REQUIREMENTS & MANAGEMENT (L - 6) (PQ: CSE 1011Y; CSE 2016Y) Software Requirements Categories and Users; Functional and Non-Functional Requirements, Writing Requirements, Requirement Engineering Processes , Explores Different Approaches that can be used to Identify Requirements, Requirement Capture Techniques (Use Case, VORD , Preview) and Tools, Software Requirement Specification, Requirement Traceability Issues (Forward and Backward), Requirement Change Management Issues.

CSE 3088Y(5) - SOFTWARE SECURITY (L/P 6) General Security Principles, Public and Private Key Algorithms, Attack Models, Threats and Vulnerabilities in Software Development, Digital Signatures and Hash Algorithms, Authentication Protocols, Malicious Code, Properties of Secure Software, Best Practices for Secure Software Development, Secure Software Development Lifecycle, Security requirements and standards, Code Review and Security Testing, Security Compliance and Policy, Software Code Integrity and Handling, Insecure Coding Practices: common programming errors, Secure Software Architecture and Design, Software Risk Analysis & Risk Management, Penetration Testing, Software Security Assurance, Open Source Tools for Software Security Testing. 9