Bachelor of Engineering Program (2020)
Assessment:
Mid-term, Report writing/Presentation, Assignment, Project report, Quizzes, Final term.
Suggested Books:
C++ How to Program, 10/e, Paul J. Deitel and Harvey Deitel, latest edition,
ISBN-10: 9780134448237.
C++ Primer, Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo, latest
edition, ISBN-10: 9780321714114.
Data Structures and Algorithms
Course Outline
Fundamentals of data structures: An overview of computer programming,
Data types, abstract data types, C/C++ background,
Review of pointers, Pointer arithmetic, Pointer indirections
Computational complexity of algorithms and their time-space analysis:
Running time calculations, Asymptotic notations for algorithmic complexity
analysis.
Lists Data Structure: Simple arrays, Linked lists, Linear search vs binary
search
Lists Data Structure: Double linked lists, Circular linked lists.
Stacks & Queues: Sequential/array implementation of stacks and queues,
Linked list implementation of stacks and queues.
Arithmetic expressions: Polish notation, Recursion: Recursive implementation
of stacks and queues.
Sorting: Bubble sort, Insertion sort, Selection sort.
Sorting: Merge sort, Quick sort, Counting Sort & Radix sort, Heap sort
(tentative).
Trees: Data structure definition and generic implementation, Tree traversals
and its application, Binary tree, binary search tree, Expression trees, AVL
trees.
Huffman coding, B-Tree.
Graphs: Adjacency matrix implementation, Linked list implementation
Graphs Search: Depth-first traversal of graphs, Breadth-first traversal of
graphs, Shortest distance algorithms
39
Curriculum of Software Engineering
Hashing and searching: Hashing techniques, Implementation of Hashing
techniques
Priority Queues: Binary Heap and its applications
Teaching Methodology (Proposed as applicable):
Lectures (audio/video aids), Written assignments/Quizzes, Case Studies relevant to
Engg. disciplines, Semester project, Guest speaker, Industrial/Field visits, Group
discussion, Report Writing.
Assessment:
Mid-term, Report writing/Presentation, Assignment, Project report, Quizzes, Final term.
Suggested Books:
Data Structures and Algorithm Analysis in C by Mark Weiss. Addison Wesley;
ISBN: 0-201-49840-5, latest edition.
Data Structures and Algorithm Analysis in C++ by Mark Weiss. Addison
Wesley; ISBN 0321-44146-X, latest edition
Introduction to Algorithms, Thomas H. Cormen et al, latest edition.
Operating Systems
Course Outline
Basic Elements: Evolution of the Microprocessor, Instruction Execution.
Interrupts: Interrupts and the Instruction Cycle, Interrupt Processing, Multiple
Interrupts.
Memory: The Memory Hierarchy, Cache Memory, Direct Memory Access.
Operating System: Objectives and Functions, The Evolution of Operating
Systems, Developments Leading to Modern Operating Systems.
Virtual Machines: Virtual Machine Architecture.
Multiprocessor and Multicore Organization: OS Design Considerations for
Multiprocessor and Multicore.
Processes: Process Definition, Process States, Process Description, Process
Control, OS Execution.
Processes and Threads: Types of Threads, Multicore and Multithreading.
Principles of Concurrency.
40