DAY-1 PPT of Advanced Programming Lab-II
DAY-1 PPT of Advanced Programming Lab-II
ENGINEERING
COMPUTER SCIENCE ENGINEERING
Bachelor of Engineering
BE-CSE/IT (6th Sem)
• M2: Offering programs & courses in consonance with National policies for nation
building and meeting global challenges.
• M6: Establishing strategic relationships with leading National and International corporates
and universities for academic as well as research collaborations.
• M7: Contributing for creation of healthy, vibrant and sustainable society by involving in
Institutional Social Responsibility (ISR) activities like rural development, welfare of senior
citizens, women empowerment, community service, health and hygiene awareness and
environmental protection.
• M1: To provide practical knowledge using state-of-the-art technological support for the
experiential learning of our students.
• M3: To create global linkages for interdisciplinary collaborative learning and research.
• M4: To nurture advanced learning platform for research and innovation for students’
profound future growth.
• M5: To inculcate leadership qualities and strong ethical values through value based
education.
• PO5: Modern tool usage: Create, select, and apply appropriate techniques,
resources, and modern Computer science engineering and IT tools including
prediction and modeling to complex database or software engineering activities
with an understanding of the limitations.
• PO6: The engineer and society: Apply reasoning informed by the contextual
knowledge to assess
• Social, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the Professional Computer Science & Engineering practice.
• PO7: Environment and sustainability: Understand the impact of the professional
computer science and engineering solutions in social and environmental contexts,
and demonstrate the knowledge of, and need for sustainable development goals.
• PO8: Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of computer science engineering practice
Evolution:
• Early Days (1980s-1990s): The concept of advanced programming labs for students began
with the rise of personal computers and the advent of programming languages like C and
Pascal. Labs focused on basic programming skills, algorithms, and data structures.
• Internet Era (1990s-2000s): With the growth of the internet, advanced programming labs
started incorporating web development, scripting languages, and database management.
Students explored client-server architectures and began building more interactive and
dynamic applications.
• Mobile and App Development (2000s-2010s): The popularity of smartphones led to the
inclusion of mobile app development in advanced programming labs. Students learned
languages like Java (for Android) and Swift (for iOS) and gained skills in building mobile
applications.
1. https://www.coursera.org/learn/advanced-data-structures
2. https://programiz.pro/learn/master-dsa-with-
python?utm_campaign=programiz&utm_source=landing-
tutorial-nav&utm_medium=referral
3. https://www.youtube.com/watch?v=7Rb3ZJetvA8&list=P
L7CZ_Xc0qgmJFqNWEt4LIhAPTlT0sCW4C
4. https://www.youtube.com/watch?v=KSiRzuSx120&list=P
L7yh-TELLS1FuqLSjl5bgiQIEH25VEmIc
Syllabus Of Advanced Programming Lab-II
https://leetcode.com/problems/repeated-string-match/
https://leetcode.com/problems/longest-happy-prefix/
https://leetcode.com/proble ms/cheapest-flights-within-k-stops/
https://leetcode.com/proble ms/distant-barcodes/
https://leetcode.com/proble ms/furthest-building-you-can-reach/
https://leetcode.com/proble ms/longest-duplicate-substring/
https://leetcode.com/proble ms/shortest-palindrome/
Trees https://leetcode.com/problems/symmetric-tree/
https://leetcode.com/problems/balanced-binary-tree/
https://leetcode.com/problems/path-sum/
https://leetcode.com/problems/count-complete-tree-nodes/
https://leetcode.com/problems/delete-node-in-a-bst/
https://leetcode.com/problems/diameter-of-binary-tree/
Experiment 6- https://leetcode.com/problems/is-graph-bipartite/
Graph https://leetcode.com/problems/gray-code/
https://leetcode.com/problems/group-the-people-given-the-group-size-they-belong-to/
https://leetcode.com/problems/the-skyline-problem/
https://leetcode.com/problems/find-the-difference/
https://leetcode.com/problems/predict-the-winner/
Experiment 7- https://leetcode.com/problems/count-and-say/
https://leetcode.com/problems/jewels-and-stones/
https://leetcode.com/problems/snakes-and-ladders/
https://leetcode.com/problems/water-and-jug-problem/
https://leetcode.com/problems/find-and-replace-in-string/
Greedy https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
https://leetcode.com/problems/remove-duplicate-letters/
https://leetcode.com/problems/can-place-flowers/
https://leetcode.com/problems/assign-cookies/
https://leetcode.com/problems/three-equal-parts/
Experiment-9 https://leetcode.com/problems/binary-watch/
Backtracking https://leetcode.com/problems/stickers-to-spell-word/
https://leetcode.com/problems/all-paths-from-source-to-target/
https://leetcode.com/problems/word-ladder-ii/
https://leetcode.com/problems/subsets/
https://leetcode.com/problems/combinations/
Experiment-10 https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
Dynamic https://leetcode.com/problems/decode-ways/
Programming
https://leetcode.com/problems/scramble-string/
https://leetcode.com/problems/climbing-stairs/
https://leetcode.com/problems/maximum-subarray/
https://leetcode.com/problems/longest-palindromic-substring/
https://leetcode.com/problems/house-robber-ii/
Volume/Editio
Title of the Book Name of the Author Publishing House Year
n
The
Text T1 “Introduction to Algorithms” Thomas H. Cormen, Charles E. Leiserson 3rd Edition. MIT 2013
Books Press.
T2 Algorithms Unlocked Thomas H. Cormen 2nd Edition The MIT Press. 2013
Reference
Books “Grokking Algorithms: An
illustrated guide for
R1 Aditya Bhargava Ist Edition Manning 2016
programmers and other curious
CSE people” Competitive Coding-II(20CSP-351) 25
Content Beyond Syllabus (LAB)
1. Design Patterns:
1. Explore common design patterns like Singleton, Observer, and Factory patterns, teaching
students how to design scalable and maintainable code.
2. Code Refactoring Techniques:
1. Teach techniques for improving existing code without changing its external behavior,
emphasizing the importance of clean and efficient code.
3. Concurrency and Parallel Programming:
1. Cover concepts related to concurrent programming, introducing students to threads,
synchronization, and parallel programming for efficient use of modern hardware.
4. Advanced Algorithms:
1. Dive into more advanced algorithms beyond the basics, such as advanced sorting
algorithms, graph algorithms, and dynamic programming for solving complex problems.
Content Beyond Syllabus (LAB)
Problem 1: Trapping rainwater problem: Find the maximum amount of water that can
be trapped within a given set of bars where each bar’s width is 1 unit.
• Problem 2: You are given a 0-indexed integer array stations of length n, where
stations[i] represents the number of power stations in the ith city. Each power station
can provide power to every city in a fixed range. In other words, if the range is
denoted by r, then a power station at city i can provide power to all cities j such that |i
- j| <= r and 0 <= i, j <= n - 1. Note that |x| denotes absolute value. For example, |7 - 5|
= 2 and |3 - 10| = 7. The power of a city is the total number of power stations it is
being provided power from. The government has sanctioned building k more power
stations, each of which can be built in any city, and have the same range as the pre-
existing ones. Given the two integers r and k, return the maximum possible minimum
power of a city, if the additional power stations are built optimally. Note that you can
build the k power stations in multiple cities.
Complex Problems (LAB)
• Problem 3: You are given two strings s and t. You are allowed to remove any
number of characters from the string t. The score of the string is 0 if no
characters are removed from the string t, otherwise: Let left be the minimum
index among all removed characters. Let right be the maximum index among all
removed characters. Then the score of the string is right - left + 1. Return the
minimum possible score to make t a subsequence of s.-A subsequence of a string
is a new string that is formed from the original string by deleting some (can be
none) of the characters without disturbing the relative positions of the remaining
characters. (i.e., "ace" is a subsequence of "abcde" while "aec" is not).
Complex Problems (LAB)
Problem 4: You are given two 0-indexed arrays nums1 and nums2 and a 2D array
queries of queries. There are three types of queries: For a query of type 1, queries[i] =
[1, l, r]. Flip the values from 0 to 1 and from 1 to 0 in nums1 from index l to index r.
Both l and r are 0-indexed.
For a query of type 2, queries[i] = [2, p, 0]. For every index 0 <= i < n, set nums2[i] =
nums2[i] + nums1[i] * p. For a query of type 3, queries[i] = [3, 0, 0]. Find the sum of
the elements in nums2.Return an array containing all the answers to the third type
queries.
Problem 5: You are given an integer array nums and two integers minK and maxK. A
fixed-bound subarray of nums is a subarray that satisfies the following conditions: The
minimum value in the subarray is equal to minK. The maximum value in the subarray
is equal to maxK. Return the number of fixed-bound subarrays.A subarray is a
contiguous part of an array.
Problem 8: - You are given an integer array prices where prices[i] is the price of a given stock on the
ith day, and an integer k.Find the maximum profit you can achieve. You may complete at most k
transactions: i.e., you may buy at most k times and sell at most k times.Note: You may not engage in
multiple transactions simultaneously (i.e., you must sell the stock before you buy again).
Problem 9: - The demons had captured the princess and imprisoned her in the bottom-right corner of
a dungeon. The dungeon consists of m x n rooms laid out in a 2D grid. Our valiant knight was initially
positioned in the top-left room and must fight his way through dungeon to rescue the princess. The
knight has an initial health point represented by a positive integer. If at any point his health point
drops to 0 or below, he dies immediately. Some of the rooms are guarded by demons (represented by
negative integers), so the knight loses health upon entering these rooms; other rooms are either empty
(represented as 0) or contain magic orbs that increase the knight's health (represented by positive
integers).To reach the princess as quickly as possible, the knight decides to move only rightward or
downward in each step. Return the knight's minimum initial health so that he can rescue the princess.
Note that any room can contain threats or power-ups, even the first room the knight enters and the
bottom-right room where the princess is imprisoned.
Complex Problems (LAB)
Problem 10: -There are n children standing in a line. Each child is assigned a rating
value given in the integer array ratings. You are giving candies to these children
subjected to the following requirements: Each child must have at least one candy.
Children with a higher rating get more candies than their neighbours. Return the
minimum number of candies you need to have to distribute the candies to the
children.
Assessment Model (Practical)
CO 2 2 3 3 - -- - -- - -- - -- 2 -- - -- - -- - -- 1 -- - -- - -- -- 2 ---
CO1
CO3 33 -- 3 -- - 3 2 -- 3 -- - -- - -- - -- - -- 2 -- - -- -
-- --- -- -
CO2
CO4 -
-- -- 3 3 - -- 3 -- - -- - -- - -- - -- - -- - -- - -- -- - -- 2 -- -
CO3
CO5 -
-- 3 3 -- - 3 2 -- 3 -- - -- - -- - -- 2-- - -- - -- -- 2 -3 ---
CO4
- - 2 - - - - 1 - - 3 3 - -
CO5
1. Technical Skills:
1. Can you describe a challenging project you completed in the advanced
programming lab?
2. What programming languages and frameworks did you primarily work
with during the lab sessions?
3. How did the advanced programming lab enhance your coding and
problem-solving skills?
2. Project Experience:
1. Could you provide details about a specific project you worked on during
the advanced programming lab?
2. How did you handle challenges or roadblocks that arose during the
development of your projects?
3. What role did you play in your team projects, and how did you
contribute to the overall success?
3. Collaboration and Teamwork:
1. Can you share an example of a successful collaboration with your
peers in the advanced programming lab?
2. How did you manage conflicts or differences of opinion within your
project team?
3. What strategies did you use to ensure effective communication and
coordination among team members?
4. Problem-Solving and Debugging:
1. Describe a situation where you encountered a particularly tricky
programming bug during the lab. How did you approach solving it?
2. How do you typically debug and troubleshoot code, and what tools or
techniques do you find most effective?