UG CSC Syllabus FINAL (19-10-2022)
UG CSC Syllabus FINAL (19-10-2022)
Submitted to
Karnataka State Higher Education Council
Department of Higher Education
Government of Karnataka
Bengaluru.
1
Curriculum Design/Syllabus Framing Committee
2
Index:
3
Model Curriculum Structure
2. Computer Science as MAJOR with another Subject also as MAJOR (Table IIIA of
Model Curriculum)
3. Computer Science as MINOR with another Subject as MAJOR (As per Table IIA of
Model Curriculum)
Sem Discipline Specific Core Courses Hour / Week DS Elective Courses Hours/
(DSC) Theory Lab Week
DSC-3: Object Oriented 4
Programming Concepts and
III Programming in JAVA
DSC-3 Lab: JAVA Lab 4
DSC-4: Database Management 4
IV Systems
DSC-4 Lab: DBMS Lab 4
4
Model Syllabus for BSc (Basic and Honors), Semesters III and IV
Semester: III
Course Title: Object Oriented Programming Course code: DSC3
Concepts and Programming in Java
Total Contact Hours: 52 Course Credits: 04
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
5
References:
1. Programming with Java, By E Balagurusamy – A Primer, 4th
Edition, McGraw Hill Publication.
2. Core Java Volume I – Fundamentals, By Cay S. Horstmann,
Prentice Hall.
3. Object Oriented Programming with Java: Somashekara
M.T., Guru, D.S., Manjunatha K.S, 1st Edition, PHI Learning
2017.
4. Java 2 - The Complete Reference, Herbert Schildt, 5th Edition, McGraw Hill
Publication, 2017.
5. Java - The Complete Reference, Herbert Schildt, 7th Edition,
McGraw Hill Publication, 2017.
6
Course Title: JAVA LAB Course code: DSC3LAB
Total Contact Hours: 52 Hours/week : 04
Formative Assessment Marks: 25 Course Credits: 02
Exam Marks: 25 Duration of Exam: 03 Hours
Programming Lab
1. Program to assign two integer values to X and Y. Using the ‘if’ statement the output of the
program should display a message whether X is greater than Y.
2. Program to list the factorial of the numbers 1 to 10. To calculate the factorial value, use while loop.
(Hint Fact of 4 = 4*3*2*1)
3. Write a Java program to find the GCD of number.
4. Program to add two integers and two float numbers. When no arguments are supplied, give a
default value to calculate the sum. Use function overloading.
5. Program to perform mathematical operations. Create a class called AddSub with methods to add
and subtract. Create another class called MulDiv that extends from AddSub class to use the
member data of the super class. MulDiv should have methods to multiply and divide A main
function should access the methods and perform the mathematical operations.
6. Program with class variable that is available for all instances of a class. Use static variable
declaration. Observe the changes that occur in the object’s member variable values.
7. a. To find the area and circumference of the circle by accepting the radius from the user.
b. To accept a number and find whether the number is Prime or not
7
8. Program to create a student class with following attributes; Enrollment No: Name, Mark of sub1,
Mark of sub2, mark of sub3, Total Marks. Total of the three marks must be calculated only when
the student passes in all three subjects. The pass mark for each subject is 50. If a candidate fails in
any one of the subjects his total mark must be declared as zero. Using this condition write a
constructor for this class. Write separate functions for accepting and displaying student details. In
the main method create an array of three student objects and display the details.
9. Program to define a class called employee with the name and date of appointment. Create ten
employee objects as an array and sort them as per their date of appointment. ie, print them as per
their seniority.
10. Create a package ‘student. Fulltime. BCA ‘in your current working directory
a. Create a default class student in the above package with the following attributes: Name,
age, sex.
b. Have methods for storing as well as displaying
Note: Student has to execute a minimum of 10 programs in each part to complete the Lab course
8
Semester: IV
Explain the various database concepts and the need for database systems.
Identify and define database objects, enforce integrity constraints on a database using
DBMS.
Demonstrate a Data model and Schemas in RDBMS.
Identify entities and relationships and draw ER diagram for a given real-world
problem.
Convert an ER diagram to a database schema and deduce it to the desired normal
form.
Formulate queries in Relational Algebra, Structured Query Language (SQL) for
database manipulation.
Explain the transaction processing and concurrency control techniques.
9
operations on relations. JOIN operations Aggregate Functions and Grouping.
Nested Sub Queries-Views. Introduction to SQL (DDL,DML, DCL, TCL),
Introduction to PL/SQL & programming of above operations in PL/SQL.
References:
1. Fundamentals of Database Systems, Ramez Elamassri, Shankant B. Navathe, 7th Edition,
Pearson, 2015
2. An Introduction to Database Systems, Bipin Desai, Galgotia Publications, 2010.
3. Introduction to Database System, C J Date, Pearson, 1999.
4. Database Systems Concepts, Abraham Silberschatz, Henry Korth, S.Sudarshan, 6th
Edition, McGraw Hill, 2010.
5. Database Management Systems, Raghu Rama Krishnan and Johannes Gehrke, 3rd Edition,
McGraw Hill, 2002
10
DBMS LAB
Course Title: DBMS LAB Course code: DSC4LAB
Total Contact Hours: 52 Hours/week : 04
Formative Assessment Marks: 25 Course Credits: 02
Exam Marks: 25 Duration of Exam: 03 Hours
CO: Student would be able to create tables, execute queries and PL/SQL programs.
11
4. Implement the Nested Queries.
An INVENTORY database has the following table.
ITEMS(itemcode number, name varchar2, price number)
PURCHASE(itemcode number, qty number)
a) Create the tables with the above attributes.
b) Enter 5 tuples into the tables.
c) List the items purchased.
d) List the items which are not purchased by anyone.
12
Model Curriculum for BCA
13
Model Course Content for BCA, Semesters III and IV
Semester: III
Explain the various database concepts and the need for database systems.
Identify and define database objects, enforce integrity constraints on a database using
DBMS.
Demonstrate a Data model and Schemas in RDBMS.
Identify entities and relationships and draw ER diagram for a given real-world
problem.
Convert an ER diagram to a database schema and deduce it to the desired normal
form.
Formulate queries in Relational Algebra, Structured Query Language (SQL) for
database manipulation.
Explain the transaction processing and concurrency control techniques.
14
Relational Algebra: Basic Relational Algebra operations. Set theoretical
operations on relations. JOIN operations Aggregate Functions and Grouping.
Nested Sub Queries-Views. Introduction to SQL (DDL,DML, DCL, TCL) ,
Introduction to PL/SQL & programming of above operations in PL/SQL
References:
1. Fundamentals of Database Systems, Ramez Elamassri, Shankant B. Navathe, 7th Edition,
Pearson, 2015
2. An Introduction to Database Systems, Bipin Desai, Galgotia Publications, 2010.
3. Introduction to Database System, C J Date, Pearson, 1999.
4. Database Systems Concepts, Abraham Silberschatz, Henry Korth, S.Sudarshan, 6th
Edition, McGraw Hill, 2010.
5. Database Management Systems, Raghu Rama Krishnan and Johannes Gehrke, 3rd Edition,
McGraw Hill, 2002
15
Course Title: DBMS LAB Course code: CAC07P
Total Contact Hours: 52 Hours/week : 04
Formative Assessment Marks: 25 Course Credits: 02
Exam Marks: 25 Duration of Exam: 03 Hours
CO: Student would be able to create tables, execute queries and PL/SQL programs.
16
4. Implement the Nested Queries.
An INVENTORY database has the following table.
ITEMS(itemcode number, name varchar2, price number)
PURCHASE(itemcode number, qty number)
a) Create the tables with the above attributes.
b) Enter 5 tuples into the tables.
c) List the items purchased.
d) List the items which are not purchased by anyone.
5. Implement Join operations in SQL
The COMPANY database consists of the tables:
EMPLOYEE (SSN, Name, Address, Sex, Salary, SuperSSN, DNo)
DEPARTMENT (DNo, DName, MgrSSN, MgrStartDate)
Create tables, Insert 5 tuples each and perform the following
a) Give a 10 percent raise in salary for all employees working in the ‘Research’ Department.
b) Retrieve the name of each employee Controlled by department number 5 (use EXISTS operator).
c) Retrieve the name of each dept and number of employees working in each department which has at least
2 employees
d) Retrieve the name of employees and their department name (using NATURAL JOIN)
e) Perform EQUI join operation on the given tables.
f) Perform NON-EQUI join operation on the given tables.
g) Perform OUTER join operations on the given tables.
6. Create views for a particular table
The RAILWAY RESERVATION SYSTEM database consists of the tables:
TRAIN(TrainNo, TrainName, StartPlace, Destination)
AVAILABILITY(TrainNo, Class,StartPlace,Destination,No_of_seats)
a) Create view sleeper to display train no, start place, destination which have sleeper class and perform the
following
insert new record
update destination=’Manglore’ where train no=’RJD16’
delete a record which have train no=’KKE55’
b) Create view details to display train no, train name, class
c) Create view total_seats to display train number, start place, use count function to no of seats , group by
start place and perform the following
insert new record
update start place=’Hubli’ where train no=’JNS8’
delete last row of the view
d) Rename view sleeper to class
e) Delete view details
7. Write PL/SQL procedure to compute factorial of a number using recursion
8. Given the table EMPLOYEE (EmpNo, Name, Salary, Designation, DeptID) write a cursor in PL/SQL to
select the five highest paid employees from the table.
9. Given the table MOVIE(MID,MTitle, Language,Director,Year) write a function in PL/SQL to find the
total number of Movies in the table.
10. Given the Table CUSTOMERS(CID,CName, Address) write a PL/SQL program which asks for
customer ID, if the user enters invalid ID then the exception invalid_id is raised.
17
Course Title: C# and Dot Net Framework Course code: CAC08
Total Contact Hours: 42 Course Credits: 03
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
18
References:
1. "Programming in C#", E. Balagurusamy, 4th Edition, Tata McGraw-Hill, 2017.
2. “Visual Basic.NET”, Shirish Chavan, 3rd Edition, Pearson Education, 2009.
3. “ASP.NET and VB.NET Web Programming”, Matt J. Crouch, Edition 2012.
4. "Computing with C# and the .NET Framework", Arthur Gittleman, 2nd Edition, Jones &
Bartlett Publishers, 2011
Course Title: C# and Dot Net Framework Lab Course code: CAC08P
Total Contact Hours: 52 Hours/week : 04
Formative Assessment Marks: 25 Course Credits: 02
Exam Marks: 25 Duration of Exam: 03 Hours
19
Course Title: Computer Communication and Course code: CAC09
Networks
Total Contact Hours: 42 Course Credits: 03
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
The Data Link Layer: Data Link Layer design issues, Error detection –
Single parity checking, Checksum, polynomial codes – CRC, Error
3 correction- Hamming code, Elementary data link protocols, sliding window 08
protocols
20
Hill,2001.
3. Data and Computer Communications, William Stallings, 10th Edition, Pearson
Education, 2017.
4. Data Communication and Computer Networks, Brijendra Singh, 3rd Edition, PHI, 2012.
5. Data Communication & Network, Dr. Prasad, Wiley Dreamtech.
6. http://highered.mheducation.com/sites/0072967757/index.htmls
21
Semester: IV
22
on Tuples; Tuple Methods; Creating Sets; Operations on Sets; Built-in
Functions on Sets; Set Methods.
File Handling: File Types; Operations on Files– Create, Open, Read, Write,
Close Files; File Names and Paths; Format Operator.
Object Oriented Programming: Classes and Objects; Creating Classes and
4 Objects; Constructor Method; Classes with Multiple Objects; Objects as 08
Arguments; Objects as Return Values; Inheritance- Single and Multiple
Inheritance, Multilevel and Multipath Inheritance; Encapsulation- Definition,
Private Instance Variables; Polymorphism- Definition, Operator Overloading.
GU Interface: The tkinter Module; Window and Widgets; Layout
Management- pack, grid and place.
Python SQLite: The SQLite3 module; SQLite Methods- connect, cursor,
execute, close; Connect to Database; Create Table; Operations on Tables-
Insert, Select, Update. Delete and Drop Records.
Data Analysis: NumPy- Introduction to NumPy, Array Creation using
5 10
NumPy, Operations on Arrays; Pandas- Introduction to Pandas, Series and
DataFrames, Creating DataFrames from Excel Sheet and .csv file, Dictionary
and Tuples. Operations on DataFrames.
Data Visualisation: Introduction to Data Visualisation; Matplotlib Library;
Different Types of Charts using Pyplot- Line chart, Bar chart and Histogram
and Pie chart.
References:
1. Think Python How to Think Like a Computer Scientist, Allen Downey et al., 2n
Edition, Green Tea Press. Freely available online @
https://www.greenteapress.com/thinkpython/thinkCSpy.pdf, 2015.
2. Introduction to Python Programming, Gowrishankar S et al., CRC Press, 2019.
3. Python Data Analytics: Data Analysis and Science Using Pandas, matplotlib, and the
Python Programming Language, Fabio Nelli, Apress®, 2015
4. Advance Core Python Programming, MeenuKohli, BPB Publications, 2021.
5. Core PYTHON Applications Programming, Wesley J. Chun, 3rd Edition, Prentice Hall
2012.
6. Automate the Boring Stuff, Al Sweigart, No Starch Press, Inc, 2015.
7. Data Structures and Program Design Using Python, D Malhotra et al., Mercury
Learning and Information LLC, 2021.
8. http://www.ibiblio.org/g2swap/byteofpython/read/
9. https://docs.python.org/3/tutorial/index.html
23
Programs for Practical Component:
Part-B
1. Demonstrate usage of basic regular expression
2. Demonstrate use of advanced regular expressions for data validation.
3. Demonstrate use of List
4. Demonstrate use of Dictionaries
5. Create SQLite Database and Perform Operations on Tables
6. Create a GUI using Tkinter module
7. Demonstrate Exceptions in Python
8. Drawing Line chart and Bar chart using Matplotlib
9. Drawing Histogram and Pie chart using Matplotlib
10. Create Array using NumPy and Perform Operations on Array
11. Create DataFramefrom Excel sheet using Pandas and Perform Operations on
DataFrames
24
Course Title: Computer Multimedia & Animation Course code: CAC11
Total Contact Hours: 42 Course Credits: 03
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
Course Outcomes (COs):
At the end of the course, students will be able to:
Write a well-designed, interactive Web site with respect to current standards and
practices.
Demonstrate in-depth knowledge of an industry-standard multimedia development
tool and its associated scripting language.
Determine the appropriate use of interactive versus standalone Web applications.
25
References:
1. The Complete Reference HTML and CSS, 5th Edition, Thomas A Powell, 2017.
2. Animation in HTML, CSS, and JavaScript, Kirupa Chinnathambi, 1st Edition,
Createspace Independent Pub, 2013.
3. https://www.w3.org/Style/CSS/current-work#CSS3
4. http://bedford-computing.co.uk/learning/cascading-style-sheets-css/
26
Course Title: Multimedia Animation Lab Course code: CAC11P
Total Contact Hours: 52 Course Credits: 02
Formative Assessment Marks: 25 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 25
Part-A
1. Write an HTML program to display Multi-media data (text, images, audios, videos, gifs, etc) on a
webpage.
2. Write an HTML program to create and display navigations menus using list tags and anchor tag
3. Write a HTML code to create your class time table.
4. Write an HTML code to create a frameset having header, navigation and content sections.
5. Write an HTML program to create student Registrations form on submitting the form check
whether fields are empty or not using JavaScript. If any fields are empty display an error message
6. Write an HTML program to create bio-data(CV or Resume) and to change the following CSS
properties
Font
Text
Background
7. Write an HTML program to create div and apply the following CSS properties on created div
Margin
Padding
Border
Box shadow
8. Write an HTML program to create a box and using CSS transform and transition properties move
the box to the center of the web page on loading web-page
9. Write an HTML program to create a circle and create an animation of bouncing of the circle for 10
sec
10. Write an HTML program to create page loading animations
Part-B
1. Write an HTML program to draw line, polyline and rectangle and fill rectangle with red color
using SVG tag.
2. Write an HTML program to draw star and multiple circle and with different color using SVG tag
3. Write an HTML program to create logo with linear gradient properties using SVG tag.
4. Write an HTML program to draw Square and Rectangle using canvas tag and JavaScript
27
5. Write an HTML program to draw bezier curve using canvas tag and JavaScript
6. Write an HTML Program to import an external image into a canvas and then to draw on that image
7. Write an HTML program to draw a rectangle box using canvas and to change background color to
red, scale of the rectangle to 2 on move-over (hover) properties.
8. Write an html program to draw a circle using canvas and to apply the rotations animations on
loading the page
28
Course Title: Operating System Concepts Course code: CAC12
Total Contact Hours: 42 Course Credits: 03
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
29
Memory Management: Logical and Physical Address Space; Swapping;
Contiguous Allocation; Paging; Segmentation; Segmentation with Paging.
4 Virtual Memory: Introduction to Virtual Memory; Demand Paging; Page 08
Replacement; Page Replacement Algorithms; Allocation of frames,
Thrashing.
File System: File Concepts- Attributes, Operations and Types of Files; File
System; File Access methods; Directory Structure; Protection; File System
5 Implementation- File System Structure, Allocation Methods, Free Space 06
Management
References:
1. Operating System Concepts, Silberschatz’ et al., 10thEdition, Wiley, 2018.
2. Operating System Concepts - Engineering Handbook, Ghosh PK, 2019.
3. Understanding Operating Systems, McHoes A et al., 7th Edition, Cengage Learning,
2014.
4. Operating Systems - Internals and Design Principles, William Stallings, 9th Edition,
Pearson.
5. Operating Systems – A Concept Based Approach, Dhamdhere, 3rd Edition, McGraw
Hill Education India.
6. Modern Operating Systems, Andrew S Tanenbaum, 4th Edition, Pearson.
30
Skill Enhancement Course: SEC for B.Sc. & other Subject Students
Semester: III/IV
Course Title: Artificial Intelligence Course Credits: 2
Total Contact Hours: 13 hours of theory and 26 hours of Duration of ESA: 01 Hour
practical
Formative Assessment Marks: 20 marks Summative Assessment Marks:
30 marks
31
Course – 2 - DA-100 pathway consists of 5 courses and 2 reading material: 08 hours
Data Analyst 1. Get started with Microsoft data analytics
Associate 2. Prepare data for analysis
(DA-100) 3. Model data in Power BI
4. Visualize data in Power BI
5. Data analysis in Power BI
6. Manage workspaces and datasets in Power BI
7. Key Influencers Visualizations Tutorial - Power BI
8. Smart Narratives Tutorial - Power BI | Microsoft Docs
Pedagogy
Flipped classroom pedagogy is recommended for the delivery of this course.
For every class:
1. All the faculty who takes this class should go for a Faculty Development Program on
these before starting the session.
2. Faculty needs to introduce this course to the students then students need to start
learning from Future Skills PRIME platform.
3. Faculty also needs to explain the course outcomes and needs of the course and why it
is needed for the students.
4. Then students need to start learning online after registering on the platform.
5. Classroom activities are designed around the topic of the session towards developing
better understanding, clearing doubts and discussions of high order thinking skills like
application, analysis, evaluation, and design.
6. Every theory class ends with announcement of exercise for practical activity of the
week.
Exercises:
32
Assessment:
Formative Assessment
Assessment Occasion Weightage in Marks
1. Summative Assessment: After completion of This assessment may be given
both the courses, the student can optionally give 50% weight in computing the
Assessment for each of the courses on Future final grade of the students.
Skills Prime platform. Students will have two
attempts and those who score at least 50% marks
per course will get certificate from NASSCOM-
MeitY.
33
Open Source Tools
(Skill Enhancement Course: SEC for BCA Course)
Semester: III
Course Title: Open Source Tools Course Credits: 2 (1L+0T+2P)
Semester: III Duration of SEE: 01 Hour
Total Contact Hours: 13 hours of theory and 26-28 SEE: 30 Marks
hours of practicals IA: 20 Marks
Text Book:
1. KailashVadera, Bhavyesh Gandhi, “Open Source Technology”, Laxmi Publications Pvt.
Ltd 2012, 1st Edition.
Reference Book:
1. Fadi P. Deek and James A. M. McHugh, “Open Source: Technology and Policy”,
Cambridge Universities Press 2007.
34
Open Elective for III & IV Semester
Unit IV 08 Hrs
Python Functions: Types of Functions; Function Definition- Syntax, Function Calling,
Passing Parameters/arguments, the return statement; Default Parameters; Command line
Arguments; Key Word Arguments; Illustrative programs.
35
Unit V 06 Hrs
Strings: Creating and Storing Strings; Accessing Sting Characters; the str() function;
Operations on Strings- Concatenation, Comparison, Slicing and Joining, Traversing; Format
Specifiers; Escape Sequences; Raw and Unicode Strings; Python String Methods; Illustrative
programs.
References
1. Computer Fundamentals (BPB), P. K. Sinha & Priti Sinha
2. Think Python How to Think Like a Computer Scientist, Allen Downey et al., 2nd
Edition, Green Tea Press. Freely available online 2015.
@https://www.greenteapress.com/thinkpython/thinkCSpy.pdf
3. Introduction to Python Programming, Gowrishankar S et al., CRC Press, 2019.
4. http://www.ibiblio.org/g2swap/byteofpython/read/
5. http://scipy-lectures.org/intro/language/python_language.html
6. https://docs.python.org/3/tutorial/index.html
36
Open Elective
ELECTRONIC COMMERCE
37
Text Book:
1. Kenneth C. Laudon, Carol Guercio Traver - E-Commerce, Pearson, 10th Edition, 2016
References:
1. http://docs.opencart.com/
2. http://devdocs.magento.com/
3. http://doc.prestashop.com/display/PS15/Developer+tutorials
4. Robbert Ravensbergen, ―Building E-Commerce Solutions with Woo Commerce‖,
PACKT, 2nd Edition
38