Current Offerings


22CPT205: Object-Oriented Analysis and Design

  • Department:     B. Tech.-CSE
  • Semester:          III
  • Credit:               3 [3-0-0] (Program Core)
  • Offered:             2024
  • Pre-requisite:   Computer Programming skills 

22CPT205: Topics to be covered (Tentative...)

Part I

Unit 1: C++ Programming Basics: Fundamentals, Variables and Assignments, Data Types and Expressions, Input and Output, Use of Boolean Expressions, The Flow of Control-Multiway Branches-Use and Design of Loops, Top-Down Design, Subprograms, Predefined Functions, User-Defined Functions, Procedural Abstractions, Local Variables, Overloading Function Names, Templates, Function Calling Functions, Recursive Functions, Namespace, C++ Array, Vector, Dynamic memory Allocation, lvalue, rvalue, References, Forwarding/Universal reference, Lambda function.

Unit 2: Introduction to Object-Oriented Programming Fundamentals: Object-Oriented Programming and Design, Review of Abstraction, Classes, Objects, Object Reference, Methods, Constructor, Defining Classes and Members, Functions, Recursive Member Functions, Virtual Functions, Static Member Functions, Friend Functions, Public and Private Members, Parameter Passing - This Pointer, Pointers to Functions, Pointer, Constructor Overloading, Operator Overloading, Copy Constructors, Destructors, and Friend Class.

Unit 3: C++ Advanced Object-Oriented Concepts: Inheritance, Polymorphism, Virtual Functions, Advanced Use of Pointers-Dynamic Memory Allocation, Abstract Classes and Interfaces, Templates, Exception Handling, File I/O, Standard Template Library (STL).

Part II

Unit 4: Introduction to OOAD, Unified Process, UML Diagrams, Use Case, Use Case Modelling, Relating Use Cases – Include, Extend and Generalization, Class Diagram, Elaboration-Domain Model, Finding Conceptual Classes and Description Classes, Associations, Attributes, Domain Model Refinement, Finding Conceptual Class Hierarchies, Aggregation and Composition, Relationship between Sequence Diagrams and Use Cases 

Unit 5: Dynamic Diagrams – UML interaction diagrams, Sequence Diagrams, Collaboration Diagrams, State Machine Diagram and Modelling, Activity diagram, Implementation Diagrams, UML Package Diagram, Component and Deployment Diagrams

Unit 6: SOLID, GRASP: Designing objects with responsibilities; Design patterns: Creational – Factory method; Structural – Adapter– Bridge; Behavioral – Strategy – Observer; Applying GoF design patterns; Mapping design to code 


Evaluation


Tentative Dates for Quiz and Assignment


Reference/Text Books:


22CPP209: Object-Oriented Analysis and Design Lab 

  • Department:     B. Tech.-CSE
  • Semester:          III
  • Credit:               1 [0-0-2] (Program Core)
  • Offered:             2024
  • Pre-requisite:   Basic Computer Programming, Data Structures  


22CPP209:  Broad topics to be covered in the lab sessions

Part I

Lab 1: Basic C++ Syntax and Data Types

Lab 2: Header structure, Program Debugging, Function Overloading and Templates.

Lab 3: Array and Vector, Lvalue, Rvalue, References, and lambda function.

Lab 4: Introduction to Object-Oriented Programming (OOP).

Lab 5: Smart Pointers.

Lab 6: Operator Overloading.

Lab 7: Operator Overloading and Conversion Operator and Constructor. 

Lab 8: Inheritance.

Lab 9: Polymorphism and Abstract Classes. 

Lab 10: Class Templates and Exception Handling.

Lab 11: Standard Template Library (STL).

Part II

Lab 12: Class and Domain Modeling.

Lab 13: GRASP Principles and Design Patterns.

Lab 14: GRASP Principles and Design Patterns (cont...).

Lab 15: Applying GoF Design Patterns.

Lab 16: Applying GoF Design Patterns (cont...).


Mini Project: A mini project will be distributed to demonstrate the learning outcome of the Object-Oriented Analysis and Design course.


Evaluation

Note: Marks for the absence of any lab will be evaluated based on 50% of the total marks for that lab, provided a valid reason is submitted.

Tentative Dates for Mini Project Submission


22CST933: Deep Learning

  • Department:     B. Tech.-CSE
  • Semester:          V
  • Credit:               3 [3-0-0] (Program Elective)
  • Offered:             2024
  • Pre-requisite:   Probability, Statistics, Algebra, Basic Computer Programming, Data Structures  

22CST933: Topics to be covered (Tentative..)


Unit 1: Course Overview: Introduction to Deep Learning and its Applications; Introduction to Statistical Learning: Linear Regression, Multi-Layer Perceptron (MLP), Activation Function, Backpropagation; Loss Functions; Regularization Techniques: Dropout, Batch Normalization, etc.; Optimization Techniques: Stochastic Gradient Descent. 

Unit 2: Convolutional Neural Networks: Convolution, pooling, Activation Functions, Backpropagation in CNNs, Weights as Templates, Translation Invariance, Training with Shared Parameters; CNN Architecture Design and Discussion: AlexNet, VGG, GoogLeNet, ResNet, Capsule Networks, etc.; Visualization and Understanding: Visualizing Intermediate Features and Outputs, Saliency Maps, Visualizing Neurons, Cam-Grad, etc. 

Unit 3: Sequential Modelling: Recurrent and Recursive Nets: Recurrent Neural Networks (RNNs), Long Short-Term Memory (LSTM), Gated Recurrent Units (GRU); Applications of Sequential Models: Image captioning, Visual Question Answering, etc.  

Unit 4: Generative Models: Encoder-Decoder Architectures, Variational Autoencoders; Generative Adversarial Networks (GANs): pix2pix, CycleGAN, etc.; Transformers-Based Models. 

Unit 5: Deep Learning Applications: Object Detection-RCNN, Fast RCNN, Faster RCNN, YOLO and variants, Retina Net, etc.; Adversarial Attacks on CNNs; Deep learning for NLP

Unit 6: Deep learning Libraries and Frameworks: Keras, TensorFlow, PyTorch, AutoML, etc. 


Evaluation


Tentative Dates for Quiz and Assignment

References: