Programming Abstraction CHO CS179
Programming Abstraction CHO CS179
RB7: DATA STRUCTURES AND ABSTRACTIONS WITH JAVA, 5TH EDITION, Frank Carrano, Timothy Henry,
Pearson Publications.
RB8: Programming Abstractions in C by Eric S. Roberts 1stEdition, Pearson Publication
RB9: Data Structures using Java by Robert Lafaore, 2nd Edition, Sams Publishing, ISBN13: 978-0672324536
6. Course Plan:
Lecture Topics Recommended Book /
Number Other reading material
1–3 Revision - Java Link 1, RB5
4–7 Arrays - Algorithms such as Linear Search, Binary Search, Sorting, Link 2, RB7
Maximum Subarrays, and Searching
8 – 12 Strings - String Class and its useful methods. Concept of immutability, Link 3, RB6
memory diagram, intern pool, use of new keyword in generating strings.
31 – 36 Data Structures and OOPS – Types and Examples of Data structures with Link 12, RB1, RB9
their programming abstractions in context with typical concepts of
Object-Oriented Paradigm
37 – 40 OOPS – Encapsulation, Inheritance, Virtual base class, Overriding member Link 13, RB2, RB9
functions
41 – 44 Virtual Functions and Polymorphism: Concept of Binding - Early binding Link 14, RB1, RB2
and late binding
45 – 48 Virtual functions, Pure virtual functions, Abstract classes Link 15, RB1, RB2
49 – 50 Exception Handling, Templates and Generic Programming Link 16, RB1, RB2
51 – 55 Linked List – types, implementation, examples and applications with in- Link 17, RB9, Javatpoint
context Programming abstractions.
56 – 60 Stack and its operations with Hands-on implementation of its Link 18, Programiz
applications.
61 – 66 Some typical problems using Stack such as Histogram Area, Stock Span, Link 19, GFG,
andBalanced Parentheses etc. HackerRank
67 – 70 Stacks implementation using Arrays, Linked Stacks Link 17 to Link 20, GFG
ST-II (Syllabus covered from 19-70 lectures)
71 – 78 2 stacks in an Array, k stacks in an array, Tower of Hanoi, Queues Link 18, Link 19, Link 27,
implementation using Arrays, Linked Queues Link 28, RB4
79 – 86 Circular Queues, Implement Queue using Stacks, Dequeues Link 19, Link 20, RB6
87 – 90 Revision and Queries Doubt Clearance window, Out of the Box stuff along Link 26, RB4, RB6
with Beyond Curricula Topics such as Dynamic Programming.
ETE (Syllabus covered from 1-90 lectures)
7. Delivery/Instructional Resources
Lecture PPT Industry Expert Web Audio-Video
Number Topics (link of ppts on Session References
the central (If yes: link of ppts
server) on the central
server)
1–3 Revision - Java https://cs.calvi
n.edu/activitie
s/books/java/i
ntro/1e/PPSlid
es/chap02.ppt
4–7 Arrays - Algorithms such as https://cse.iitk https://personal.u https://ww
Linear Search, Binary Search, gp.ac.in/~bivas tdallas.edu/~daes w2.cs.uh.ed
Sorting, Maximum Subarrays, m/pds_notes/ cu/max- u/~rizk/cosc
and Searching
search_sort_v subarray.pptx 2430/slides/
1.ppt 07-sort-99-
intro.ppt
8 – 12 Strings - String Class and its http://www.cs https://courses.cs.
useful methods. Concept of .nthu.edu.tw/~ washington.edu/c
immutability, memory d9662827/cs3 ourses/cse331/11
diagram, intern pool, use of
40100_97/11_ sp/lectures/slides/
new keyword in generating
strings. Problem solving in String.ppt 07-mutation.ppt
which various problems will
be covered using String
13 - 15 Bit masking - In this section, https://www.s
we will understand how cribd.com/doc
Bitwise operators like AND, ument/420973
OR, XOR, and NOT to work on
335/Lecture-
machine code to help write
the programs that works 01-Bitmasking
faster, since computer
understands machine code.
This concept is also very
useful in Recursion as well as
Dynamic programming
advanced concepts.
16 – 18 Recursion, Need of recursion, https://www.c https://cs.fit.edu/
with examples problems. se.unr.edu/~b ~pkc/classes/cse1
ebis/CS308/Po 001/slides/ch11.p
werPoint/Recu pt
rsion.ppt
19 – 21 Deep Dive into Recursion – https://people
More complex recursive .cs.umass.edu/
applications using arrays and ~moss/187/lec
strings.
tures/lecture-
h-
recursion.ppt
22 – 25 Backtracking and its https://course
applications s.cs.washingto
n.edu/courses
/cse373/15su/l
ectures/lectur
e22.pptx
26 – 30 Time and Space Complexities https://sites.cs https://www.cs.b
– Concept and Calculations .ucsb.edu/~sur ham.ac.uk/~jxb/D
along with special emphasis i/cs130a/intro- SA/dsa.pdf
on Algorithms and data
1.ppt
structures studies thus far.
31 – 36 Data Structures and OOPS – https://iare.ac. https://www.cet.e
Types and Examples of Data in/sites/defaul du.in/noticefiles/2
structures with their
Q.ppt
71 – 78 2 stacks in a Array, k stacks in https://cse.iitk https://ww
an array, Tower of Hanoi, gp.ac.in/pds/s w.codingninj
Queues implementation emester/2017 as.com/studi
using Arrays, Linked Queues
s/DSM/resour o/library/tw
ces/slides/13 o-stacks-in-
%20Stacks%20 an-array
and%20Queue
s.pptx
79 – 86 Circular Queues, Implement https://course https://www.cse.i
Queue using Stacks, s.cs.washingto itd.ac.in/~mohant
Dequeues n.edu/courses y/col106/Resourc
/cse373/12sp/ es/Week2-stacks-
lectures/03- queues.pptx
28-queues/02-
queues.ppt
87 – 90 Revision and Queries Doubt https://www2
Clearance window, Out of the .cs.sfu.ca/~bin
Box stuff along with Beyond ay/2018/409/
Curricula.
DynamicProgr
amming.pptx
*As per Academic Guidelines minimum 75% attendance is required to become eligible for appearing in the
End Semester Examination.