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
50% End-Term Exam | 30% Mid-Term Exam | 10% Quiz | 10% Assignment
Tentative Dates for Quiz and Assignment
Quiz 1: 13-09-2024 (Pre-MTE)
Quiz 2: 08-11-2024 (Pre-ETE)
Assignment Submission: 20-11-2024
Reference/Text Books:
Deitel and Deitel, C++ How to Program, Third Edition, Pearson Publication.
Robert Lafore, Object-Oriented Programming in C++, Fourth Edition, SAMS publications.
Craig Larman, ―Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition, Pearson Education, 2005.
Ali Bahrami – Object-Oriented Systems Development, McGraw Hill International Edition – 1999
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
50% Regular Lab Evaluation | 20% Mid-Term Exam | 20% End-Term Exam | 10% Mini Project
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
(Date to be announced later.)
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
50% End-Term Exam | 30% Mid-Term Exam | 5% Quiz | 15% Mini Project
Tentative Dates for Quiz and Assignment
Quiz: 12-09-2024 (Pre-MTE)
Mini Project: (Date to be announced later.)
References:
Ian Goodfellow and Yoshua Bengio and Aaron Courville, “Deep Learning,” MIT Press.
Michael A. Nielsen, “Neural Networks and Deep Learning,” Determination Press, 2015.