Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
76 views

Programming Abstraction CHO CS179

The document provides a course plan for a Programming Abstractions course. It includes the course details like name, code, credits, coordinator. It lists the objectives to make students ready for programming jobs and strengthen problem solving skills. The course learning outcomes are also mentioned which are understanding OOP concepts, applying data structures, implementing robust programs, analyzing concepts like bit masking and dynamic programming. The plan lists recommended books and other online resources. It provides a week-wise topic distribution covering arrays, strings, bit masking, recursion, backtracking, data structures, OOP concepts, stacks, queues and their implementations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views

Programming Abstraction CHO CS179

The document provides a course plan for a Programming Abstractions course. It includes the course details like name, code, credits, coordinator. It lists the objectives to make students ready for programming jobs and strengthen problem solving skills. The course learning outcomes are also mentioned which are understanding OOP concepts, applying data structures, implementing robust programs, analyzing concepts like bit masking and dynamic programming. The plan lists recommended books and other online resources. It provides a week-wise topic distribution covering arrays, strings, bit masking, recursion, backtracking, data structures, OOP concepts, stacks, queues and their implementations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Course Plan

A. Course Handout updated on 27th June, 2023

Institute/School Name Chitkara University Institute of Engineering and Technology


Department Name Computer Science & Engineering
Programme Name Bachelor of Engineering, Computer Science & Engineering
Course Name Programming Abstractions Session 2023-2024
Course Code CS179 Semester/Batch 5th/2021
L-T-P (Per Week) 8-0-0 Course Credits 04
Course Coordinator Dr. Tejinder Kaur

1. Objectives of the Course


The course provides a wide scope of learning & understanding of the subject and the main objectives of the
course are:
• To make students ready for the programming jobs in software-product based companies.
• Strong problem-solving skills and computer science fundamentals.
• Identify importance of object-oriented programming and difference between structured oriented and
object-oriented programming features.
• Exercise and reinforce prior programming knowledge to effectively code standard problems and
algorithms with optimized complexity.

2. Course Learning Outcomes

After completion of the course, students will be able to do the following:


CO1: Understand the basic concept of object-oriented programming such as array, polymorphism,
encapsulation etc.
CO2: Exemplify the concept of data structure and able to identify appropriate data structure while designing
the algorithms.
CO3: Implement a well-structured, robust computer program.
CO4: Analysis the concept of Bit Masking, recursion and dynamic programming to implement it on real time
applications.
CO5: Reviewing the concept of backtracking and object-oriented dynamic programming to implement on
software based real time applications.

CO-PO Mapping Grid


Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Outcomes
CO1 M
CO2 H H H H M
CO3 H H
CO4 H H H M M
CO5 H H M M H H

3. Recommended Books (Reference Books/Text Books):


RB1: Object Oriented Programming with C++ by E Balagurusamy, 2001, Tata McGraw-Hill.
RB2: Object Oriented Programming in Turbo C++ by Robert Lafore, 1994, The WAITE Group Press.
RB3: Complete Reference C++, Herbert Schlitz, TMH.
RB4: Cracking the Coding interviews 6th edition by Gayle Laakmann McDowell
RB5: Java: The Complete Reference by Herbert Schildt, 9th Edition, Oracle Press and McGraw Hill Publishers.
RB6: Data Structures and Algorithms Made Easy by Narasimha Karumanchi

Programming Abstractions / CS179 Page 1 of 8


Course Plan

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

4. Other readings and relevant websites:

S. No. Links of Journals, Magazines, websites and Research Papers


