E320
-
Upload
priscilla-chumroo -
Category
Documents
-
view
215 -
download
0
Transcript of E320
-
7/29/2019 E320
1/9
1
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 andsolutions that guide the development of specific software projects or products.
The programme has been tailor-made to produce graduates who are proficient in developing softwareaccording to Industry standards, in terms of methodologies and technologies. The course providesstudents with both theoretical knowledge and practical skills in areas such as software development,integration & testing and software project management. Graduates will possess the engineering skillsrequired to design and implement software systems. The scheme of study offers graduates essentialtechnical and soft skills to seamlessly make the transition from University to the software developmentindustry 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 Credits
Minimum Credits for Core Modules (Departmental) 66
Minimum Credits for Electives (Departmental) 24
Minimum Credits for Core Modules (Non Departmental) 6
Final Year Project 9
TOTAL 105
-
7/29/2019 E320
2/9
2
(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) Maximum (Years)Degree: 3 5
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.
-
7/29/2019 E320
3/9
3
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 yearof study; orii. the maximum duration allowed for completion of the Programme of Studies has been exceeded.
9. List of Modules
CORE MODULES
Departmental Hrs/Week
L+P
Credits
CSE 1009Y(1) Software Engineering and Computing 3+0 6CSE 1011Y(1) Software Analysis and Modelling 2+2 6CSE 1012Y(1) Database Systems 2+2 6CSE 1013Y(1) Software Programming 2+2 6CSE 1014Y(1) Discrete Mathematics for Software Engineering 3+0 6CSE 1016Y(1) Communication and Business Skills for IT 3+0 6CSE 2014Y(3) Data Structures and Algorithms 2+2 6CSE 2015Y(3) Object-Oriented Software Development 2+2 6CSE 2016Y(3) Software Process and Design 3+0 6CSE 2017Y(3) Software Quality Assurance 3+0 6CSE 2018Y(3) Software Verification and Validation 2+2 6CSE 3025Y(5) Software Configuration Management and Best Practices 3+0 6CSE 3026Y(5) Agile Principles, Patterns And Practices 2+2 6CSE 3000(5) Final Year Project - 9
Non-Departmental Hrs/WeekL+P
Credits
MGT 1067Y(1) Principles and Practice of Management 3+0 6
ELECTIVE MODULES
Students choose any Two of the listed electives.
Departmental Hrs/WeekL+P
Credits
CSE 3023Y(5) Web Frameworks and Patterns 2+2 6CSE 3037Y(5) Software Project Management 3+0 6CSE 3039Y(5) Software Metrics 3+0 6CSE 3040Y(5) Network Technologies 2+2 6CSE 3052Y(5) Software Requirements & Management 3+0 6CSE 3088Y(5) Software Security 2+2 6
Note: The University reserves the right not to offer a given elective module if the critical number ofstudents is not attained and/or for reasons of resource constraints.
-
7/29/2019 E320
4/9
4
10. Programme Plan BSc (Hons) Software Engineering
Year 1Semester 1 & 2
Module CodeCORE
Module Name Hrs/WeekL+P
Credits
CSE 1009Y(1) Software Engineering and Computing 3+0 6CSE 1011Y(1) Software Analysis and Modelling 2+2 6
CSE 1012Y(1) Database Systems 2+2 6
CSE 1013Y(1) Software Programming 2+2 6
CSE 1014Y(1) Discrete Mathematics for Software Engineering 3+0 6
CSE 1016Y(1) Communication and Business Skills for IT 3+0 6
Total = 36
Year 2Semester 1 & 2
Module CodeCORE
Module Name Hrs/WeekL+P
Credits
CSE 2014Y(3) Data Structures and Algorithm 2+2 6
CSE 2015Y(3) Object-Oriented Software Development 2+2 6CSE 2016Y(3) Software Process and Design 3+0 6
CSE 2017Y(3) Software Quality Assurance 3+0 6
CSE 2018Y(3) Software Verification and Validation 2+2 6
MGT 1067Y(1) Principles and Practice of Management 3+0 6
Total = 36
Year 3
Semester 1 & 2
Module CodeCORE
Module Name Hrs/WeekL+P
Credits
CSE 3000(5) Final Year Project - 9
CSE 3025Y(5) Software Configuration Management and Best Practices 3+0 6
CSE 3026Y(5) Agile Principles, Patterns And Practices 2+2 6
ELECTIVES Choose Two (2) modules from:
CSE 3023Y(5) Web Frameworks and Patterns 2+2 6
CSE 3037Y(5) Software Project Management 3+0 6
CSE 3039Y(5) Software Metrics 3+0 6CSE 3040Y(5) Network Technologies 2+2 6
CSE 3052Y(5) Software Requirements & Management 3+0 6
CSE 3088Y(5) Software Security 2+2 6
11. Outline Syllabus
-
7/29/2019 E320
5/9
5
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 Models-
Requirements 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.
-
7/29/2019 E320
6/9
6
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.
-
7/29/2019 E320
7/9
7
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.
-
7/29/2019 E320
8/9
8
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, Constraintsand Guidance of CM, Planning for CM, CM Plan, CM Measures and Measurement, In-Process Audits ForCM, Configuration Identification, Configuration Control, Configuration Verification And Audit,Configuration Change Management, Configuration Status Accounting, CM Automation, CM Tools, CMfor 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 AgileEnvironment, Agile Requirements, Agile Programming Practices, Extreme Programming, Agile Estimatingand Velocity, Testing in the Agile Environment, Acceptance Tests, Test Anatomy, Scenario Tests,Refactoring, Agile Design-Single Responsibility Principle, Open-Closed Principle, Liskov SubstitutionPrinciple, Dependency-Inversion Principle, Interface Segregation Principle, Controlling Time and CostThrough Project Management, Practical Application Project Based on Agile Methods, ThroughIncremental 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.
-
7/29/2019 E320
9/9
9
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, ProjectManagement 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; CSE2016Y)
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 andVulnerabilities 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.