E320

download E320

of 9

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.