CSL2060: Software Engineering

Offered in Spring 2022 Semester

Offered in Spring 2022 Semester

  • Credits L-T-P [C]: 3-0-2 [4]
  • Expectation from 2000 level course:
    • 3 Contact Hr + 6 Non-Contact Hr per week (Theory)
    • 2+1 Hr For Lab Assignments per week
  • Where: Google Meet (Link Available in Moodle)
  • Slot: E (Tuesday, Thursday and Friday 11:00 AM - 12:00 PM)
  • LMS: Moodle

Syllabus

Introduction of Software Engineering:

Need for software engineering, Software quality attributes, Software product pipelines, Software life cycle models and processes, Requirement engineering using UML Diagrams.

Software Architecture and Design:

Design principles, Design Patterns, Architecture Versus Design, Modularity, Software Components and Connectors, Architecture Styles.

Essence of Modern Software Engineering:

Software engineering essence, Essence language, Essence kernel, Using essence kernel in agile development practices, Agile Principles, Agile process models through essence kernel, Large scale complex development Using kernel.

Software Testing:

Quality metrics, Coding style and Static analysis tools, Verification and validation, Various testing techniques and Test case generations.

Software Project Management:

Software versioning and Continuous integration, Project management and Risk analysis, Configuration management, Cost analysis and estimation.

Laboratory

Assignment/Project on Software requirement acquisition, UML diagrams, Preparing software requirement specification, Practicing agile methods, User story, Backlog, Test case generation, Unit testing, CI configurations, Cost estimation, Manpower management and Sprint analysis using Burndown carts.

Learning Materials

Textbook

  • R. S. Pressman, B.R. Maxim (2019), Software Engineering: A Practitioner’s Approach, McGraw-Hill India, 2019, 9th Edition.
  • Mark Richards, Neal Ford (2020), Fundamentals of Software Architecture, O’Reilly Media, Inc.
  • L. Bass, P. Clements, R. Kazman (2012), Software Architecture in Practice, Pearson, 3rd Edition.
  • I. Jacobson, H. Lawson, P.W. Ng, P.E. McMahon, M. Goedicke (2019), The Essentials of Modern Software Engineering, ACM Books.

Grading Policy

Quizzes (Online) Lab Assignments Open book Assignment Major
15% 30% 15% 40%

Quizzes (Online)

  • There will be about 4/5 quizzes
  • Quizzes will be on https://www.classmarker.com/ or other similar platform
  • No retake of quiz will be conducted. Absent will award 0 marks in the quiz.
  • Lowest quiz mark will be dropped. That is if 4 quiz is conducted then best 3 will be taken for final grading.

Lab Assignments

  • There will be several lab assignments.
  • One mini project which needs to be developed following the agile methodologies.
Project will be in groups. Size of the group will be decided and informed latter.

Plagiarism tolerance is 7% from single source and 15% cumulative, anything more will reduce your marks as follows:

  • Any logical/conceptual/formulation plagiarism: zero marks
  • Other form of plagiarism (above 50%): zero marks
  • Otherwise: Percentage of plagiarism will be deducted from the obtained mark