0% found this document useful (0 votes)
1 views

Computer_Sc_relevant_pgs_only

The document outlines the revised syllabus for Computer Science courses at the University of Delhi, effective from the academic year 2019-20, applicable to various student categories. It details the course structure, including core, elective, and ability enhancement courses, along with specific course objectives and learning outcomes for key subjects like Problem Solving using Computers and Database Management Systems. Additionally, it includes practical components, assessment methods, and a tentative teaching plan for the courses.

Uploaded by

JOYSON GEORGE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Computer_Sc_relevant_pgs_only

The document outlines the revised syllabus for Computer Science courses at the University of Delhi, effective from the academic year 2019-20, applicable to various student categories. It details the course structure, including core, elective, and ability enhancement courses, along with specific course objectives and learning outcomes for key subjects like Problem Solving using Computers and Database Management Systems. Additionally, it includes practical components, assessment methods, and a tentative teaching plan for the courses.

Uploaded by

JOYSON GEORGE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

दिल्ली विशिविद्यालय


UNIVERSITY OF DELHI
Computer Science Courses
for
Physical Science/ Mathematical Science

(Effective from Academic Year 2019-20)

Revised Syllabus as approved by

Academic Council
Date: No:
Executive Council
Date: No:

Applicable for students registered with Regular Colleges, Non Collegiate


Women’s Education Board and School of Open Learning
4. To design, implement, and evaluate a computer-based system, process or program to
meet the desired needs.
5. To communicate effectively with a range of audiences

3.1 Course Structure for Under -Graduate (Non-Hons.) Programme

Course Credits

Theory+ Practical Theory+ Tutorial


=====================================================================
=============
I. Core Course 12X4=48 12X5=60

(12 Papers)
Core Course Practical / Tutorial*
Two papers – English
Two papers – MIL
Four papers – Discipline 1.
Four papers – Discipline 2.
Core Course Practical / Tutorial 12X2=24 12X1=12
(12 Practicals)

II. Elective Course 6X4=24 6X5=30


(6 Papers)
Two papers- Discipline 1 specific
Two papers- Discipline 2 specific
Two papers- Inter disciplinary
Two papers from each discipline of choice
and two papers of interdisciplinary nature.
Elective Course Practical / Tutorials 6X2=12 6X1=6
(6 Practical/ Tutorials)
Two papers- Discipline 1 specific
Two papers- Discipline 2 specific
Two papers- Generic (Inter disciplinary)
Two papers from each discipline of choice
including papers of interdisciplinary nature.
• Optional Dissertation or project work in place of one elective paper (6 credits) in 6th Semester

III. Ability Enhancement Courses


Ability Enhancement Compulsory Courses (AECC) 2X4=8 2X4=8
(2 Papers of 4 credits each)
Environmental Science
English Communication/MIL
Skill Enhancement Courses (SEC) 4X4=16 4X4=16
(4 Papers of 4 credits each) ________ ______
Total credits 132 132

Note: The institute should evolve a system/ policy about ECA/ General Interest/ Hobby/
Sports/ NCC/ NSS/ related courses on its own.
* Wherever there is a practical there will be no tutorial and vice-versa
4
3.2 Semester Wise Placement of Computer Science Courses

Sem- Ability Skill Elective


ester Discipline Specific Enhanceme Enhanceme Discipline
Core Course (DSC) nt nt Course Specific
(4) Compulsor (SEC) (DSE)
y Course (4) (2)
(AEC)
(2)
I BSCS01 AECC 1

II BSCS02 AECC 2

III BSCS03 BSCS07A


BSCS07B
IV BSCS04 BSCS08A
BSCS08B
V BSCS09A BSCS05A
BSCS09B BSCS05B
VI BSCS10A BSCS06A
BSCS10B BSCS06B
BSCS06C

Discipline Specific Core Papers (DSC) for Computer Science (Credit: 06 each)

1. BSCS01: Problem Solving using Computers


2. BSCS02: Database Management Systems
3. BSCS03: Operating System
4. BSCS04: Computer System Architecture

Discipline Specific Elective Papers: (Credit: 06 each) (DSE-1, DSE -2)

Choose One from each group.

Options for DSE1:


1. BSCS05A: Data Structures
2. BSCS05B: Digital Image Processing

Options for DSE2:


1. BSCS06A: Computer Networks
2. BSCS06B: Analysis of Algorithms
3. BSCS06C: Project Work / Dissertation

Skill Enhancement Elective Courses


(SEC1, SEC2, SEC3, SEC4)

5
Choose one from each group.

Options for SEC1:


1. BSCS07A: Data Analysis using Python Programming
2. BSCS07B: Introduction to R Programming

Options for SEC2:


1. BSCS08A : Programming in C++
2. BSCS08B: Programming in Java

Options for SEC3:


1.BSCS09A: Advanced Programming in Java
2. BSCS09B: Web Design using HTML5

Options for SEC4:


1. BSCS10A: Android Programming
2. BSCS10B: PHP Programming

Note:
1. There will be one batch of 10-15 students for practical classes. The size of tutorial group
for papers without practical is recommended to be 8-10 students.
2. Each practical will carry 50 marks including 25 marks for continuous evaluation and 5
marks for the oral viva.
3. Colleges are advised and encouraged to conduct the practical using Free and Open
Source Software (FOSS)
4. At least two questions have to be compulsorily attempted in the final practical
examination.
5. Softcopy of all the practical must be maintained by each student for each practical paper.
6. Discipline specific core and elective courses (DSC and DSE) are to be taught as 4 Hrs
theory and 4 Hrs practical per week. In case the course has tutorials, it is to be taught as 5
Hrs theory and 1 Hr tutorial per week
7. Skill enhancement courses (SEC) are to be taught as 2 Hrs theory and 4 Hrs practical per
week.
8. Practical given for the courses are only indicative, and by no means exhaustive.
Instructor may add more complex problems in laboratory depending on the ability of the
students.