1 https://www.tutorialspoint.com/java/java_quick_guide.htm
2 https://thecleverprogrammer.com/2020/10/25/the-fundamentals-of-c-programming-
language/?msclkid=333199a8bece11ec8c83bf5534909d32
3 https://www.javatpoint.com/cpp-array-of-pointers?msclkid=966ad51dbece11ec949a8b0b78205a7d
4 https://www.w3schools.com/cpp/default.asp
5 https://www.programiz.com/cpp-programming/variables-literals
6 https://www.geeksforgeeks.org/array-data-structure/?ref=shm
7 https://www.geeksforgeeks.org/bitmasking-and-dynamic-programming-set-1-count-ways-to-assign-
unique-cap-to-every-person/
8 https://www.geeksforgeeks.org/recursion-practice-problems-solutions/
9 https://www.youtube.com/watch?v=IJDJ0kBx2LM
10 https://www.simplilearn.com/tutorials/data-structure-tutorial/backtracking-algorithm
11 https://towardsdatascience.com/space-and-time-complexity-in-computer-algorithms-
a7fffe9e4683?gi=287c4af61600
12 https://www.educative.io/blog/object-oriented-programming
13 https://medium.datadriveninvestor.com/mastering-object-oriented-programming-in-c-672773d87388
14 https://www.codesdope.com/cpp-virtual-and-abstract/
15 https://www.studytonight.com/cpp/abstract-class-and-pure-virtual.php
16 http://www.nou.ac.in/Online%20Resourses/01-09/bca5.pdf
17 http://www.btechsmartclass.com/data_structures/stack-using-linked-list.html
18 https://iq.opengenus.org/implement-stack-using-array-and-linked-list/
19 https://coderbyte.com/algorithm/implement-queue-using-two-stacks
20 https://www.programiz.com/dsa/deque
21 https://opendsa-
server.cs.vt.edu/ODSA/Books/CS3/html/StackLinked.html#:~:text=Linked%20Stack%20Implementation,o
f%20zero%20or%20one%20elements.
22 https://enos.itcollege.ee/~jpoial/allalaadimised/reading/Java-Abstraction.pdf
23 https://www.e-booksdirectory.com/details.php?ebook=10953
24 https://inst.eecs.berkeley.edu/~cs61a/su12/lec/notes/data.html
25 https://cs.stanford.edu/people/eroberts/books/ProgrammingAbstractionsInJava/index.html
26 https://www.youtube.com/watch?v=oBt53YbR9Kk
27 https://www.mathsisfun.com/games/towerofhanoi.html
28 https://prepinsta.com/c-program/implementation-of-queues-using-linked-list/

5. Recommended Tools and Platforms


C++Builder, Visual Studio Code, GCC Compiler, Eclipse, J2EE, vlab.

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.

Programming Abstractions / CS179 Page 2 of 8


Course Plan

Problem solving in which various problems will be covered using String


13 - 15 Bit masking - In this section, we will understand how Bitwise operators Link 4, RB8
like AND, OR, XOR, and NOT to work on machine code to help write the
programs that works 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, with examples problems. Link 5, GFG, RB4

ST-I (Syllabus covered from 1-18 lectures)


19 – 21 Deep Dive into Recursion – More complex recursive applications using Link 6, RB6
arrays and strings.
22 – 25 Backtracking and its applications Link 10, RB6
26 – 30 Time and Space Complexities – Concept and Calculations along with Link 8, RB4, RB8
special emphasis on Algorithms and data structures studies thus far.

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

Programming Abstractions / CS179 Page 3 of 8


Course Plan

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

Programming Abstractions / CS179 Page 4 of 8


Course Plan

programming abstractions in t/files/PPT/JAV 85_OOPS%20lectu


context with typical concepts A-PPT'S.pdf re%20notes%20C
of Object-Oriented Paradigm omplete.pdf
37 – 40 OOPS – Encapsulation, https://cs.slu.e
Inheritance, Virtual base du/~chambers
class, Overriding member /spring17/320
functions
0/schedule/ch
apter9.ppt
41 – 44 Virtual Functions and http://web.cse https://ecs.syr.ed
Polymorphism: Concept of .ohio- u/faculty/fawcett/
Binding - Early binding and state.edu/~so Handouts/cse775/
late binding,
undarajan.1/c Presentations/late
ourses/45922/ binding.ppt
WeiDu/lecture
7.ppt
45 – 48 Virtual functions, Pure virtual https://course https://www.cs.cc
functions, Abstract classes s.cs.washingto u.edu.tw/~naiwei/
n.edu/courses cs2160/chap15cp
/cse374/21au/ p3rd.ppt
lectures/lectur
e23.pptx
49 – 50 Exception Handling, https://techiefood
Templates and Generic 4u.files.wordpress
Programming .com/2018/10/uni
t_4_v_3-2.pptx
51 – 55 Linked List – types, https://cse.iitk
implementation, examples gp.ac.in/pds/s
and applications with in- emester/2016
context Programming
a/JM/Wk11-
abstractions.
linkedlist.ppt
56 – 60 Stack and its operations with https://www.c
Hands-on implementation of s.utexas.edu/~
its applications. scottm/cs307/
handouts/Slid
es/Topic15Sta
cks.ppt
61 – 66 Some typical problems using https://ww
Stack such as Histogram Area, w.geeksforg
Stock Span, andBalanced eeks.org/ap
Parantheses etc.
plications-
advantages-
and-
disadvantag
es-of-stack/
67 – 70 Stacks implementation using https://www.c
Arrays, Linked Stacks s.bu.edu/fac/g
kollios/cs113/
Slides/LinkedS

