Professional Documents
Culture Documents
Branching – if, if-else, else-if ladder, nested if, switch and goto statements - Loops – while,
do-while, for statements
Practice: programs on passing an array and catching by a pointer, function returning data,
comparison between recursive and Iterative solutions
Procedure vs. object oriented programming – Data types – control structures – Operator
Overloading – Inheritance – Polymorphism and Virtual Functions, Function templates and
class templates – Name spaces – Casting – Exception Handling, Stream classes – Formatted
IO – File classes and File operations – Dynamic memory allocation – Standard Template
Library
Practice: I/O through files, class and object, Implementation of OOP concepts
ADVANCED CODING
Lab : 3 Periods Int.Marks : 50
Exam : 3 Hrs. Ext. Marks : 50
Course
Objectives
1. To understand the basics of modular
programming
2. To learn about ADT, Linked Lists and
Templates
3. To investigate different methods to find time
complexities
4. To learn about Java collections and
Libraries
Course
Outcomes
At the end of the course, a student should be
able to:
1. Acquire coding knowledge on essential of modular
programming
2. Acquire Programming knowledge on linked
lists
3. Acquire coding knowledge on
ADT
4. Acquire knowledge on time complexities of different
methods
5. Acquire Programming skill on Java libraries and
Collections
SYLLABUS
UNIT I Review Coding essentials and modular
programming
Introduction to Linear Data, Structure of linear data, Operation logics, Matrix forms
and representations, Pattern coding.
Introduction to modular programming: Formation of methods, Methods: Signature
and definition, Inter-method communication, Data casting & storage classes, Recursions
References:
1. Computer Science, A structured programming approach using C, B.A.Forouzan
and
rd
R.F.Gilberg, 3 Edition, Thomson, 2007.
2. The C –Programming Language, B.W. Kernighan, Dennis M. Ritchie, Prentice Hall
India
Pvt.Ltd
3. Scientific Programming: C-Language, Algorithms and Models in Science, Luciano
M.
Barone (Author), Enzo Marinari (Author), Giovanni Organtini, World Scientific .
4. Object Oriented Programming in C++: N. Barkakati, PHI.
5. Object Oriented Programming through C++ by Robat Laphore.
6. https://www.geeksforgeeks.org/.
7. https://www.tutorialspoint.com/
COMPETITIVE CODING
Lab : 3 Periods Int.Marks : 50
Exam : 3 Hrs. Ext. Marks : 50
Course
Objectives:
1. To understand the essentials of competitive
coding
2. To learn about competitive programming like time and space
complexities
3. To investigate different methods like dynamic Arrays, Set & Map structures and
sorting
4. To learn about String, Tree, Graph Theory
algorithms
Course
Outcomes:
At the end of the course, a student should be
able to:
1. Acquire coding knowledge on essential of competitive
coding
2. Acquire Programming knowledge on time & space
complexities
3. Acquire coding knowledge on dynamic Arrays, Set & Map structures and
sorting
4. Acquire knowledge on time complexities of different
methods
5. Acquire Programming skill on String, Tree, Graph Theory
algorithms
SYLLABUS
UNIT-I Introduction to Competitive
Coding
Introduction to Competitive coding and coding Platforms. Coding solution Vs. Efficient
Coding solution. Types of solution approaches. Analyzing problem specific data
requirement, Various data representations. Essential Data structures for fast coding.
Various Syntactical I/O techniques comparison. Numbers, operations
(including exponentiation). Integer properties(positive, negative, even, odd, divisible,
prime, etc), Fractions, percentages and ratios. Point, vector, Cartesian coordinates(2D
integer grid).
UNIT-II Essentials to Competitive
coding
Basic data structures: Arrays, Strings, Stacks, Queues, Linked Lists . Asymptotic
Notations – (Big-O), Evaluating the runtime complexity – Space Complexity -
Towers-of-Brahma – Standard Template Libraries - Square root functions, primality
testing and related techniques. Euclidean algorithms. Recursion techniques. Organizing
data in O(n log n). Binary search techniques. Red-Black Trees. Fenwick tree, Segment
Tree.
Basic
Techniques
Dynamic Arrays, Set structures, Map structures, Iterators and ranges, Generating
Subsets, Generating permutations, Backtracking techniques, Pruning the search. Bit
masking. Disjoint set union.