4. Detailed Syllabi of Computer Science Courses for BSc Physical Science/Mathematical


Science

Problem Solving using Computers


(BSCS01)
Core Course - (CC) Credit:6

Course Objective

6
This course is designed as the first course in programming to develop problem solving
skills. The course focuses on modularity, reusability, code documentation, and debugging skills.
It also introduces the concept of object-oriented programming.

Course Learning Outcomes

On successful completion of the course, students will be able to:

1. describe the components of a computer and the notion of an algorithm.


2. apply suitable programming constructs and data structures to solve a problem.
3. develop, document, and debug modular python programs.
4. use classes and objects in application programs.
5. use files for I/O operations.

Unit 1

Computer Fundamentals and Problem Solving: Basic Computer Organization: CPU,


memory, I/O Units. Problem solving using computer, notion of an algorithm.

Unit 2

Introduction to Python Programming: Python interpreter, using python as calculator, python


shell, indentation, identifiers and keywords, literals, strings, arithmetic, relational and logical
operators.

Unit 3

Creating Python Programs: Input and output statements, defining functions, control statements
default arguments, errors and exceptions.

Unit 4

Inbuilt Data Structures: strings, lists, sets, tuples, nested lists, built-in functions, dictionary
and associated operation.

Unit 5

Object Oriented Programming: Introduction to Classes, Objects and Methods, Standard


Libraries, File handling through libraries.

Unit 6

Sorting and Searching: Iterative and Recursive methods for searching and sorting

Practical

1. Execution of expressions involving arithmetic, relational, logical, and bitwise operators

7
in the shell window of Python IDLE.
2. Write a Python function to produce the following outputs.

(a) *

**

***

*****

******

*******

(b) $$$$$

$$

$$

$$

$$$$$

3. Write a Python program to illustrate the functions of math module specified by the
instructor in laboratory.
4. Write a Python program to produce a table of sins, cosines and tangents. Make a variable
x in range from 0 to 10 in steps of 0.2. For each value of x, print the value of sin(x),
cos(x) and tan(x).
5. Write a menu driven program to calculate the area of Square, rectangle, circle and
triangle. Use suitable assertions.
6. Write a Python function that takes a number as an input from the user and computes its
factorial. Then find the sum of the n terms of the following series:

1 + 1/1! + 1/2! + 1/3! + … + 1/n

7. Write a Python function to return n th terms of Fibonacci sequence


8. Write a function that takes a number as an input and finds its reverse and computes the
sum of its digits.
9. Write a function that takes two numbers as input parameters and returns their least
common multiple.
10. Write a function that takes a number as an input and determine whether it is prime or not.
11. Write a Python function that takes a string as an input from the user and displays its
reverse.

More exercises using sets, lists and dictionary, as announced by instructor in the laboratory.

8
References
1. Downey, A.B. (2008). Think Python–How to think like a Computer Scientist. Needham,
Massachusetts : Green Tea Press.
2. Urban, M. & Murach, J. (2018). Python Programming. Shroff.

Additional Resources
1. Guttag, J. V. (2013). Introduction to computation and programming using Python. MIT
Press.
2. Liang, Y. D. (2013). Introduction to Programming using Python. Pearson.
3. Taneja, S. & Kumar, N. (2018). Python Programming - A modular Approach. Pearson.

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1-Computer Fundamentals and Problem Solving:


Week 1 - 2 Basic Computer Organization: CPU, memory, I/O Units.
Problem solving using computer, notion of an algorithm.

Unit 2-Introduction to Python Programming: Python


interpreter, using python as calculator, python shell,
Week 3 - 4
indentation. identifiers and keywords, literals, strings,
arithmetic, relational and logical operators.

Unit 3- Creating Python Programs: input and output


Week 5 - 7 statements, defining functions, control statements, default
arguments, errors and exceptions.

Unit 4 - Inbuilt Data Structures: Strings, lists, sets,


Week 7 - 9 tuples, nested lists, built-in functions, dictionary and
associated operation.

Unit 5 - Object Oriented Programming: Introduction to


Week 10 - 11 Classes, Objects and Methods, Standard Libraries, File
handling through libraries.

9
Unit 6 - Sorting and Searching: Iterative and Recursive
Week 12 - 15
methods for searching and sorting

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Problem Solving, Control structure, Functions, Strings, Lists, Object Oriented Programming

Database Management Systems


(BSCS02)
Core Course –(CC) Credit:6

Course Objective
The course introduces the students to the fundamentals of database management systems and
methods to store and retrieve data. The course would give students hands-on practice of
structured query language in a relational database management system.

Course Learning Outcomes


Upon successful completion of the course, students will be able to:

1. use database management system to manage data.


2. create entity relationship diagrams for modeling real-life situations and design the
database schema.
3. use the concept of functional dependencies to remove data anomalies and arrive at
normalized database design.
4. write queries using relational algebra and SQL.

Unit 1

Introduction to DBMS: Introduction to Database Management Systems, characteristics of


database approach, data models, DBMS architecture and data independence.

Unit 2

10
Conceptual Modelling using ERD and EERD: Entity Relationship (ER) and Enhanced ER
(EER) modeling, entity types, relationships, relationship constraints, and object modeling.

Unit 3

Relational Data Model and Relational Algebra: Relational data model concepts, relational
constraints, queries in relational algebra.

Unit 4

Introduction to SQL: Data definition and data manipulation queries in SQL.

Unit 5

Database Design: Mapping of ER and EER diagrams to relational database, functional


dependencies, Normalization and normal forms up to third normal form.

Practical
Note: MyAccess/MySQL may be used.
The following concepts must be introduced to the students:
Practicals based on DDL Commands
Create table, alter table, drop table
Practicals based on DML Commands
a) Select, update, delete, insert statements
b) Condition specification using Boolean and comparison operators (and, or,
not,=,<>,>,<,>=,<=)
c) Arithmetic operators and aggregate functions(Count, sum, avg, Min, Max)
d) Multiple table queries (join on different and same tables)
e) Nested select statements
f) Set manipulation using (any, in, contains, all, not in, not contains, exists, not exists,
union, intersect, minus, etc.)
g) Categorization using group by........having
h) Arranging using order by

Queries for the given schema


a) Create tables with relevant foreign key constraints
b) Populate the tables with data
c) Display all the details of all records in table.
d) Display some fields of the records in table.
e) Conditionally display some fields of the records in table.
f) Retrieve all distinct values of an attribute
g) Retrieve records from table for numeric attribute in range
h) Retrieve records that satisfy complex condition.
Queries for typical (Employee, Project, Department) database
a) Retrieve the names of all employees who do not have supervisors
b) Retrieve SSN and department name for all employees

11
c) Retrieve the name and address of all employees who work for the 'Research'
department

More exercises as announced by instructor in the laboratory.

References
1. Elmasri, R., Shamkan, & Navathe, B. (2017). Fundamentals of Database Systems (7th
Edition).Pearson Education.

Additional Resources

1. Ramakrishanan, R., & Gehrke, J. (2002). Database Management Systems (3rd Edition).
McGraw-Hill.

2. Silberschatz, A., Korth, H.F., & Sudarshan, S. (2011). Database System Concepts (6th
Edition). McGraw Hill.

Teaching Learning Process

● Talk and chalk method


● Computer based presentations by teachers.
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Introduction to DBMS:

Introduction to Database Management Systems, characteristics of


Week 1 - 3
database approach, data models, DBMS architecture and data
independence.

Unit 2- Conceptual Modelling using ERD and EERD:

Entity Relationship (ER) and Enhanced ER (EER) modeling,


Week 4 - 6
entity types, relationships, relationship constraints, and object
modeling

Unit 3 - Relational Data Model and Relational Algebra:


Week 7 - 9
Relational data model concepts, relational constraints, queries in

12
relational algebra

Unit 4 - Introduction to SQL:


Week 10 - 11
Data manipulation and data definition queries in SQL

Unit 5- Database Design:

Mapping of ER and EER diagrams to relational database,


Week 12 -15
functional dependencies, Normalization and normal forms up to
third normal form

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
DBMS architecture, Data Independence, Entity modeling, Relational Data
Model, SQL, Normalization

Operating Systems
(BSCS03)
Core Course - (CC) Credit:6

Course Objective

This course introduces Operating System concepts and its importance in computer system. It
focuses on the basic facilities provided in modern operating systems.

Course Learning Outcomes


On successful completion of the course, students will be able to:

13
1. understand the rationale behind the current design and implementation decisions in modern
Operating Systems by considering the historic evolution.

2. identify modules of the operating systems and learn about important functions performed by
operating system as resource manager.

3. use the OS in a more efficient manner.

Unit 1

Introduction: Operating systems, System software, Operating system resources, Operating


System as resource manager.

Unit 2

Types of Operating Systems and Organization: Multiprogramming, batch, time sharing


operating systems, personal computers & workstations. Basic OS functions, mechanisms of
requesting operating system services – system calls and system programs.

Unit 3

Processor Management: Distinction between program and process, process address space,
process states, process scheduling algorithms, process schedulers.

Unit 4

Memory Management: Mapping logical address space to physical address space, fixed
partition, variable partition, paging, segmentation, virtual memory.

Unit 5

File and Input/Output Device Management: Classifications of I/O devices, I/O handling, file
systems services, directory structure, disk storage.

Unit 6

Shell scripting: Shell variables, parameter passing, conditional statements, iterative statements,
writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe, filter, etc.)

Practical
1. Usage of following commands: ls, pwd, tty, cat, who, who am I, rm, mkdir, rmdir, touch,
cd.
2. Usage of following commands: cal, cat(append), cat(concatenate), mv, cp, man, date.
3. Usage of following commands: chmod, grep, tput (clear, highlight), bc.
4. Write a shell script to check if the number entered at the command line is prime or not.
5. Write a shell script to modify “cal” command to display calendars of the specified
months.
6. Write a shell script to modify “cal” command to display calendars of the specified range

14
of months.
7. Write a shell script to accept a login name. If not a valid login name display message –
“Entered login name is invalid”.
8. Write a shell script to display date in the mm/dd/yy format.
9. Write a shell script to display on the screen sorted output of “who” command along with
the total number of users .
10. Write a shell script to display the multiplication table of any number.
11. Write a shell script to compare two files and if found equal asks the user to delete the
duplicate file.
12. Write a shell script to find the sum of digits of a given number.
13. Write a shell script to merge the contents of three files, sort the contents and then display
them page by page.
14. Write a shell script to find the LCD(least common divisor) of two numbers.
15. Write a shell script to perform the tasks of basic calculator.
16. Write a shell script to find the power of a given number.
17. Write a shell script to find the factorial of a given number.
18. Write a shell script to check whether the number is Armstrong or not.
19. Write a shell script to check whether the file have all the permissions or not.
20. Program to show the pyramid of special character “*”.

References

1. Silberschatz, A., Galvin, P.B., & Gagne, G. (2008). Operating Systems Concepts (8th
Edition). John Wiley Publications.

Additional Resources
1. Milenkovic, M. (1992). Operating Systems - Concepts and design. Tata McGraw Hill.
2. Nutt, G. (1997). Operating Systems: A Modern Perspective (2nd Edition). Pearson
Education.
3. Stallings, W. (2008). Operating Systems, Internals & Design Principles (5th Edition).
Prentice Hall of India.
4. Tanenbaum, A.S. (2007). Modern Operating Systems (3rd Edition). New Delhi: Pearson
Education.

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Introduction :
Week 1 - 2
System software, resource abstraction, Operating System

15
strategies, Operating System as resource manager

Unit 2 - Types of operating Systems and organizations


Multiprogramming, batch, time sharing, personal computers &
Week 3 - 5 workstations, Basic OS functions, process modes, methods of
requesting system services – system calls and system programs.

Unit 3- Processor Management:


Distinction between program and process, process address
Week 6 - 7
space, process states, process scheduling algorithms, process
schedulers.

Unit 4 - Memory Management:


Mapping logical address space to physical address space, fixed
Week 8 - 10
partition, variable partition, paging, segmentation, virtual
memory.

Unit 5 - File and Input/Output Device Management:


Week 11 - 13 Classifications of I/O devices, I/O handling, file systems
services, directory structure, disk storage.

Unit 6 - Shell scripting: Shell variables, parameter passing,


conditional statements, iterative statements, writing and
Week 14 - 15
executing shell scripts, utility programs (cut, paste, grep, echo,
pipe, filter, etc.)

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Memory Management, Process Management, File Management, Virtual memory

Computer System Architecture


(BSCS04)
Core Course - (CC) Credit:6

16
Course Objective
The course will introduce students to the fundamental concepts of digital computer organization,
design and architecture. It aims to develop a basic understanding of the design of a computer
system.

Course Learning Outcomes

On successful completion of the course, students will be able to :

1. design combinational circuits using basic building blocks. Simplify these circuits using
Boolean Algebra and Karnaugh maps.

2. differentiate between combinational circuits and sequential circuits

3. represent data in binary form, convert numeric data between different number systems and
perform arithmetic operations in binary.

4. determine various stages of instruction cycle, various instruction formats and instruction set.

5. describe interrupts and their handling.

6. explain how CPU communicates with memory and I/O devices.

Unit 1

Digital Logic Gates, Flipflops and their characteristic table, Logic circuit simplification
using Boolean Algebra and Karnaugh Map, Don’t Care conditions.
Combinational Circuits, Sequential Circuits.

Unit 2

Digital Components: Decoders, Encoders, Multiplexers, Binary Adder, Binary Adder-


Subtractor, Binary Incrementer, Registers and Memory Units

Unit 3

Data Representation: Binary representation of both numeric and alphanumeric data,


representation of numeric data in different number systems (Binary, Octal, Decimal and
Hexadecimal), conversion from one number system to another, complements, representation of
decimal numbers, representation of signed and unsigned numbers, addition and subtraction of
signed and unsigned numbers and overflow detection.

Unit 4

Operations and Control: Arithmetic and logical micro-operations, instruction format, micro
programmed control vs hardwired control, instruction set completeness, Timing and control,

17
instruction cycle, memory reference instructions and their implementation using arithmetic,
logical, program control, transfer and input output micro operations, interrupt cycle.

Unit 5

Instructions: Instruction format illustration using single accumulator organization, general


register organization and stack organization, zero-address instructions, one-address instructions,
two-address instructions and three-address instructions, Addressing Modes

Unit 6

Peripheral Devices: I/O interface, I/O vs. Memory Bus, Isolated I/O, Memory Mapped I/O,
Direct Memory Access

Practical

1. Write a program to convert a number in Radix ‘R’ to radix 10 and vice versa. Test the
same by
a. Converting an unsigned number from binary, octal, hex to decimal.
b. Converting an unsigned number from decimal to binary, octal, hex.
2. Write a program that will prompt for the input of two integer values. Then using the
bitwise shift operators show the result of
a. Left shifting the first number by the second
b. Right shifting the first number by the second
c. Exclusive OR of the first number by the second bitwise
d. OR of the first number by the second bitwise
e. AND of the first number by the second bitwise
3. Write a program that will prompt for the input of a binary value and print:
a. One’s complement
b. Two’s complement
4. Write a program to print the values of a 5 bit binary up-down counter. User should be
able to specify the up or down nature of the counter.
5. Write a program to implement the following binary operations:
a. Addition
b. Subtraction using 2’s complement.

6. Program related to concepts taught in theory

References
1. Mano, M. (1992). Computer System Architecture (3rd Edition). Pearson Education.

Additional Resources

1.Mano, M. (2013). Digital Design. New Jersey: Pearson Education Asia.


2..Null, L., & Lobur, J. (2014). The essentials of computer organization and architecture. Jones
& Bartlett Publishers.
3.Stallings, W. (2003). Computer organization and architecture: designing for performance.

18
India : Pearson Education.
.

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Introduction:
Digital Logic Gates, Flipflops and their characterstic table, Logic
Week 1 - 4 circuit simplification using Boolean Algebra and Karnaugh Map,
Don’t Care conditions.
Combinational Circuits, Sequential Circuits.