Programming Abstractions / CS179 Page 5 of 8


Course Plan

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

8. Action plan for different types of learners


Slow Learners Average Learners Advanced Learners
• Remedial Class for slow learners • Doubt Class for average learners • Certification exams will be
to revise specific topics. • Doubts of individual student will be offered to interested
• Individual feedback of each resolved. students.
slow learner.

9. Evaluation Scheme & Components:


Evaluation Type of Component No. of Weightage of Mode of
Component Assessments Component Assessment
Component 2 Subjective Test/Sessional Tests (STs) 02* 40% Offline

Component 3 End Term Examinations 01 60% Offline


Total 100%
*Out of 2 STs, the ERP system automatically picks the best 1 ST marks for evaluation of the STs as final marks.

10. Details of Evaluation Components:

Evaluation Description Syllabus Covered Timeline of Examination Weightage


Component (%) (%)
th
ST 01 Up to 20% 4 Week
Component 2 40%
ST 02 21% - 80% 10th Week
Component 3 End Term Examination* 100% 12th Week 60%
Total 100%

Programming Abstractions / CS179 Page 6 of 8


Course Plan

*As per Academic Guidelines minimum 75% attendance is required to become eligible for appearing in the
End Semester Examination.

11. Syllabus of the Course:

Lecture Topics No. of Lectures Weightage %


Number
1–3 Revision - Java 3
4–7 Arrays - Algorithms such as Linear Search, Binary Search, Sorting,
4
Maximum Subarrays, and Searching
8– 12 Strings - String Class and its useful methods. Concept of
immutability, memory diagram, intern pool, use of new keyword in
4
generating strings. Problem solving in which various problems will
be covered using String 20 %
13 - 15 Bit Masking - In this section, we will understand how Bitwise
operators like AND, OR, XOR, and NOT to work on machine code to
help write the programs that works faster, since computer 4
understands machine code. This concept is also very useful in
Recursion as well as Dynamic programming advanced concepts.
16 – 18 Recursion, Need of recursion, with examples problems. 3
19 – 21 Deep Dive into Recursion – More complex recursive applications
3
using arrays and strings.
22 – 25 Backtracking and its applications 4
26 – 30 Time and Space Complexities – Concept and Calculations along with
special emphasis on Algorithms and data structures studies thus far. 5
25 %
31 – 36 Data Structures and OOPS – Types and Examples of Data structures
with their programming abstractions in context with typical 6
concepts of Object-Oriented Paradigm
37 – 40 OOPS – Encapsulation, Inheritance, Virtual base class, Overriding
4
member functions
41 – 44 Virtual Functions and Polymorphism: Concept of Binding - Early
4
binding and late binding,
45 – 48 Virtual functions, Pure virtual functions, Abstract classes 4
49 – 50 Exception Handling, Templates and Generic Programming 2 25 %
51 – 55 Linked List – types, implementation, examples and applications with
in-context Programming abstractions. 5

56 – 60 Stack and its operations with Hands-on implementation of its


5
applications.
61 – 66 Some typical problems using Stack such as Histogram Area, Stock
Span, andBalanced Parentheses etc. 5

67 – 70 Stacks implementation using Arrays, Linked Stacks 5 30 %


71 – 78 2 stacks in a Array, k stacks in an array, Tower of Hanoi, Queues
implementation using Arrays, Linked Queues 8

79 – 86 Circular Queues, Implement Queue using Stacks, Dequeues 8


87 – 90 Revision and Queries Doubt Clearance window, Out of the Box stuff
4
along with Beyond Curricula.

Programming Abstractions / CS179 Page 7 of 8


Course Plan

This Document is approved by:

Designation Name Signature

Course Coordinator Dr. Tejinder Kaur

Head Academic Delivery Dr. Susheela Hooda

Dean 3rd Year Dr. Rupali Gill

Date (DD/MM/YYYY) 27/06/2023

Programming Abstractions / CS179 Page 8 of 8

You might also like