Unit 2 - Digital Components:


Week 5 - 6 Decoders, Encoders, Multiplexers, Binary Adder, Binary Adder-
Subtractor, Binary Incrementer, Registers and Memory Units

Unit 3 - Data Representation:


Binary representation of both numeric and alphanumeric data,
representation of numeric data in different number systems (Binary,
Week 7 - 9 Octal, Decimal and Hexadecimal), conversion from one number
system to another, complements, representation of decimal numbers,
representation of signed and unsigned numbers, addition and
subtraction of signed and unsigned numbers and overflow detection.

Unit 4 - Operations and Control:


Arithmetic and logical micro-operations, instruction format, micro
programmed control vs hardwired control, instruction set
Week 10 - 11 completeness, Timing and control, instruction cycle, memory
reference instructions and their implementation using arithmetic,
logical, program control, transfer and input output micro operations,
interrupt cycle.

Unit 5 - Instructions:
Instruction format illustration using single accumulator
Week 12 - 13
organization, general register organization and stack organization,
zero-address instructions, one-address instructions, two-address

19
instructions and three-address instructions, Addressing Modes

Unit 6 - Peripheral Devices:


Week 14 -15 I/O interface, I/O vs. Memory Bus, Isolated I/O, Memory Mapped
I/O, Direct Memory Access

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Combinational circuits, Data representation, Interrupts, I/O interface

Data Structures
(BSCS05A)
Discipline Specific Elective - (DSE) Credit:6

Course Objective
The course introduces the students to the fundamentals of data structures. Students will learn
about arrays, stacks, queues, linked lists, recursion and trees.

Course Learning Outcomes


On successful completion of the course, students will be able to:

1. demonstrate a thorough understanding of the behaviour of basic data structures.


2. implement data structures efficiently in programming language C++.
3. demonstrate an understanding of recursion by applying recursive techniques to solve
problems.

Unit 1

Arrays and Sorting: Single and multi-dimensional arrays, sparse matrices, different sorting
methods including bubble, selection, insertion, merge, quick sort, linear and binary searching.

Unit 2

Stacks: Implementing stack using array, prefix, infix and postfix expressions, application of

20
stacks for conversion of infix to prefix and postfix expressions, evaluation of postfix
expressions.

Unit 3

Queue: Implementing simple queue, circular queues and priority queues using array.

Unit 4

Linked Lists: Single, double and circular lists, implementing stack and queue using linked lists.

Unit 5
Recursion: Recursive solutions to simple problems and their implementation, advantages and
limitations of recursion.

Unit 6

Trees: Introduction to tree as a data structure, binary trees, binary search tree- creation and
traversal techniques.

Practical
a. Implement sorting algorithms using arrays.
b. Implement searching algorithms using arrays and lists.
c. Implement stack data structure and its operations.
d. Convert Prefix expression to Infix and Postfix expressions, and evaluate.
e. Implementing queue using array, circular queues, priority queues.
f. Implementing stack and queue using arrays and linked lists.
g. Implementing recursive solutions to simple problems.
h. Creating and traversing Binary Trees and Binary Search Tree.

References

1. Drozdek, A. (2012). Data Structures and algorithm in C++ (3rd Edition). Cengage
Learning.

Additional Resources
1. Sahni, S. (2011). Data Structures, Algorithms and applications in C++ (2nd Edition).
Universities Press.
2. Tenenbaum, A. M., Augenstein, M. J., & Langsam, Y. (2009). Data Structures Using C
and C++ ( 2nd edition). PHI.

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.

21
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Arrays and Sorting:


Single and multi-dimensional arrays, sparse matrices,
Week 1 – 4 different sorting methods including bubble, selection,
insertion, merge, quick sort, linear and binary
searching

Unit 2 - Stacks:
Implementing stack using array, prefix, infix and
Week 5 – 6 postfix expressions, application of stacks
for conversion of infix to prefix and postfix
expressions, evaluation of postfix expressions

Unit 3 - Queue:
Week 7 – 8 Implementing simple queue, circular queues and
priority queues using array

Unit 4 - Linked Lists:


Week 9 - 11 Single, double and circular lists, implementing stack
and queue using linked lists

Unit 5 - Recursion:
Recursive solutions to simple problems and their
Week 12 – 13
implementation, advantages and limitations of
recursion

Unit 6 - Trees: Introduction to tree as a data structure,


Week 14 – 15 binary trees, binary search tree- creation and traversal
techniques

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

22
Tentative weekly teaching plan is as follows:

Unit 1 - Introduction:
Week 1 - 2 Fundamental steps in digital image processing (DIP),
applications of DIP, components of image processing system,
image types (binary, grayscale, color, truecolor, cartoon).

Unit 2 - Digital Image Fundamentals :


Elements of visual perception (Human eye, electromagnetic
Week 3 - 5
spectrum), Image acquisition, sampling and quantization, basic
relationships between pixels.

UNIT III - Image Enhancement in spatial domain :


Week 6 - 9 Basic gray level transformations, histogram processing,
smoothing and sharpening filters.

Unit 4-Image enhancement in frequency domain:


Week 9 - 10 DCT transform, enhancement filters in frequency domain,
JPEG Image Compression.

Unit 5
Morphological Image processing: Erosion, dilation, opening ,
Week 11 - 13 closing, Hit-or-miss transform, some basic morphological
algorithms including boundary extraction, convex hull,
thinning and thickening.

Unit 6 - Image Segmentation :


Week 14 -15 Detection of discontinuities, edge linking and basic
thresholding.

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Visual perception, Image Segmentation, Fourier transform, DCT transform

Computer Networks
(BSCS06A)
Discipline Specific Elective - (DSE) Credit:06

25
Course Objective
This course provides an overview of the concepts of data communication and computer
networks. Network topologies and their characteristics, different type of networks, transmission
media along with their limitations and use, different protocols used in application layer are
covered.

Course Learning Outcomes


Upon successful completion of the course, students will be able to:

1. understand the basics of data communication.


2. differentiate between various types of computer networks and their topologies.
3. understand the difference between the OSI and TCP/IP protocol suit.
4. explain merits and demerits of different types of communication media.
5. distinguish between different types of network devices and their functions.
6. use IP addressing and understand the need of various application layer protocols.

Unit 1

Introduction: Introduction to data communications and networking, use of Computer Networks,


classification of networks, OSI model, function of the layers, TCP/IP Protocol suite.

Unit 2

Network Topologies: Bus, star, ring, mesh, tree, hybrid topologies with their features,
advantages and disadvantages of each type. Transmission Modes: simplex, half duplex and full
duplex.

Unit 3

Transmission Media: Guided Media (Wired) (Twisted pair, Coaxial Cable, Fiber Optics.
Unguided Media (Radio Waves, Infrared, Micro-wave, Satellite).

Unit 4

Data Communication and Switching Techniques: Framing, flow control, error control, circuit
switching, message switching, packet switching, routing.

Unit 5

Switching Devices: Repeaters, hubs, switches, bridges, routers, gateways. Multiplexing: (FDM,

26
WDM, TDM)

Unit 6

Internet: Internet Service Providers (ISP), internet addressing system: IP address with their
classification and notation, application layer protocols: (DNS, URL, WWW, FTP, SMTP,
HTTP, TELNET), web pages, introduction to HTML.

Practical
1. Simulate Cyclic Redundancy Check (CRC) error detection algorithm for noisy channel.
2. Simulate and implement stop and wait protocol for noisy channel.
3. Simulate and implement go back n sliding window protocol.
4. Simulate and implement selective repeat sliding window protocol.

More exercises as announced by instructor in the laboratory.

References
1. Comer, D. E. (2015). Computer Networks and Internet (6th edition). Pearson
Publication.

Additional Resources
1. Forouzan, B. A. (2017). Data Communications and Networking (5th edition). McGraw
Hill.
2. Tannenbaum, A. S., & Wetherall, D. J. (2011). Computer Networks (5th edition).
Pearson Publication.

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Introduction:
Introduction to data communications and networking,
Week 1 - 2 use of Computer Networks, classification of networks,
OSI model, function of the layers, TCP/IP Protocol
suite.

27
Unit 2 - Network Topologies:
Bus, star, ring, mesh, tree, hybrid topologies with their
Week 3 - 4 features, advantages and disadvantages of each type.
Transmission Modes: simplex, half duplex and full
duplex.

Unit 3 - Transmission Media:Guided Media (Wired)


Week 5 - 6 (Twisted pair, Coaxial Cable, Fiber Optics). Unguided
Media (Radio Waves, Infrared, Micro-wave, Satellite).

Unit 4 - Data Communication and Switching


Techniques: Framing, flow control, error control,
Week 7 - 8
circuit switching, message switching, packet
switching, routing.

Unit 5 - Switching Devices: Repeaters, hubs, switches,


Week 9 - 11 bridges, routers, gateways. Multiplexing: (FDM,
WDM, TDM)

Unit 6 - Internet:
Internet Service Providers (ISP), internet addressing
Week 12 - 15 system: IP address with their classification and
notation, application layer protocols: (DNS, URL,
WWW, FTP, SMTP, HTTP, TELNET), web pages,
introduction to HTML.

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Data communication, Computer Networks, Switching, Internet Protocol, IP address

Analysis of Algorithms
(BSCS06B)
Discipline Specific Elective - (DSE) Credit:6

28
Specifically, the project could be a research study, or a
software development project

Unit 2 -Project Group Organization/Plan


Week 3 - 12

Unit 3 - Project Evaluation


Week 13-15
Continue the project and start report writing.

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● Internal assessment
● End semester exam

Keywords
Software Development, Project planning.

Data Analysis using Python Programming


(BSCS07A)
Skill-Enhancement Elective Course - (SEC) Credit:4

Course Objective

The course enables students to analyse data using python. They will learn how to prepare data
for analysis and create meaningful data visualisations. They will learn to use Pandas, Numpy
and Scipy libraries to work with different data sets.

Course Learning Outcomes


On successful completion of the course, students will be able to:

1. develop a python script for data analysis and execute it.


2. install, load and deploy the required packages.
3. clean and prepare the data for accurate analysis.
4. analyse the data stored in files in different formats.
5. experiment with data visualization methods.

33
Unit 1

Introduction to Pandas, NumPy, SciPy: Introduction to Pandas DataFrames, Numpy multi-


dimentional arrays, and SciPy libraries to work with different datasets.

Unit 2

Import and Export of Data: Installing, loading and using packages for importing and exporting
data in Python.

Unit 3

Data Preprocessing and Transformation: Handling of missing data, Data cleaning and
transformation.

Unit 4

Data Exploration: Exploring data using statistical methods: mean, median, mode, quantiles.
Building contingency table. Basics of grouping data and Correlation.

Unit 5

Data Visualization: Scatter Plot, line graph, histogram, boxplot, line plots regression, word
clouds, exporting plots as images.

Practical
Use data set of your choice from Open Data Portal (https://data.gov.in/) for the following
exercises.

1. Make visual representations of data using libraray Matplotlib and apply basic
principles of data graphics to create rich analytic graphs for available datasets.
2. For the given data,
i. Generate box whisker plot
ii. Identify outliers, if any
iii. Display 5 point summary of data distribution
3. Create a CSV file having employee data records. Each employee record has three
features viz. age, home city and salary. Import employee file and :
i. Draw scatter plot for age vs salary
ii. Plot histogram for features age and salary
iii. Plot Pie chart for the qualitative attribute city
4. Import iris data using sklearn library to:
i. Compute mean, mode, median, standard deviation, confidence interval
and standard error for each feature
ii. Compute correlation between length and width of sepal feature
iii. Find covariance between length of sepal and petal
iv. Build contingency table for class feature

34
5. Download datasets Hepatitis and automobile from UCI repository
i. Find the number of records which are noise free
ii. Clean data after removing noise
iii. Normalize quantitative features in range of [0,1]
6. Practical based on data analysis functions from Pandas, NumPy, SciPy
7. Practical based on visualizing data as Scatter Plot, line graph, histogram, boxplot, line
plots regression, word clouds, and exporting plots as images

Projects and Case Studies to be done as decided by the department in the beginning of the
semester.

References
1. Mckinney, W. (2017). Python for Data Analysis. Second edition, O’reilly (SPD).

Additional Resources
1. Grus, J. (2016). Data Science from scratch. First edition, O’reilly (SPD).
2. VanderPlas, J. (2016). Python Data Science Handbook: Essential Tools for Working
with Data. Second edition, O’reilly (SPD).

Web Resources
https://docs.python.org/3/tutorial/
https://www.python.org/

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.
● Group Discussions
● Unit-wise assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Introduction to Pandas, NumPy, SciPy:


Week 1 – 4 Introduction to Pandas DataFrames, Numpy multi-dimentional
arrays, and SciPy libraries to work with different datasets

Unit 2 - Import and Export of Data:


Week 5 – 7 Installing, loading and using packages for importing and
exporting data in Python

Week 8 – 10 Unit 3- Data Preprocessing and Transformation:

35
Handling of missing data, Data cleaning and transformation

Unit 4 - Data Exploration:


Exploring data using statistical methods: mean, median, mode,
Week 11 – 13
quantiles. Building contingency table. Basics of grouping data
and Correlation.

Unit 5 - Data Visualization:


Week 14 - 15 Scatter Plot, line graph, histogram, boxplot, line plots regression,
word clouds, exporting plots as images.

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Data import and export, Cleaning, Transformation, Data Exploration, Data Visualization

Introduction to R Programming
(BSCS07B)
Skill-Enhancement Elective Course - (SEC) Credit:4

Course Objective

This course introduces statistical programming language R for data analysis. The objective is to
expose the students to the strengths and capabilities of R for data analysis. It also encourages
students to use open source softwares.

Course Learning Outcomes


On successful completion of the course, students will be able to:

1. develop an R script for data analysis and execute it.


2. install, load and deploy the required packages.
3. analyse the data stored in files in different formats.
4. identify suitable data visualization and exploration methods to answer a business
question.
5. interpret the results of analysis.

36
Programming in Java
(BSCS08B)
Skill-Enhancement Elective Course - (SEC) Credit:4

Course Objective
This course introduces fundamental concepts of Object Oriented Programming using Java. Basic
concepts such as data types, expressions, control structures, functions and arrays are covered.
Students are exposed to extensive Java programming to solve practical programming problems.

Course Learning Outcomes


On successful completion of the course, students will be able to:

1. develop and execute Java programs using iteration and selection.


2. create classes and their objects.
3. implement OOPS concepts to solve problems using JAVA

Unit 1

Introduction to Java: Features of Java, JDK environment, structure of Java programs

Unit 2

Programming Fundamentals: Data types, variables, operators, expressions, arrays, keywords,


naming convention, decision making constructs , iteration, type casting, methods.

Unit 3

Object Oriented Programming Overview: Abstraction, encapsulation, inheritance,


polymorphism.

Unit 4

Classes and Objects: Creating classes and objects, modifiers and access control, constructors,
implementation of single and multilevel inheritance, implementation of polymorphism using
overloading, overriding and dynamic method dispatch.

Unit 5

43
Strings: String class methods, string buffer methods.

Practical
9. Write a program to find the largest of n natural numbers.
10. Write a program to find whether a given number is prime or not.
11. Write a menu driven program for following:
a) display a Fibonacci series
b) compute Factorial of a number
c) to check whether a given number is odd or even.
d) to check whether a given string is palindrome or not.
12. Write a program to print the sum and product of digits of an Integer and reverse the
Integer.
13. Write a program to create an array of 10 integers. Accept values from the user in that
array. Input another number from the user and find out how many numbers are equal to
the number passed, how many are greater and how many are less than the number
passed.
14. Write a program that will prompt the user for a list of 5 prices. Compute the average of
the prices and find out all the prices that are higher than the calculated average.
15. Design a class named Car, having registration number, model and engine as its private
members. Here engine is an object of a class called Engine with the private members:
Chassis number and make. Define a suitable constructor of Car and override toString()
Method to print the details of a car. Assume appropriate data types for the instance
Members of the classes. Write a Java program to test the above class.
16. Write a program that computes the area of a circle, rectangle and a Cylinder using
function overloading.

References
1. Horstmann, C. S. (2017). Core Java - Vol. I – Fundamentals (10th Edition). Pearson.

Additional Resources
1. Balagurusamy, E. (2014). Programming with JAVA: A Primer (5th Edition). McGraw
Hill Education (India) Private Limited.
2. Schildt, H. (2018). Java: The Complete Reference (10th Edition). McGraw-Hill
Education.
3. Schildt, H. & Skrien, D. (2013). Java Fundamentals - A comprehensive Introduction.
TMH.

Teaching Learning Process


● Talk and chalk method
● Computer based presentations by teachers.
● Group Discussions
● Assignments

44
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

Unit 1 - Introduction to Java


Week 1 - 2 Features of Java, JDK environment, structure of Java
programs

Unit 2 - Programming Fundamentals


Week 3 - 5 Data types, variables, operators, expressions, arrays,
keywords, naming convention, decision making constructs ,
iteration, type casting, methods.

Week 6 - 7 Unit 3 - Object Oriented Programming Overview


Abstraction, encapsulation, inheritance, polymorphism

Unit 4 - Classes and Objects


Creating classes and objects, modifiers and access control,
Week 8 - 12 constructors, implementation of single and multilevel
inheritance, implementation of polymorphism using
overloading, overriding and dynamic method dispatch

Week 13 - 15 Unit 5 - Strings


String class methods, string buffer methods

Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Abstraction, encapsulation, inheritance, polymorphism.

Advanced Programming in Java


(BSCS09A)
Skill-Enhancement Elective Course - (SEC) Credit:4
Course Objective
This course builds over basic Java language skills acquired by the student in earlier semester.
The students are exposed to the advanced features available in Java such as exception handling,
file handling, interfaces, packages and GUI programming.

45
Assessment Methods
● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the
class
● End semester exam
● Internal assessment

Keywords
Interface, Byte stream,Exception Handling, AWT, Event handling.

Web Design using HTML5


(BSCS09B)
Skill-Enhancement Elective Course - (SEC) Credit:4
Course Objective
The course introduces the basics of HTML5 including CSS styling. It helps students learn how
to plan and design effective web pages and producing effective websites.

Course Learning Outcomes


On successful completion of this course, the student will be able to:

1. define the principles and basics of Web page design.


2. recognize the elements of HTML.
3. apply basic concepts of CSS.
4. publish web pages.

Unit 1

Introduction: Introduction to HTML: What is HTML, HTML Documents, Basic structure of an


HTML document, creating an HTML document, markup tags, heading-paragraphs, line breaks,
HTML tags.

Unit 2

Elements of HTML: Introduction to elements of HTML, Working with Text, Working with
Lists, Tables and Frames, Working with Hyperlinks, Images and Multimedia, Working with
Forms and controls.

Unit 3

48
Introduction to Cascading Style Sheets: Concept of CSS, Creating Style Sheet, CSS
Properties, CSS Styling(Background, Text Format, Controlling Fonts), Working with block
elements and objects, Working with Lists and Tables, CSS Id and Class, Box
Model(Introduction, Border properties, Padding Properties, Margin properties).

Unit 4

CSS Advanced: CSS Advanced(Grouping, Dimension, Display, Positioning, Floating, Align,


Pseudo class, Navigation Bar, Image Sprites, Attribute sector), CSS Color.

Unit 5

Web Designs: Creating page Layout and Site Designs, Creating the Web Site, Saving the web
site, Working on the web site, Creating web site structure, Creating Titles for web pages,
Themes-Publishing web sites.

Practical
1. Creating HTML documents with various elements
2. Implementing Cascading style sheets
3. Creating and hosting websites

More exercises as announced by instructor in the laboratory.


Mini project for creating and hosting websites.

References

1. Boehm, A., & Ruvalcaba, Z. (2018). Munarch’s HTML5 and CCS3 (4th Edition). Mike
Murach & Associates.

Additional Resources
1. Minnick, J. (2015). Web Design with HTML5 and CSS3 (8th Edition). Cengage
Learning.

Teaching Learning Process

● Talk and chalk method


● Computer based presentations by teachers.
● Group Discussions
● Assignments
● Offline and online Quiz
● Presentations by group of students for enhanced learning.

Tentative weekly teaching plan is as follows:

49
Unit I - Introduction:
Week 1 - 3 Introduction to HTML: What is HTML, HTML Documents, Basic
structure of an HTML document, creating an HTML document,
markup tags, heading-paragraphs, line breaks, HTML tags.

Unit 2 - Elements of HTML:


Week 4 - 6 Introduction to elements of HTML, working with text, lists, tables,
frames, hyperlinks, images, multimedia, forms and controls.

Unit 3-Introduction to Cascading Style Sheets:


Concept of CSS, Creating Style Sheet, CSS Properties, CSS Styling
Week 7-10 (Background, Text Format, Controlling Fonts), Working with block
elements and objects, Working with Lists and Tables, CSS Id and
Class, Box Model(Introduction, Border properties, Padding
Properties, Margin properties).

Unit 4-CSS Advanced:


Week 11 - 13 CSS Advanced(Grouping, Dimension, Display, Positioning,
Floating, Align, Pseudo class, Navigation Bar, Image Sprites,
Attribute sector), CSS Color.

Week 14 - 15 Unit 5-Web Designs:


Creating page Layout and Site Designs.

Assessment Methods

● Unit-wise assignments, presentations, viva, quiz,as announced by the instructor in the


class
● End semester exam
● Internal assessment

Keywords

Web Design, HTML, CSS, Web Publishing

Android Programming
(BSCS10A)
Skill-Enhancement Elective Course - (SEC) Credit:4
Course Objective
The course is designed for students to learn to develop android applications. They will learn
android architecture and key principles underlying its design.

Course Learning Outcome

50

You might also like